CornIT 2020-03-09 09:58 采纳率: 0%
浏览 489
已采纳

请问大佬们,我设置的switch case语句不进行跳转并且无限循环下面的菜单,请问问题出在哪里?

#include/*9.从键盘上输入若干人学生的成绩,输出其中的最高成绩和最低成绩,当输入负数时结束输入。*/
using namespace std;
void showmean(); /*菜单*/
void write(int a,int b,int c,int d,int m,int n); /*键入*/
void write2(int c,int d,int e,int g,int m,int n);
void out(int m,int n); /*输出*/
int main ()
{
showmean();
int work;
cin>>work;
while(work!=3)
{
switch(work)
{
case 1:void write();break;
case 2:void out();break;
default:cout<<"sorry,you enter wrong number !"< }
showmean();
int work;
}
system("pause");
cout return 0;
}
void showmean()/*菜单*/
{
cout cout cout cout cout cout }
void write(int a,int b,int c,int d,int m,int n) /*写入系统*/ /*成绩存入,a,b作为输入动量,m是高项,n是低项*/
{
cout cin>>a;
cout<<"students score : "< cin>>b;
m=b,n=b;
cout<<"-enter 1--- continue to input"< cout cin>>c;
switch(c)
{
case 1:void write2(int c,int d,int e,int g,int m,int n);break;
case 2:void showmean();break;
default:cout<<"sorry,you enter wrong number !"<<endl;
}
}

void out (int m,int n) /*输出数据*/
{
cout<<"the highest score :"< cout }
void write2 (int c,int d,int e,int g,int m,int n) /*输入副本(d是无意义值)*/
{
do
{
cout cin>>d;
cout<<"students score : "< cin>>e;
if(e>m)m=e;
else if(e cout cout cin>>g;
}while(g==2);
switch(g)
{
case 2:void showmean();break;
default:cout<<"sorry,you enter wrong number !"<<endl;
}
}

展开全部

  • 写回答

1条回答 默认 最新

  • 码上夏雨 2020-03-09 10:21
    关注

    你的程序就不完整,里面非常多的句法错误,而且命名也不规范,可读性几乎没有,针对你说的switch部分的语句,我做了部分修改,其它部分因为实在残缺不全我没办法帮你解决,这是代码:

    switch (work)
            {
            case 1:void write(); break;
            case 2:void out(); break;
            default:cout << "sorry,you enter wrong number !" << endl; break;
            }
    

    我看了你这部分的代码,大致理解为你之所以程序无法跳出在于switch语句中的break只能跳出switch循环,而你的switch包含在while循环中,你并没有设置跳出条件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部