实验任务
设计并实现“个人运算器”,要求如下:
1. 设计欢迎界面;
2. 判断用户输入来实现不同运算(8种及以上的选择);
3. 程序运行一次能够进行多次运算;
4. 根据用户输入决定继续运算或者结束运算;
5. 各运算分别用子函数实现;
6. 代码添加必要的注释;
7. 撰写实验报告。
实验内容
1. 功能需求分析
设计一款运算器,实现八种以上运算。当运行程序时,有提示信息,输入数值后,能跳转到对应的运算,并输出结果,当不想运算时,能结束。
都采用自定义函数实现运算。输入为运算选择值以及运算数,输出为提示内容及运算结果。
用到顺序结构、选择结构和循环结构。
2.算法设计及流程图
1.定义变量
2.输出欢迎信息,提示用户,加法计算请按1,减法计算请按2
3.判断用户按的是几,如按的1,调用加法函数 void B()……
4.自定义函数内要求输入运算数并输出运算结果
5.循环进行2-4步骤,直至用户输入为0,结束循环,即结束运算器
#include<stdio.h>//头文件
#include<math.h>
#include<stdlib.h>
#include<windows.h>
void A(){//自定义函数
printf("\t\t\t欢迎来到我的领域,我正在注视着你。\n\a");
printf("\t\t\t\t加法运算请按1\n");
printf("\t\t\t\t减法运算请按2\n");
printf("\t\t\t\t乘法运算请按3\n");
printf("\t\t\t\t除法运算请按4\n");
printf("\t\t\t\t阶乘运算请按5\n");
printf("\t\t\t\t平方运算请按6\n");
printf("\t\t\t\t开方运算请按7\n");
printf("\t\t\t\t立方运算请按8\n");
printf("\t\t\t\t结束请按0\n");
printf("\t\t\t\t要用哪个赶紧的,快输入:");
}
void B(){
double a,b;
printf("你选择了加法运算,输俩数,记得在两个数字中间加上‘,’输入数吧:");
scanf("%lf,%lf",&a,&b);
printf("%lf+%lf=%lf\n",a,b,a+b);
}
void C(){
double a,b;
printf("减法这么简单,你都要用运算器?\n算了,快输入数吧,记得在两个数字中间加上‘,’输数:");
scanf("%lf,%lf",&a,&b);
printf("%lf-%lf=%lf\n",a,b,a-b);
}
void D(){
double a,b;
printf("不得不说除法运算对你来说可能是有点难了,\n还愣着干什么,在两个数字中间加上‘,’赶紧输入两个数字吧:");
scanf("%lf,%lf",&a,&b);
printf("%lf*%lf=%lf\n",a,b,a*b);
}
void E(){
double a,b;
printf("不得不说除法运算对你来说可能是有点难了,\n还愣着干什么,在两个数字中间加上‘,’赶紧输入两个数字吧:");
scanf("%lf,%lf",&a,&b);
printf("%lf/%lf=%lf\n",a,b,a/b);
}
void F(){
int a,b,c=1;
printf("阶乘运算的确有点难,用上我不算浪费,\n赶紧输入数字吧:");
scanf("%d",&b);
for(a=1;a<=b;a++){
c*=a;
}
printf("%d",c);
}
void G(){
double a;
printf("平方运算也能叫做难,看来是我高估你的智商了,\n输入数吧:");
scanf("%lf",&a);
printf("%lf*%lf=%lf\n",a,a,a*a);
}
void H(){
double a,b;
printf("开方运算难住你了,哎呀,不会吧,\n看来是我高估你的智商了,\n输入数吧:");
scanf("%lf",&a);
b=sqrt(a);
printf("%lf",b);
}
void J(){
double a;
printf("立方运算也能叫做难,看来是我高估你的智商了,\n输入数吧:");
scanf("%lf",&a);
printf("%lf*%lf*%lf=%lf\n",a,a,a,a*a*a);
}
void K(){
printf("完事了?小废物点心,下次自己算。");
}
int main(){//主函数
int I,y;//定义I,y
for(;;){//无限循环
A(); //调用函数
scanf("%d",&I);//输入I值
switch(I){//条件判断
case 1:
B();
break;
case 2:
C();
break;
case 3:
D();
break;
case 4:
E();
break;
case 5:
F();
break;
case 6:
G();
break;
case 7:
H();
break;
case 8:
J();
break;
case 0:
K();
return 0;
}
Sleep(2000);
system("cls"); //清屏
}
}