永发信息网

C++高手请进!!!!!!!

答案:1  悬赏:0  手机版
解决时间 2021-03-17 08:08
  • 提问者网友:骨子里的高雅
  • 2021-03-16 18:50
C++高手请进!!!!!!!
最佳答案
  • 五星知识达人网友:有你哪都是故乡
  • 2021-03-16 19:31
if (cin>>a) student.set_information();
else if (cin>>b) student.show_information();
else if (cin>>c) student.delete_information();
else (cin>>d) ;return 0;}

上面这段明显有问题。cin>>...返回的不是输入的数据,而是cin对象(这里可以将其理解为 是否输入正确),这样cin>>..>>...>>...这些>>才可以连起来写,你可以看看操作符重载来好好理解这些机制。

所以你只要输入的是整数,永远执行的都是if (cin>>a) student.set_information(); 这一句,除非不是整数,那样输入出错,等待你的下一次输入。这样你再输入一个整数就执行else if (cin>>b) student.show_information(); 这一句,如果你第二次输入的还不是整数那就执行第三个条件。所以根本不是你的本意。

因此必须老老实实地按下面的方法做:
int main()
{
Student student(1,"lifuke",'M',"jisuanji");
int a;
cout<<"欢迎进入学生信息管理系统!"<cout<<"1.添加学生信息请输入a。"<cout<<"2.查询学生信息请输入b。"<cout<<"3.删除学生信息请输入c。"<cout<<"4.退出请输入d。"<
cin >> a;
if (a == 1) student.set_information();
else if (a == 2) student.show_information();
else if (a == 3) student.delete_information();
else (a == 4) ;return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯