1 //函数调用
2
3 #include <stdio.h>
4 #include <stdlib.h>
5 #include <math.h>
6 //根据传入的半径,返回圆的面积
7 double calcCircle(double);
8
9 //要对用户输入进行非负的判断
10 int validate(double); //验证输入double 的数值 是否为正数
11
12 //double input(); //输入正确的值,如果不符合,重新输入
13 //矩形
14 double calcRectangle(double,double);
15 //三角形
16 double calcTriangle(double,double);
17
18 int main()
19 {
20
21 double radius;
22 double width,height;
23 double base,heigh;
24 double s;
25 int choice;
26
27 printf("1.圆\n");
28 printf("2.矩形\n");
29 printf("3.三角形\n");
30 printf("本系统只支持计算三种图形的面积,请选择:\n");
31 scanf("%d",&choice);
32
33
34 switch(choice)
35 {
36 case 1:
37
38 printf("请输入圆的半径,我来计算面积:");
39
40 //要对用户输入进行非负的判断
41 do
42 {
43 scanf("%lf",&radius); //录入
44 if(!validate(radius)) // 取反 不是正确的整数,就会有提示!!!
45 {
46 printf("您录入的是负数,请录入整数");
47 }
48
49 }
50 while(!validate(radius)); //当验证不通过的时候,从新录入
51
52 s=calcCircle( radius);//调用
53 break;
54 case 2:
55
56 printf("请输入矩形的长和宽,我来计算面积:");
57 do
58 {
59 scanf("%lf%lf",&width,&height);
60 if(!validate(width) || !validate(height))
61 {
62 printf("您录入的是负数,请录入整数");
63
64 }
65 }
66 while(!validate(width) || !validate(height));
67 //验证通过 ,在调用,计算
68 s = calcRectangle(width, height);
69 break;
70
71 case 3:
72 printf("请输入三角形的底和高,我来计算面积:");
73 do
74 {
75 scanf("%lf%lf",&base,&heigh);
76 if(!validate(base) || !validate(heigh))
77 {
78 printf("您录入的是负数,请录入整数");
79 }
80 }
81
82 while(!validate(base) || !validate(heigh));
83 s = calcTriangle(base,heigh);
84
85
86 break;
87
88 default:
89 printf("本系统只支持3种图形,请在1-3之间选择!!!");
90 }
91
92
93 printf("图形的面积为:%.2lf\n",s);
94 // printf("矩形的面积为:%.2lf\n",s);
95 // printf("三角形的面积为:%.2lf\n",s);
96
97 return 0;
98 }
99
100
101 double calcCircle(double radius)
102 {
103
104 double s = 3.14 *pow(radius,2);
105
106 //返回计算好的面积
107 return s;
108 }
109
110
111
112
113 //矩形
114 double calcRectangle(double width,double height)
115 {
116 return width * height;
117
118 }
119
120
121
122 //三角形
123 double calcTriangle(double base,double heigh)
124 {
125 return base * heigh /2;
126
127 }
128
129
130
131 //验证输入double 的数值 是否为正数
132 int validate(double num)
133 {
134 return num > 0 ; //如果num>0,会返回一个非0值,表示真
135
136 }

最新文章

  1. ubuntu下安装myeclipse 并设置快捷键
  2. Atitit.eclipse 4.3 4.4 &#160;4.5 4.6新特性
  3. Linux的#和$区别
  4. BZOJ1901——Zju2112 Dynamic Rankings
  5. Ubuntu安装Eclips for C/C++及相关配置
  6. js为元素添加onclick事件
  7. php排序之冒泡排序
  8. [linux常用命令]查看当前文件夹或该文件夹下文件(夹)的大小
  9. wl18xx module crash with &quot;wlcore: ERROR ELP wakeup timeout!&quot;
  10. 为什么使用 Containjs 模块化管理工具效率高?
  11. # webpack 3 &amp; React 的简单配置 。
  12. 把elipse非maven的Struts2+Spring+Ibatis项目导入Idea中
  13. SVN项目迁移到Git上(并带有完整的提交记录)
  14. 《SQL 基础教程》第三章:聚合和排序
  15. 20165317JAVA实验二-面向对象程序设计
  16. kali linux wifi破解(aircrack)
  17. 关于Java类和包的那些事
  18. aop 拦截含有特定注解的类
  19. 20170728xlVba SSC_LastTwoDays
  20. JVM gc介绍

热门文章

  1. 9、make和make install的区别
  2. flex中Button事件中的e.target
  3. ps2020 将图片中的字清除 并且不损坏背景图
  4. ps 快速去掉不需要的部分
  5. gRPC(3):拦截器
  6. Datahub 0.8.5发布! 通用的元数据搜索和发现工具
  7. IntelliJ idea 中新建Spring项目 并部署到tomcat
  8. Python之面向对象编程【小明跑步】、【置办家具】
  9. JUnit5的条件测试、嵌套测试、重复测试
  10. C# 8.0和.NET Core 3.0高级编程 分享笔记二:编程基础第二部分