65,176
社区成员




int i = 0;
char c = 'a';
while(i == 0 && c == 'a')
{
cin>>i>>c;
//cin.clear();
//cin.ignore();
}
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout <<"任意已知边长的三角形面积计算程序\n";
double a,b,c,s,S;
bool quit=false;
do {
cout <<"\n请分别输入三角形三边边长\n";
cout <<"a=";
cin>> a;
cout <<"b=";
cin>> b;
cout <<"c=";
cin>> c;
//*******防止输入非数字导致陷入死循环代码***********
cin.ignore();
cin.clear();
cin.sync();
//****************************
s=(a+b+c)/2;
if ((c> (a+b))==(b> (a+c))==(a> (b+c)))
cout <<"不满足任意两边之和大于等于第三边的要求,错误输入,终止计算\n";
else if (a <=0 ||b <=0 ||c <=0)
cout <<"边长输入含有负数,终止计算\n";
else{
cout <<"\n周长C=" <<s*2 <<endl;
S=sqrt(s*(s-a)*(s-b)*(s-c));
cout <<"面积S=" <<S <<endl;
}
char mh;
cout <<"\n需要退出计算程序吗?“Y”或“N”" <<endl;
cin>> mh;
if((mh=='y') ||(mh=='Y'))
quit=true;
//*******建议开始时初始化*********************
a=0;
b=0;
c=0;
s=0;
S=0;
//*********************************
}
while(!quit);
return 0;
}