跳转语句——C++

来源:百度知道 编辑:UC知道 时间:2024/06/20 09:01:44
#include<iostream>
using namespace std;
void check(int input,int a,int b);
int input,a,b;
void main()
{
cout<<"*********************************查询*********************************"<<"\n";
cin>>input;
check(input,a,b);
system("pause");
}
void check(int intput,int a,int b)
{
switch(input)
{
case 1:
a=1,b=1;
break;
case 2:
a=2,b=2;
break;
default:
cout<<"无效字符"<<"\n";
}
cout<<a<<"\t"<<b<<endl;
}
-------------------------------------------------------------
我用的是Microsoft Visual C++6.0英文企业版,以上程序通过编译。
-------------------------------------------------------------
这个程序在主函数中调用了函数check,但是有一个缺点:输入无效字符后,还会输出两个零。
-------------------------------------------------------------
原本我可以再case的1和2里面直接输出a和b

这个可能涉及到一些函数调用技巧
利用main函数的递归就可以了

#include<iostream>
using namespace std;
void check(int input,int a,int b);
int input,a,b;
void main()
{
cout<<"*********************************查询*********************************"<< endl;
cin>>input;
check(input,a,b);
}
void check(int intput,int a,int b)
{
switch(input)
{
case 1:
a=1,b=1;
break;
case 2:
a=2,b=2;
break;
default:
{
cout<<"无效字符"<<"\n";
main(); //递归main()函数
}
}
cout<<a<<"\t"<<b<<endl;
system("pause");
exit(1);
}

#include<iostream>
using namespace std;
void check(int input,int a,int b);
int input,a,b;
void main()
{
cout<<"********************************