如题,希望哪位高手给予解答.
c语言中如何控制整型变量不接收字符
- 提问者网友:我的未来我做主
- 2021-06-08 18:48
- 五星知识达人网友:酒安江南
- 2021-06-08 19:03
帮你修改了. 你看看jm()函数的加粗部分.
#include <stdio.h>
#include <conio.h>
#include <process.h>
//主界面
int jm( )
{
int x;
printf( "这是一个简易的计算器,可以完成两个数的+、-、*、/运算\n" );
printf( "==================================================\n" );
printf( "\t\t********主菜单********\n" );
printf( "\t\t1、加法运算\n" );
printf( "\t\t2、减法运算\n" );
printf( "\t\t3、乘法运算\n" );
printf( "\t\t4、除法运算\n" );
printf( "\t\t5、退出\n" );
printf( "===================================================\n" );
printf( "请输入你要进行的操作(输入的数据在1~5之间)\n" );
scanf( "%d", &x );
if( x!=1 && x!=2 && x!=3 && x!=4 && x!=5 )//控制输入,确保输入正确
{
printf( "您的输入有误!请重新输入\n" );
fflush( stdin ); //加上这句,清空输入缓存区.否则字符会一直留在缓存区.
scanf( "%d", &x );
}
return x;
}
//加法运算函数
int jiafa( )
{
int a, b, c;
printf( "您当前进行的是加法运算\n请输入您要计算的两个数据(输入时两个数之间请以空格隔开)\n" );
scanf( "%d%d", &a, &b );
c = a + b;
return c;
}
//减法运算函数
int jianfa( )
{
int a, b, c;
printf( "您当前进行的是减法运算\n请输入您要计算的两个数据(输入时两个数之间请以空格隔开)\n" );
scanf( "%d%d", &a, &b );
c = a - b;
return c;
}
//乘法运算函数
int chengfa( )
{
int a, b, c;
printf( "您当前进行的是乘法运算\n请输入您要计算的两个数据(输入时两个数之间请以空格隔开)\n" );
scanf( "%d%d", &a, &b );
c = a * b;
return c;
}
//除法运算函数
float chufa( )
{
float a, b, c;
printf( "您当前进行的是除法运算\n请输入您要计算的两个数据(输入时两个数之间请以空格隔开)\n" );
scanf( "%d%d", &a, &b );
c = a / b;
return c;
}
//主函数
int main( )
{
int x;
x = jm( );
while( x != 5 )
{
switch( x )
{
case 1:
printf( "结果为:%d\n", jiafa( ) );
break;
case 2:
printf( "结果为:%d\n", jianfa( ) );
break;
case 3:
printf( "结果为:%d\n", chengfa( ) );
break;
case 4:
printf( "结果为:%f\n", chufa( ) );
break;
}
printf( "\t\t\t按任意键返回主菜单!\n" );
getch( );
system( "cls" );
x = jm( );
if( x == 5 )
printf( "欢迎使用本软件!谢谢!再见!" );
}
}
- 1楼网友:迟山
- 2021-06-08 21:56
- 2楼网友:山君与见山
- 2021-06-08 20:23