void opt3()
{
cout << "ENTER STUDENT NAME>";
cin >> Assigned[Col][Row];//Get New Assignment of Student Name at appropriate Col and Row
Col++;
cout << "ENTER COURSE ID>";
cin >> Assigned[Col][Row];//Get new Assignement of class at appropriate Col and Row
Row++;
return;
}
void opt7(int& Col, int& Row)
{
cin.clear();
cin.ignore();
int x,y,z;
string CouC;
cout << "ENTER COURSE ID>";
getline(cin,CouC,'\n');
bool Ans;
do
{
for (int i=0;i<Row;i++)
{
for (int j=0;j<Col;j++)
{
x = j;
y = i;
Ans = CouC.compare(Assigned[j][i]);
if(Ans)
z=j;
//Compares until it finds the right course ID woop and then sets it to arr$
}
}
}while (Ans == false);
for (y=0;y<10;y++)
{
cout << Assigned[z][y];//Print out the students in the course
}
这就是我的代码问题部分。我很难将学生存放在所需的课程中,然后根据所选课程打印出来。我试图将我的阵列Assigned [] []与适当的用户输入进行比较,我似乎无法弄明白。我目前没有编译错误只有逻辑错误。运行它时我的输出看起来很奇怪。它通常会打印一个随机的学生姓名,并输入课程名称。
帮助将不胜感激,谢谢!
答案 0 :(得分:0)
看起来需要明确定义二维数组Assigned
的含义。
填充opt3()
的函数Assigned
做了一些奇怪的事情:它需要学生和课程,并为学生创建一个新列,为课程创建一个新行。因此,此函数似乎使用Assigned
作为矩阵,但它同时添加了新学生和新课程。此矩阵的值也是学生和课程ID的混合,并且它有许多未使用的值。这没有多大意义。
如果该功能的目的是输入哪个学生选择哪个课程,那么它应该取决于Assigned
的含义
true
或