面积计算器
调试了好久也没有从default再次进入switch
希望大神一起改进
第二次发布!!!
#include<stdio.h>
#include <stdlib.h>
#include<math.h>
double calculateround(double);
double calculatesan(double,double);
double calculatechang(double,double);
int panduan(double);
int main ()
{
int choose;
double r,s;
double w ,h;
printf("*************本应用程序只能执行一次且不能循环执行****************\n");
printf("------------------------只有三个选项由---------------------------\n");
printf("1、计算圆的面积!\n");
printf("2、计算三角形的面积!\n");
printf("3、计算长方形的面积!\n");
printf("-----------------------------------------------------------------\n");
printf("请输所计算的面积的选项:\n");
scanf ("%d",&choose);
switch (choose)
{
case 1:printf("请输入圆的半径:\n");
do
{
scanf("%lf",&r);
if(!panduan(r))
{
printf("请输入正确的数值,本程序只支持正数,请重新输入:");
}
}while(!panduan(r));
s = calculateround(r);
break;
case 2:printf("请输入三角形的宽和高:\n");
do
{
scanf("%lf%lf",&w,&h);
if(!panduan(w)||!panduan(h))
{
printf("请输入正确的数值,本程序只支持正数,请重新输入:");
}
}while(!panduan(w)||!panduan(h));
s= calculatesan( w, h);
break;
case 3:printf("请输入三角形的宽和高:\n");
do
{
scanf("%lf%lf",&w,&h);
if(!panduan(w)||!panduan(h))
{
printf("请输入正确的数值,本程序只支持正数,请重新输入:");
}
}while(!panduan(w)||!panduan(h));
s= calculatechang(w,h);
break;
default:
printf("请输入正确的选项:");
}
printf("所需计算的面积为:%.2lf\n",s);
return 0;
}
int panduan(double num)
{
return num>0;
}
double calculateround(double r)
{
double s=3.14 * pow(r,2);
return s;
}
double calculatesan(double w,double h)
{
double s = w *h/2;
return s;
}
double calculatechang(double w,double h)
{
double s = w *h;
return s;
}