该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include
#include
#define ESC 27
#define UP 72
#define DOWN 80
#define ENTER 13
int cursor=0;
float area_1(float b1,float b2,float jd);
float area_2(float a,float b,float c);
float area_3(float d,float h);
void mymenu(int cur);
void keyscan(void);
void exec(void);
void sanbian(void);
void liangbianhejiao(void);
void dihegao(void);
void gotoxy(int x,int y)
{
COORD c={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), c);
}
float area_1(float b1,float b2,float jd)
{
return 0.5*b1*b2*sin(jd*1/180*3.14);
}
float area_2(float a,float b,float c)
{
float s;
s=0.5*(a+b+c);
return sqrt(s*(s-a)*(s-b)*(s-c));
}
float area_3(float d,float h)
{
return 0.5*d*h;
}
void mymenu(int cur)
{
static int flag=1;
if(flag==1)
{
gotoxy(28,1);
printf("三角形面积计算程序,请选择:");
gotoxy(30,2);
printf("1.已知三边长计算面积");
gotoxy(30,3);
printf("2.已知两边长和夹角计算面积");
gotoxy(30,4);
printf("3.已知底边和高计算面积");
gotoxy(30,5);
printf("4.退出程序");
flag=0;
}
switch(cur)
{
case 0:
gotoxy(30,2);
break;
case 1:
gotoxy(30,3);
break;
case 2:
gotoxy(30,4);
break;
case 3:
gotoxy(30,5);
break;
}
}
void main(void)
{
system("cls");
while(1)
{
mymenu(cursor);
keyscan();
}
}
void keyscan(void)
{
unsigned char c1;
if(kbhit())
{
c1=getch();
switch(c1)
{
case UP:
if(cursor==0)
cursor=3;
else
cursor--;
break;
case DOWN:
if(cursor==3)
cursor=0;
else
cursor++;
break;
case ENTER:
exec();
break;
}
}
}
void exec(void)
{
switch(cursor)
{
case 0:
sanbian();
break;
case 1:
liangbianhejiao();
break;
case 2:
dihegao();
break;
case 3:
exit(0);
break;
}
}
void sanbian(void)
{
float a,b,c;
gotoxy(30,7);
printf("请输入三边长");
scanf("%f%f%f",&a,&b,&c);
gotoxy(30,9);
if(a+b>c&&a+c>b&&b+c>a)
printf("面积是:%f",area_2(a,b,c));
else
printf("无法构成三角形");
}
void liangbianhejiao(void)
{
float a,b,C;
gotoxy(30,7);
printf("请输入两边a,b:");
scanf("%f%f", &a,&b);
gotoxy(30,9);
printf("请输入夹角:");
scanf("%f", &C);
gotoxy(30,11);
printf("面积是:%f",area_1(a,b,C));
}
void dihegao(void)
{
float d,h;
gotoxy(30,7);
printf("请输入底和高:");
scanf("%f%f", &d,&h);
gotoxy(30,9);
printf("面积是:%f",area_3(d,h));
}