内容:任务2_3,编写计算机菜单并实行运算,再添加几个功能 日期:0401 ----------------------------------------------------------*/ #include "stdio.h" #include "conio.h" #include "stdlib.h" #include "math.h" #define PI 3.1415926 void main() { char opere; int x,y,n,k,fact=1; double r,r1,r2,r3,r4,i,j,h,result; float m,a,b,c,e,x1,x2,max,min; char ch='%'; system("cls"); printf("\n\n"); printf("\t********************************************************\n"); printf("\t 简 单 计 算 器 菜 单 功 能 \n"); printf("\t********************************************************\n"); printf("\n"); printf("\t + --------------加法运算\n"); printf("\t - --------------减法运算\n"); printf("\t * --------------乘法运算\n"); printf("\t / --------------除法运算\n"); printf("\t %c --------------余 数\n", ch); printf("\t ! --------------阶 乘\n"); printf("\t ^ --------------平 方 值\n"); printf("\t @ --------------平 均 值\n"); printf("\t & --------------奇 偶 数\n"); printf("\t J --------------绝 对 值\n"); printf("\t $ --------------极 值\n"); printf("\t ~ --------------方程一元二次的实数根\n"); printf("\t ? --------------根 号\n"); printf("\t A --------------三角函数\n"); printf("\t Y --------------圆的面积和周长\n"); printf("\t S --------------三角形的面积及周长\n"); printf("\t Q --------------球的体积及表面积\n"); printf("\t # --------------退 出\n"); printf("\n"); printf("\t*********************************************************\n"); printf("\n请选择菜单功能(+ - * / % ! ^ @ & J $ ~ #):"); scanf("%c",&opere); if(opere=='!') { printf("请输入你的运算数据(整数):"); scanf("%d",&n); if(n<0) printf("输入错误!\n"); else if(n==0) printf("0!=%d\n",fact); else { for(k=1;k<=n;k++) fact*=k; printf("%d!=%d\n",n,fact); exit(0); } } if(opere=='S') { printf("请分别输入三角形的三条边(逗号隔开):"); scanf("%f,%f,%f",&a,&b,&c); if(a+b<=c&&a-b>=c||a+c<=b&&a-c>=b||b+c<=a&&b-c>=a) printf("不是三角形的三条边,请重新输入!"); else { m=(a+b+c)/2; x1=(float)(sqrt(m*(m-a)*(m-b)*(m-c))); x2=a+b+c; printf("三角形的面积:%f\n三角形的周长:%f\n",x1,x2); } exit(0); } if(opere=='Y') { printf("请输入圆的半径:"); scanf("%lf",&h); if(h<0) printf("半径不小于0,请重新输入!"); else { r1=PI*h*h; r2=2*PI*h; } printf("圆的面积是:%4lf\n圆的周长是:%4lf\n",r1,r2); exit(0); } if(opere=='Q') { printf("请输入球的半径:"); scanf("%lf",&h); if(h<0) printf("半径不小于0,请重新输入!"); else { r3=4/3*PI*h*h*h; r4=4*PI*h*h; } printf("球的体积是:%lf\n球的体积是:%lf\n",r3,r4); exit(0); } if(opere=='A') { printf("请输入度数:"); scanf("%lf",&h); r=h/180*PI; printf("正弦: %lf\n余弦: %lf\n正切: %lf\n", sin(r), cos(r), tan(r)); exit(0); } if(opere=='&') { printf("请输入一个整数:"); scanf("%d",&x); y=x%2; if(y==0) printf("%d为偶数\n",x); else printf("%d为奇数\n",x); exit(0); } if(opere=='J') { printf("请输入一个整数:"); scanf("%f",&m); if(m<0) m=-m; printf("绝对值为%f\n",m); exit(0); } if(opere=='~') { printf("请分别输入系数a,b,c的值(并用逗号','隔开):\n"); scanf("%f,%f,%f",&a,&b,&c); e=b*b-4*a*c; if(e==0) { x1=(-b)/(2*a); printf("x1=x2=%f\n",x1); } if(e>=0) { x1=(float)((-b)+sqrt(e))/(2*a); x2=(float)((-b)-sqrt(e))/(2*a); printf("x1=%0.2f\tx2=%0.2f\n",x1,x2); } if(e<0) printf("方程无实数根\n"); exit(0); } if(opere=='$') { printf("请输入两个值(SP):\n"); scanf("%f %f",&a,&b); max=(a>=b)? a:b; min=(a<=b)? a:b; printf("max=%f\tmin=%f\n",max,min); exit(0); } if(opere=='^') { printf("请分别输入底数和指数(SP):"); scanf("%d %d",&k,&y); if(k==0&&y==0) printf("该函数无意义\n"); else for(x=1;x<=y;x++) fact*=k; printf("%d^%d=%d\n",k,y,fact); exit(0); } if(opere=='?') { printf("请输入一个整数:\n"); scanf("%d",&x); a=(float)sqrt(x); printf("%d的根号是%f\n",x,a); exit(0); } if(opere=='#') exit(0); if(opere=='+'||'-'||'*'||'/'||'%'||'@') printf("请输入两个正整数(SP):\n"); scanf("%lf %lf",&i,&j); switch( opere ) { case '+': printf("%f+%f=%f\n",i,j,i+j); break; case '-': printf("%f-%f=%f\n",i,j,i-j); break; case '*': printf("%f*%f=%f\n",i,j,i*j); break; case '/': printf("%f/%f=%f\n",i,j,i/j); break; case '%': result = (int)i%(int)j; printf("余数为:%f\n",result); break; case '@': printf("(%f+%f)/2=%f\n",i,j,(i+j)/2); break; default: printf("数据输入无效,请按菜单选择重新输入!\n"); }; } /*个人闲暇解闷敲敲,请勿吐槽*/ |
|
来自: _知识库 > 《基础C语言基本功能实现》