运算器设计与实现

实验任务

设计并实现“个人运算器”,要求如下:

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"); 	//清屏		
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值