Tính diện tính,chuvi các hình dưới dạng 1 menu.
Code em viết nó bị lỗi, nên sửa lại như nào mới đúng vậy ạ?
#include <math.h>
using namespace std;
void menu ()
{
int choose;
cout<<"1.hinhvuong"<<endl;
cout<<"2.hinhchunhat"<<endl;
cout<<"3.hinhtron"<<endl;
cout<<"4.hinhtamgiac"<<endl;
cin>>choose;
switch (choose)
{
case 1:
schinhvuong();
break;
case 2:
schinhchunhat();
break;
case 3:
schinhtron();
break;
case 4:
schinhtamgiac();
break;
default: cout<<"Nhap 1-4";
}
}
void schinhchunhat ()
{
double a,b;
cout<<"nhap a,b"<<endl;
cin>>a>>b;
if (a<0 || b<0)
cout<<"canh khong duoc <0";
else
cout<<"s="<<a*b<<", cv="<< (a+b)*2;
}
void schinhtamgiac ()
{
double a,b,c,s,p,cv;
cout<<"nhap a,b,c"<<endl;
cin>>a>>b>>c;
if (a<0 || b<0 || c<0)
cout<<"canh tam giac khong duoc <0";
else
{
if (a>=b+c || b>=a+c || c>=a+b)
cout<<"khong thanh tam giac";
else
{
p=(a+b+c)/2;
cv=p*2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
cout<<"chu vi la:"<<cv<<endl;
cout<<"dien tich la:"<<s<<endl;
if (a==b==c)
cout<<"tam giac deu";
else
if (a==b || a==c || b==c)
cout<<"tam giac can";
else
if ((a*a+b*b==c*c)||(b*b+c*c==a*a)||(a*a+c*c==b*b))
cout<<"Tam giac vuong!";
else
cout<<"tam giac thuong!";
}
}
}
void schinhvuong ()
{
int a,b;
cout<<"nhap a,b"<<endl;
cin>>a>>b;
if (a<0)
cout<<"canh phai >=0";
else
cout<<"s="<<a*a<<", cv="<<4*a;
}
void schinhtron ()
{
double r;
cout<<"Nhap r"<<endl;
cin>>r;
if (r<0)
cout<<"r phai >=0";
else
cout<<"s="<<3.14*r*r<<", cv="<<2*3.14*r;
}
int main()
{
menu();
return 0;
}