这是我的代码,需要根据他的教师编号对学生进行检查,如果没有信息要说...
cout<<"Enter faculty number of the student(8 digits): "<<endl;
cin>>ch;
cout<<"Information about student with number:"<<ch<<endl;
for(i=0;i<n;i++)
{
if(m[i][0]==ch)
{
for(j=0;j<4;j++)
cout<<setprecision(8)<<m[i][j]<<"\t";
}
else if(m[i][0]!=ch)
{
cout<<"No information about this student"<<endl;
}
}
它工作得很好,问题是如果我的“n”(这个代码中输入的学生数量)是3 ...我们将有3个学生,并且“for”的周期将被制作3次。我们输入1名学生(实际上我们正在键入1个教员编号),当我启动该程序时,它会显示有关该学生的完整信息,并在两个新行上显示“没有关于该学生的信息”。 我不能把IF检查出那个FOR与N,因为我需要滚动m [i] ...谢谢
答案 0 :(得分:2)
我对此代码有一些建议。
1)如果要求学生有多个条目,那么在找到条目后检查m[i][0] == ch
是有意义的。我怀疑没有,在这种情况下你应该尽快使m[i][0] == ch
。
2)cout<<"No information about this student"<<endl;
不应该在循环中,因为它会打印n - 1
次(如果ch
确实是有效ID,否则为n
次)。之后进行相关检查。