问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

...减法、乘法和除法。两个操作数由用户从键盘上输入。

提问网友 发布时间:2024-10-24 02:17
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2024-10-27 12:30

刚学不久,将就用吧

win8.1下用gcc编译通过,运行没问题

#include <stdio.h>

void getOption(int *popt);
void getNumbers(double *pa, double *pb, int option);
double calc(double a,double b, int option, double *presult);
void printResult(double a, double b, int option, double result);

int main()
{
int option = 0;
double a = 0.0;
double b = 0.0;
double result = 0.0;
do
{
getOption (&option); //显示菜单,读选项
if (option != 5)
{
getNumbers(&a, &b, option);//读两个操作数,若为除法,判别除数不为零若除数为零,要求用户重新输入
calc(a, b ,option, &result);// 完成运算,并返回结果
printResult(a, b, option, result);// 输出表达式及结果
}
} while (option!=5);
return 0;
}

void getOption(int *popt)//显示菜单,读选项
{
printf("1、加法  2、减法  3、乘法  4、除法  5、退出\n请输入菜单项:");
while(scanf("%d",popt)!=1)fflush(stdin);//防止误输入程序崩溃
fflush(stdin);
while(*popt>5 || *popt<1)
{
printf("请输入1~5的数字,请重新输入:");
while(scanf("%d",popt)!=1)fflush(stdin);
fflush(stdin);
}
}

void getNumbers(double *pa, double *pb, int option)//读两个操作数
{
printf("请输入两个操作数:");
scanf("%lf %lf",pa,pb);
if(option == 4)//若为除法,判别除数不为零若除数为零,要求用户重新输入
while(*pb == 0)
{
printf("除数不能为0,请重新输入除数:");
scanf("%lf",pb);
}
}

double calc(double a, double b, int option, double *presult)// 完成运算,并返回结果
{
switch(option)
{
case 1:
*presult = a + b;
break;
case 2:
*presult = a - b;
break;
case 3:
*presult = a * b;
break;
case 4:
*presult = a / b;
break;
default:
break;
}
return *presult;


}

void printResult(double a, double b, int option, double result)// 输出表达式及结果
{
switch(option)
{
case 1:
printf("%lf + %lf = %lf\n",a,b,result);
break;
case 2:
printf("%lf - %lf = %lf\n",a,b,result);
break;
case 3:
printf("%lf × %lf = %lf\n",a,b,result);
break;
case 4:
printf("%lf ÷ %lf = %lf\n",a,b,result);
break;
default:
break;
}
printf("\n");


}


本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

...实现四则运算。提示:1)由用户输入两个数和运算数;2)使用异常处理_百... ...要求只能输入一行,输入两个操作数和一个操作符? ...要求输入两个操作数和一个操作符,根据操作符决定所进行的运算_百度... 我有一瓶泸州头曲,盒子上写的是荣获八五年农牧厅优质奖,侧面写的是为... 佳明(Garmin)运动手表支持哪些应用程序? QQ里的好友分组、名称备注全都消失了? QQ分组图标都变成了这样是怎噩梦回事 昨天还好好的。求高人 ...最近发现靠近卫生间的卧室墙体底部前几天是渗水,但是下了两_百度知... 5岁孩子如何学习第二语言? ...买支口红,不知道什么颜色的比较适合她。我妈妈48岁,皮肤较黑,唇色... 48岁的女人用什么颜色的口红? 华硕笔记本电脑怎么关机? 洗手间门口的墙掉皮, 如何知道自己的电脑被反站维修后有没有被别人动了手脚? 初一什么成绩算优秀? 华硕笔记本电脑装的win7系统关机不了,我强制关机重启后电脑最下排系统... 得了慢性烟炎怎么治 烘干机哪家便宜些? 夏季祛痘吃什么食物好 我妹妹今年11岁,身高145,胸部开始发育,我想带她去医院检查,身高有没... ...要求输入两个操作数和一个操作符,根据操作符决定所进行的运算_百度... 编织棒针钩针编织 ...要求只能输入一行,输入两个操作数和一个操作符? 初学iOS开发我在xcode里面写东西老是在哪一行前面出现红的都东西,有... ...实现四则运算。提示:1)由用户输入两个数和运算数;2)使用异常处理_百... ...减法、乘法和除法。两个操作数由用户从键盘上输入。 11岁怎样才能让皮肤变白小妙招吗 上海农化展 菏泽银座卖电脑么??知道的告诉下高分! xcode5发布程序出现找不到icon,怎么解决 我家住一楼,卫生间靠近主管道的地漏,楼上只要一冲水,就往我家反水,请问... 菏泽有哪些大型的商场 菏泽银座卖电脑么??知道的告诉下高分! 怎样关闭win10系统的开机声音? 菏泽都有哪些商场 菏泽有哪些家具城 老师要求小菜使用面向对象的思想编写一个计算器,可以实现两个数的加... 大家好 我是08年的2.5v6的天籁 请问我的空调制冷不 请问菏泽银座 naturewise维生素d3和欧普兰哪个好
Top