常量变量乘以用户输入

时间:2013-09-10 08:23:58

标签: c++ variables constants user-input

我一直在尝试创建一个简单的程序,通过将输入与常量变量{{1}相乘,用户输入成功命中数totalHits后,可以显示总分数导致另一个变量; POINTS

我不认为创建这样的程序会有任何问题,但像往常一样,我错了。当我运行程序score总是随机的,即使我输入'1'作为{{ 1}}每一次。它可以在444949349到-11189181之间进行区分,仅举几个例子。我不知道我做错了什么,所以如果有人能给我一个关于下一步该做什么的线索,那就太好了。)

以下是代码:

score

非常感谢KerrekSB和Paddyd为我提供了正确的答案。这是带注释的完成代码:

totalHits

1 个答案:

答案 0 :(得分:2)

int totalHits;
int score = totalHits * POINTS;

您将乘以未初始化的变量(totalHits)!在进行此计算之前,您需要将值应用于totalHits。

尝试使用以下代码:

const int POINTS = 50;
int totalHits;
int score;

cout << "Please enter the ammount of successful hits: ";
cin >> totalHits;
cout << "You hit " << totalHits << " targets, and your ";
score = totalHits * POINTS;                   //totalHits has a value here
cout << "score is " << score << " ." << endl;

cin.ignore(cin.rdbuf()->in_avail() + 2);
return 0;