无法将修改的内容保存输出,string xin怎么输出?
string z;
char x;
bool opFlag = true;
while (opFlag)
{
system("cls");
cout << "**********************************************" << endl;
cout << "* 修改学生信息 *" << endl;
cout << "* 输入0退出信息修改 *" << endl;
cout << "**********************************************" << endl;
cout << "输入待修改信息的学生学号:";
cin >> z;
cout << "学生信息如下:" << endl;
if (z == "0")
{
opFlag = false;
}
else {
for (int k = 0; k < _studentInfo.size(); k++)
{
if (_studentInfo[k]._num == z)
{
system("cls");
cout << "**************************** 成绩列表 ******************************" << endl;
cout << " 学号, 姓名, 性别, 班级名称, 考勤, 作业, 实验, 考试, 总评" << endl;
_studentInfo[k].display();
cout << "**********************************************" << endl;
cout << "* 1:修改学号 *" << endl;
cout << "* 2:修改姓名 *" << endl;
cout << "* 3:修改性别 *" << endl;
cout << "* 4: 修改班级 *" << endl;
cout << "* 5: 修改考勤成绩 *" << endl;
cout << "* 6: 修改作业成绩 *" << endl;
cout << "* 7: 修改实验成绩 *" << endl;
cout << "* 8: 修改考试成绩 *" << endl;
cout << "* 0: 返回上一级菜单 *" << endl;
cout << "**********************************************" << endl;
cout << "请输入您的选择:";
cin >> x;
string xin;
switch (x) {
case'1':
{cout << "请输出新的学号:";
cin >> xin;
_studentInfo[k]._num == xin;
cout << "修改后学生成绩如下:" << endl;
cout << " 学号, 姓名, 性别, 班级名称, 考勤, 作业, 实验, 考试, 总评" << endl;
_studentInfo[k].display();
cout << "选择继续修改的内容:";
cin >> x; }
break;
case'2':
break;
case'3':
break;
case'4':
break;
case'5':
break;
case'6':
break;
case'7':
break;
case'8':
break;
case'9':
break;
case'0':opFlag = false;
break;
}
}
如果你想将修改后的学号输出到屏幕上,可以在输出学号之前加上 cout 命令,例如:
cout << "修改后学号为:" << xin << endl;
如果你想将修改后的学号保存到变量中,可以使用赋值运算符,例如:
_studentInfo[k]._num = xin;
注意,在上述代码中,应该使用单等号 = 而不是双等号 ==。
(1)string类型比较需要用compare()函数。
(2)建议x改成int类型,case中用 1,不要用'1'
代码修改如下:
string z;
int x; //改成int类型
bool opFlag = true;
while (opFlag)
{
system("cls");
cout << "**********************************************" << endl;
cout << "* 修改学生信息 *" << endl;
cout << "* 输入0退出信息修改 *" << endl;
cout << "**********************************************" << endl;
cout << "输入待修改信息的学生学号:";
cin >> z;
cout << "学生信息如下:" << endl;
if (z.compare("0")==0) //这里修改为compare()比较
{
opFlag = false;
}
else {
for (int k = 0; k < _studentInfo.size(); k++)
{
if (_studentInfo[k]._num.compare(z)==0) //这里修改为compare()比较
{
system("cls");
cout << "**************************** 成绩列表 ******************************" << endl;
cout << " 学号, 姓名, 性别, 班级名称, 考勤, 作业, 实验, 考试, 总评" << endl;
_studentInfo[k].display();
cout << "**********************************************" << endl;
cout << "* 1:修改学号 *" << endl;
cout << "* 2:修改姓名 *" << endl;
cout << "* 3:修改性别 *" << endl;
cout << "* 4: 修改班级 *" << endl;
cout << "* 5: 修改考勤成绩 *" << endl;
cout << "* 6: 修改作业成绩 *" << endl;
cout << "* 7: 修改实验成绩 *" << endl;
cout << "* 8: 修改考试成绩 *" << endl;
cout << "* 0: 返回上一级菜单 *" << endl;
cout << "**********************************************" << endl;
cout << "请输入您的选择:";
cin >> x;
string xin;
switch (x) {
case 1:
{cout << "请输出新的学号:";
cin >> xin;
_studentInfo[k]._num == xin;
cout << "修改后学生成绩如下:" << endl;
cout << " 学号, 姓名, 性别, 班级名称, 考勤, 作业, 实验, 考试, 总评" << endl;
_studentInfo[k].display();
cout << "选择继续修改的内容:";
cin >> x; }
break;
case 2:
break;
case 3:
break;
case 4:
break;
case 5:
break;
case 6:
break;
case 7:
break;
case 8:
break;
case 9:
break;
case 0:opFlag = false;
break;
}
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!