分享

VC++6.0计算器简易功能实现

 _知识库 2020-03-09

内容:任务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");

};

}


/*个人闲暇解闷敲敲,请勿吐槽*/

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多