C4700 未初始化的变量,应该使用 cin 获取其值

C4700 Uninitialized Variable, Supposed to get it's value using cin

本文关键字:cin 获取 初始化 变量 C4700      更新时间:2023-10-16

费计算器程序的几个变量有问题。某些变量使用 cin 获取其值,而不是在代码本身中声明。如果我尝试输入默认值,程序甚至不会查看输入值。所以就像如果我将每个设置为 0,最后计算的总金额将是 0。

int main()

int numberofDollars;
int numberofQuarters;
int numberofDimes;
int numberofNickles;
int numberofPennies;
string name;
const float dollar = 1.00;
const float quarter = 0.25;
const float dime = 0.10;
const float nickle = 0.05;
const float penny = 0.01;
float valueofDollars = numberofDollars * dollar;
float valueofQuarters = numberofQuarters * quarter;
float valueofDimes = numberofDimes * dime;
float valueofNickles = numberofNickles * nickle;
float valueofPennies = numberofPennies * penny;
double totalDeposit = valueofDollars + valueofQuarters + valueofDimes + valueofNickles + valueofPennies;
cout << "Enter account owner's name: ";
getline(cin, name);
cout << "Enter number of Dollars: ";
cin >> numberofDollars;
cout << "Enter number of Quarters: ";
cin >> numberofQuarters;
cout << "Enter number of Dimes: ";
cin >> numberofDimes;
cout << "Enter number of Nickles: ";
cin >> numberofNickles;
cout << "Enter number of Pennies: ";
cin >> numberofPennies;
cout << "Account Name: " << name << endl;
cout << "Total Deposit = $" << totalDeposit << endl;



system("pause");
return 0;

您在读取变量之前使用它们。你不能像你所做的那样将变量声明为一些计算。在将值放入变量,您必须计算值。

当你说

float valueofDollars = numberofDollars * dollar;

的意思是"计算此时变量值的乘法并存储它"。这并不意味着"每次变量更改时都要计算这个"。因此,在读取变量后移动所有这些变量。

您首先计算未初始化的值,然后读取硬币数量并且在读取它们后不使用它们。

我想这就是你想做的:

#include <iostream>
using namespace std;
int main() {
    double  numberofDollars, numberofQuarters,
            numberofDimes, numberofNickles,
            numberofPennies;
    string name;
    const double quarter = 0.25, dime = 0.10,
                nickle = 0.05, penny = 0.01;
    double  valueofDollars, valueofQuarters, valueofDimes,
            valueofNickles, valueofPennies, totalDeposit;
    cout << "Enter account owner's name: ";
    getline(cin, name);
    cout << "Enter number of Dollars: ";
    cin >> numberofDollars;
    cout << "Enter number of Quarters: ";
    cin >> numberofQuarters;
    cout << "Enter number of Dimes: ";
    cin >> numberofDimes;
    cout << "Enter number of Nickles: ";
    cin >> numberofNickles;
    cout << "Enter number of Pennies: ";
    cin >> numberofPennies;
    valueofDollars = numberofDollars;
    valueofQuarters = numberofQuarters * quarter;
    valueofDimes = numberofDimes * dime;
    valueofNickles = numberofNickles * nickle;
    valueofPennies = numberofPennies * penny;
    totalDeposit = valueofDollars + valueofQuarters + valueofDimes + valueofNickles + valueofPennies;
    cout << "Account Name: " << name << endl;
    cout << "Total Deposit = $" << totalDeposit << endl;
    return 0;
}