永发信息网

c语言中如何控制整型变量不接收字符

答案:3  悬赏:40  手机版
解决时间 2021-06-09 08:17
  • 提问者网友:我的未来我做主
  • 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
你可以找C中的将字符强制转换成整形的函数
  • 2楼网友:山君与见山
  • 2021-06-08 20:23
整型变量可以接受字符?????要字符变量吧!char才行!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯