C函数调用(2)

  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 }

 

posted on 2021-07-28 10:35  Bytezero!  阅读(34)  评论(0编辑  收藏  举报