内容:任务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");
};
}
/*个人闲暇解闷敲敲,请勿吐槽*/
联系客服