/***********************************************************************
作者: 好心情
日期: 2007-08-22
描述: 根据用户的选择,计算出长方形,三角形,圆形的面积
***********************************************************************/
#include<stdio.h>
#define PI 3.14
void main()
{
//声明变量,s表示面积,a,b,h,r分别表示长(底边)宽高和半径
float a,b,h,r;
double s;
int choice;
char ans;
do{
//初始化,显示用户选择菜单
printf("\t请选择形状的类型\n");
printf("\n\t1.长方形");
printf("\n\t2.三角形");
printf("\n\t3.圆形");
printf("\n\t4.退出\n");
printf("\n请输入(1.2.3.4)选择 ");
scanf("%d",&choice);
switch(choice)
{
case 1: printf("\n请输入长方形的长和宽用','分开 ");
scanf("%f,%f",&a,&b);
s=a*b;
printf("\n长方形的面积s= %.2f\n\n要重新选择吗(Y/N) ",s);
fflush(stdin);//必须加如此条命令,否则会出错.scanf会将缓冲区中的数据读入
scanf("%c",&ans);
break;
case 2: printf("\n请输入三角形的底边长和高用','分开 ");
scanf("%f,%f",&a,&h);
s=a*b/2;
printf("\n三角形的面积s= %.2f\n\n要重新选择吗(Y/N) ",s);
fflush(stdin);
scanf("%c",&ans);
break;
case 3: printf("\n请输入圆形的半径 ");
scanf("%f",&r);
s=PI*r*r;
printf("\n圆形的面积s= %.2f\n\n要重新选择吗(Y/N) ",s);
fflush(stdin);
scanf("%c",&ans);
break;
case 4: printf("\n 确定要退出程序吗?(Y/N)\n ");
fflush(stdin);
scanf("%c",&ans);
if(ans=='Y'||ans=='y')
ans='n';
else
ans='Y';
break;
default:printf("\n选项错误!!是否重新输入(Y/N)\n");
fflush(stdin);
scanf("%c",&ans);
}
}while(ans=='Y'||ans=='y');
}
文章评论(0条评论)
登录后参与讨论