【发布时间】:2022-11-16 20:25:23
【问题描述】:
所以问题是存储 11 个学生的 ID 并将他们的跑步存储在板球比赛中 运行次数必须大于 10 并且学生的 ID 号必须是唯一的 我只是在创建一个条件时遇到问题,即当用户输入相同的值时,程序应该告诉该值已经存在并添加一个不同的值。l
#include <iostream>
using namespace std;
void main(){
int id[5];
int run[5];
int a,b,c,d,e,f;
for(int i=0;i<5;i++){
for(int j=i;j<5;j++){
cout<<"Enter id"<<i<<endl;
cin>>id[i];
if(id[i]==id[j])
{cout<<"same id exists";
cin>>id[i];}
cout<<"Enter runs of student \n";
do{
cout<<"Runs must be greater or equal to 10 \n";
cin>>run[i];
} while(run[i]<10);
}
}
system("pause");
【问题讨论】:
-
循环在错误的地方。您不想让用户输入 5 x 5 次。您想将用户输入 5 次,然后将 id 与其他 5 个进行比较(实际第 n 个输入必须仅与其他 n-1 个 id 进行比较)
-
请多使用标点符号以方便阅读。
-
这是学习如何使用调试器的好机会。它会告诉你你的代码做了什么,你会看到它与它应该做的有什么不同。修复它只是一小步
-
您已经知道如何检查用户输入,您正在使用 run-cin,使用 do-while-loop 来完成它。为什么不对第一个输入尝试相同的方法,而是对 ID 进行尝试?注意:您需要重新设计 for 循环以及何时执行什么。也许将 i 重命名为 student_idx 并将 j 重命名为 run_idx 以了解原因。
标签: c++