“儿童”计算器

来源:互联网 发布:什么是协同过滤算法? 编辑:程序博客网 时间:2024/06/09 18:56

/*pxyjune*/
/*hpu*/
#include<stdio.h>
#include<math.h>
#include<string.h>
main()
{
 char G;
 int a;
  void vop1();
  void vop2(int i,int n);
  double vop3();
  void vop4();
  void vop5();
  void vop6();
printf("欢迎进入简单计算器,是否进行运算(Y/N)\n");
  
  scanf("%c",&G);
 if(G=='N')
 loop: printf("谢谢使用\n");
  else if(G=='Y')
 {
 {
 printf("请选择运算类型\n");
 printf("(1)进位转化\n(2)四则运算\n(3)指数运算\n(4)阶乘运算\n(5)三角函数运算\n(6)结束运算\n**********************************************\n");
 }
 while(scanf("%d",&a)!=EOF){
 switch(a)
 {
 case 1: vop1();
  printf("*******************谢谢使用*******************\n");break;
 case 2: vop3();
  printf("*******************谢谢使用*******************\n");break;
 case 3: vop4();
  printf("*******************谢谢使用*******************\n");break;
 case 4: vop5();
  printf("*******************谢谢使用*******************\n");break;
 case 5: vop6();
  printf("*******************谢谢使用*******************\n");break;
  case 6:goto loop;
 default:printf("你逗我呢?\n\n\n"); printf("**********************************************");
 }
 printf("\n\n************您还可以重新选择类型**************\n(1)进位转化\n(2)四则运算\n(3)指数运算\n(4)阶乘运算\n(5)三角函数运算\n(6)结束运算\n**********************************************\n\n");
 }

  } 
  else
  printf("输入错误,谢谢使用(其实你就是在逗我玩!)");
}
/*********************************主函数***********************************/
 void vop1() //进位
{
 int a,x,n;
 printf("几进制数进行转化\n");
 scanf("%d",&a);
 if(a==10)
 {
 printf("请输入要转化的数A和转化进制B并以空格分开\n");
 scanf("%d%d",&x,&n);
 vop2(x,n);
 }
 else if(a==8)
 {
 printf("请输入要转化的数A和转化进制B并以空格分开\n");
 scanf("%o%d",&x,&n);
 vop2(x,n);
 }
 else if(a==16)
 {
 printf("请输入要转化的数A和转化进制B并以空格分开\n");
 scanf("%x%d",&x,&n);
 vop2(x,n);
 }
 else if(a==2)
 printf("请将二进制数按位各位以次*2的n次方后作为十进制数计算\n");
 else
 printf("这样是没法儿算滴!!!\n");
 }
 void  vop2(int i,int n)
{
char s[128];
itoa(i,s,n);//(要转化的数,转化后的数,进位制)
printf("%s\n",s);
}

double vop3()//四则运算 
{
 double x,y;
//int g;
char z;
printf("请输入两个数\n");
scanf("%lf%lf",&x,&y);
printf("您想这两个数怎样?\n");
getchar();
scanf("%c",&z);
switch (z){
case '+':printf("%lf\n",x+y);break;
case '-':printf("%lf\n",x-y);break;
case '*':printf("%lf\n",x*y);break;
case '/':printf("%lf\n",x/y);break;
case '%':printf("%d\n",(int)x%(int)y);break;
default:printf("您这样不好吧\n");
}
}
void vop4()//指数运算 
{
 double x,y,z;
 printf("请依次输入底数与指数,中间用空格分开\n");
 scanf("%lf%lf",&x,&y);
 z=pow(x,y);//可算小数指数,负数指数
 printf("%lf\n",z);
}

void vop5()//阶乘运算 
{
 int x,a,i;
 printf("您想求谁的阶乘\n");
 scanf("%d",&x);
 a=1;
 for(i=1;i<=x;i++)
 a=a*i;
 printf("%d\n",a);
}
void vop6()//三角函数运算 
{
  double x,s,t,u;//涉及到tan的角度不能取π/2,所以就一下全出了
 double cos(double x);
 printf("请输入角度(0<=x<=2π)\n");
 scanf("%lf",&x);
 s=cos(x);
 t=sin(x);
 u=tan(x);
 printf("cosX=%4.2lf\nsinX=%4.2lf\ntanX=%4.2lf\n",s,t,u);
}


0 0
原创粉丝点击