该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#define pi 3.14
float rightTriangle(float a,float b)
{
return a*b/2;
}//直角三角形面积
float Triangle(float a,float b,float c)
{
float s=(a+b+c)/2;
return sqrt(s*(s-a)*(s-b)*(s-c));
}//普通三角形面积
float rectangle(float a,float b)
{
return a*b;
}//矩形面积
float square(float a)
{
return a*a;
}//正方形面积
float trapezoidal(float a,float b,float h)
{
return (a+b)*h/2;
} //梯形面积
float cirle(float r)
{
return pi*r*r;
}//圆的面积
void showMenu(void)//显示菜单
{
printf("########################################################\n");
printf("################# 面积计算器 ##################\n");
printf("########################################################\n");
printf("##### 1.计算直角三角形面积 2.计算普通三角形面积 #####\n");
printf("##### 3.计算矩形面积 4.计算正方形面积 #####\n");
printf("##### 5.计算圆形面积 6.计算梯形面积 #####\n");
printf("##### 7.清屏 8.显示菜单 #####\n");
printf("##### 0.退出 #####\n");
printf("########################################################\n");
printf("##### **********请按数字选择相应的功能********** #####\n");
printf("########################################################\n");
}
void clear(void)//清屏
{
system("cls");//调用dos清屏命令
}
void main()//应该是主函数吧
{
char ch;
float a,b,c,h,r;
showMenu();//显示菜单
while(1)
{
flushall();//清除缓冲区,否则上次输入的回车键将再次作为一次输入(加上这段代码就会有问题编译不了,去掉就可以编译成功并运行)
printf("请选择:") ;
ch=getchar();
switch(ch)
{
case '1':
printf("请输入直角三角形的2条边(逗号隔开):");
scanf("%f,%f",&a,&b);
printf("直角三角形的面积为:%f\n",rightTriangle(a,b));
break;
case '2':
printf("请输入三角形的3条边(逗号隔开):");
scanf("%f,%f,%f",&a,&b,&c);
printf("三角形的面积为:%f\n",Triangle(a,b,c));
break;
case '3':
printf("请输入矩形的长和宽(逗号隔开):");
scanf("%f,%f",&a,&b);
printf("矩形的面积为:%f\n",rectangle(a,b));
break;
case '4':
printf("请输入正方形的边长(逗号隔开):");
scanf("%f",&a);
printf("正方形的面积为:%f\n",square(a));
break;
case '5':
printf("请输入圆的半径(逗号隔开):");
scanf("%f",&r);
printf("圆的面积为:%f\n",cirle(a));
break;
case '6':
printf("请输入梯形的半径(逗号隔开):");
scanf("%f,%f,%f",&a,&b,&h);
printf("梯形的面积为:%f\n",trapezoidal(a,b,h));
break;
case '7':
clear();break;
case '8':
showMenu();break;
case '0':
printf("程序结束\n");
exit(0);
}
}
}