搜索
查看: 437|回复: 3
打印 上一主题 下一主题

把面积计算器下一个版本完工了

[复制链接]
跳转到指定楼层
楼主
发表于 2016-3-10 22:27:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
就是增加了立体

  1. #include <stdio.h>
  2. #include <math.h>
  3. #include <stdlib.h>
  4. #define PI ((double)3.1415926535897932)
  5. void author()
  6. {
  7.     printf("作者邀请码 网址http://code.88448.com/\n");
  8.     system("pause");
  9. }
  10. void c2()
  11. {
  12.     system("cls");
  13.     printf("\t请你输入 计算什么\n");
  14.     printf("1.正方形\t2.长方形\t3.三角形\t4.梯形\t5.圆形\n");
  15.     int x;
  16.     scanf("%d",&x);
  17.     while(x<1||x>5)
  18.     {
  19.         fflush(stdin);
  20.         printf("你输入%d是错误请重新输。\n",x);
  21.         scanf("%d",&x);
  22.     }
  23.    
  24.     int a,b,c,h,r,cc,s;
  25.     switch(x)
  26.     {
  27.         case 1:
  28.             printf("输入边长。\n");
  29.             scanf("%d",&a);
  30.             printf("C=%d S=%d\n",a*4,a*a);
  31.             break;
  32.         case 2:
  33.             printf("输入长、宽,中间隔离一个空格。\n");
  34.             scanf("%d%d",&a,&b);
  35.             printf("C=%d S=%d\n",a*2+b*2,a*b);
  36.             break;
  37.         case 3:
  38.             printf("\t请你选择 计算方法\n");
  39.             printf("1.底高计算\t2.海伦公式\n");
  40.             scanf("%d",&cc);
  41.             while(cc<1||cc>2)
  42.             {
  43.                 fflush(stdin);
  44.                 printf("你输入%d是错误请重新输。\n",c);
  45.                 scanf("%d",&c);
  46.             }
  47.             switch(cc)
  48.             {
  49.                 case 1:
  50.                     printf("输入底和高,中间隔开一个空格。\n");
  51.                     scanf("%d%d",&a,&h);
  52.                     printf("S=%d\n",a*h/2);
  53.                     break;
  54.                 case 2:
  55.                     printf("输入三边长度,中间隔开一个空格。\n");
  56.                     scanf("%d%d%d",&a,&b,&c);
  57.                     s=(a+b+c)/2;
  58.                     printf("C=%d S=%lf\n",a+b+c,sqrt((double)s*(s-a)*(s-b)*(s-c)));
  59.                     break;
  60.                 default:
  61.                     break;
  62.             }
  63.             break;
  64.         case 4:
  65.             printf("输入上底、下底、高,中间隔开一个空格。\n");
  66.             scanf("%d%d%d",&a,&b,&h);
  67.             printf("S=%d\n",(a+b)*h/2);
  68.             break;
  69.         case 5:
  70.             printf("输入半径。\n");
  71.             scanf("%d",&r);
  72.             printf("C=%lf S=%lf\n",2.0*PI*(double)r,PI*(double)r*(double)r);
  73.             break;
  74.         default:
  75.             break;
  76.     }
  77.     system("pause");
  78. }
  79. void c3()
  80. {
  81.         system("cls");
  82.         printf("\t请你输入 计算什么\n");
  83.     printf("1.长(正)方体\t2.圆柱体\t3.圆锥\t4.球\n");
  84.     int x;
  85.     scanf("%d",&x);
  86.     while(x<1||x>4)
  87.     {
  88.         fflush(stdin);
  89.         printf("你输入%d是错误请重新输。\n",x);
  90.         scanf("%d",&x);
  91.     }
  92.     int a,b,h,r;
  93.     switch(x)
  94.     {
  95.             case 1:
  96.                     printf("输入长方体的三条棱长\n");
  97.                         scanf("%d%d%d",&a,&b,&h);
  98.                         printf("C=%d S=%d V=%d\n",(a+b+h)*4,2*(a*b+b*h+a*h),a*b*h);
  99.                         break;
  100.                 case 2:
  101.                         printf("输入底面半径&高\n");
  102.                         scanf("%d%d",&r,&h);
  103.                         printf("底面积=%lf S=%lf V=%lf\n",PI*(double)r*(double)r,PI*(double)r*(double)r+2.00*PI*(double)r*h,PI*(double)r*(double)r*h);
  104.                         break;
  105.                 case 3:
  106.                         printf("输入底面半径&高\n");
  107.                         scanf("%d%d",&r,&h);
  108.                         printf("底面积=%lf V=%lf\n",PI*(double)r*(double)r,PI*(double)r*(double)r*h/3.00);
  109.                         break;
  110.                 case 4:
  111.                         printf("输入半径\n");
  112.                         scanf("%d",&r);
  113.                         printf("V=%lf\n",PI*(double)r*(double)r*(double)r*4.00/3.00);
  114.                         break;
  115.                 default:
  116.                         break;
  117.         }
  118.     system("pause");
  119. }
  120. int main()
  121. {
  122.     while(1)
  123.     {
  124.         system("cls");
  125.         printf("\t几何计算 控制台版\n");
  126.         printf("0.作者\t1.平面\t2.立体\t3.退出\n");
  127.         int c;
  128.         scanf("%d",&c);
  129.         while(c<0||c>3)
  130.         {
  131.             fflush(stdin);
  132.             printf("你输入%d是错误请重新输。\n",c);
  133.             scanf("%d",&c);
  134.         }
  135.         switch(c)
  136.         {
  137.             case 0:author();break;
  138.             case 1:c2();break;
  139.             case 2:c3();break;
  140.             case 3:return 0;
  141.         }
  142.     }
  143.     return 0;
  144. }
复制代码

弄个图片显眼点
沙发
 楼主| 发表于 2016-3-11 13:38:33 | 只看该作者
我的机子上fflush(stdin)能用,百度百科(去死,代码空格都没有)维基百科,找不到,即使找到了也就是两个,而且第一个是ISBN检测的C代码,第二个是stdio.h。。百度百科说啊,fflush(stdin)是非标准
板凳
发表于 2016-3-12 17:08:51 | 只看该作者
和我的差不多,还有你能不能上个zip表发c文件
地板
 楼主| 发表于 2016-3-12 21:24:15 | 只看该作者
幻风破晓 发表于 2016-3-12 17:08
和我的差不多,还有你能不能上个zip表发c文件

懒得
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表