C++ 递增在 If else 语句中不起作用
C++ Incrementing Not Working in If Else statement
我正在尝试创建一个程序,允许用户输入五位评委给出的分数。但是,一旦到达第三个法官的分数,用于标记法官#的增量就停止工作,我相信这与它在if/else语句中有关。这是我的代码:
#include <iostream>
#include <string>
using namespace std;
string name;
string city;
double highestScore;
double lowestScore;
double totalScore;
void main()
{
cout << " Report to the media" << endl;
cout << "Enter the diver name: ";
getline(cin, name);
cout << endl;
cout << "Enter the diver's city: ";
getline(cin, city);
cout << endl;
int count = 0;
double score1, score2, score3, score4, score5;
int judgeNum = 0;
judgeNum ++;
cout << "Enter the score given by judge #" << judgeNum << ": ";
cin >> score1;
if (score1 < 0 || score1 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score1;
}
cout << endl;
count ++;
while (count <= 5)
{
judgeNum ++;
count ++;
cout << "Enter the score given by judge #" << judgeNum << ": ";
if (judgeNum = 2)
{
cin >> score2;
if (score2 < 0 || score2 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score2;
}
}
else
{
if (judgeNum = 3)
{
cin >> score3;
if (score3 < 0 || score3 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score3;
}
}
else
{
if (judgeNum = 4)
{
cin >> score4;
if (score4 < 0 || score4 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score4;
}
}
else
{
if (judgeNum = 5)
{
cin >> score5;
if (score5 < 0 || score5 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score5;
}
}
}
}
}
cout << endl;
}
cout << score1 << score2 << score3 << score4 << score5;
}
if (judgeNum = 2)
将 judgeNum 设置为 2,然后检查 judgeNum 的新值是否为 "truthy"(非零(。由于新值为 2,因此它将始终为 2,并且 judgeNum 将始终在此处设置为 2,然后递增。
在 C、C++ 和大多数其他语言中,相等性是使用两个=
来确定的,如 if (judgeNum == 2)
。首先尝试修复它。
除了 kdmurray91 的答案
正确的一个
using namespace std;
string name;
string city;
double highestScore;
double lowestScore;
double totalScore;
void main()
{
cout << " Report to the media" << endl;
cout << "Enter the diver name: ";
getline(cin, name);
cout << endl;
cout << "Enter the diver's city: ";
getline(cin, city);
cout << endl;
int count = 0;
double score1, score2, score3, score4, score5;
int judgeNum = 0;
judgeNum ++;
cout << "Enter the score given by judge #" << judgeNum << ": ";
cin >> score1;
if (score1 < 0 || score1 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score1;
}
cout << endl;
count ++;
while (count <= 5)
{
judgeNum ++;
count ++;
cout << "Enter the score given by judge #" << judgeNum << ": ";
if (judgeNum == 2)
{
cin >> score2;
if (score2 < 0 || score2 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score2;
}
}
else
{
if (judgeNum == 3)
{
cin >> score3;
if (score3 < 0 || score3 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score3;
}
}
else
{
if (judgeNum == 4)
{
cin >> score4;
if (score4 < 0 || score4 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score4;
}
}
else
{
if (judgeNum == 5)
{
cin >> score5;
if (score5 < 0 || score5 > 10)
{
cout << endl;
cout << "Score must be between 1 and 10. Please re-enter score: ";
cin >> score5;
}
}
}
}
}
cout << endl;
}
cout << score1 << score2 << score3 << score4 << score5;
}
相关文章:
- 为什么我的 if else 语句不起作用并从数组中输出正确的索引?
- C++ 中断语句不起作用
- 我的代码应该接受一个数字,并返回字母等级或"Grade is not valid"但 else 语句不起作用
- 切换语句不起作用 c++ 和 D:\c++ dev-c\Makefile.win 目标"abc.o"的配方失败
- C++ SQLite3 准备的删除语句不起作用
- std::cin 语句不起作用 C++
- 为什么我的 if 语句不起作用
- if 语句不起作用并被跳到 else 部分
- 如果宏中的语句不起作用
- 为什么嵌套如果语句不起作用
- SQLLITE UPDATE语句不起作用
- 选择在 Sqlite 数据库中有效,但插入和更新语句不起作用
- 我的 1 行 if-else 语句不起作用
- 如果统计语句不起作用
- 如果语句不起作用 VS2010
- 如果-否则语句不起作用
- 若该语句不起作用,则该语句为真
- 若语句不起作用,我希望它能起作用
- 为什么这个"if"语句不起作用?
- 如果带有字符串的语句不起作用