C4700 未初始化的变量,应该使用 cin 获取其值
C4700 Uninitialized Variable, Supposed to get it's value using cin
小
费计算器程序的几个变量有问题。某些变量使用 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;
}
相关文章:
- std::cin 从控制台获取两种不同的变量类型,'storing'以后使用第二种类型?
- 从 cin 获取 c++ 中结构中多个枚举的输入
- 如何使 std::istream 从键盘获取输入(如 std::cin)?
- 当我们声明 cin 为 int 并从 cin 中获取输入并在 cout 中打印 cin 时会发生什么?
- 有没有办法将 getline() 与外部文本文件一起使用,然后重新获得 cin 的控制权以从控制台获取输入?
- 从 R 控制台获取用户输入:Rcpp 和 std::cin
- 如何将字符输入限制为仅获取一个字符串"cin"
- 使用C - CIN获取几个整数数字,然后将它们放入数组中
- 使用cin获取类的枚举类型
- 通过从 CIN 获取运算符的输入创建类>>
- 在C++中,有没有一种简单的方法可以通过iostream::cin获取带有参数的命令调用
- C4700 未初始化的变量,应该使用 cin 获取其值
- 尝试从 cin 获取输入时陷入循环
- 使用cin.get()从cin获取输入
- 从scanf和cin获取变量
- c++ cin.获取一行到字符数组
- 从cin获取方向键
- 从cin获取输入并将其存储在一个字符变量中
- 仅从std::cin获取第一个值
- 使用getline而不是cin获取结构时的错误