3,881
社区成员
发帖
与我相关
我的任务
分享
#include < iostream >
#include < fstream >
#include < cmath >
#include < vector >
#include < iomanip >
#include < string >
using namespace std;
class Triangle {
double sizeA, sizeB, sizeC, area;
public:
Triangle() {}
void setArea() {
double p = (sizeA + sizeB + sizeC) *0.5;
area = sqrt( p * (p - sizeA) * (p - sizeB) * (p - sizeC) );
}
void setSizeA(double a) {
sizeA = a;
}
void setSizeB(double b) {
sizeB = b;
}
void setSizeC(double c) {
sizeC = c;
}
void set(vector &);
};
//***************************************
//* 成员函数:set
//* 参 数 :向量对象的引用
//* 返回值 :无
//* 功能 :为向量赋值并将向量存入文件
//***************************************
void Triangle :: set(vector & v ) {
Triangle t;
double a, b, c;
while(1) {
cout<<"三角形,边A:";
cin>>a;
if(a == -1)//结束符为-1
{
ofstream writeFile;
char fileName[20];
cout<<"输入要保存到的文件名:";
cin>>fileName;
cout<<"保存到文件:"<< fileName << endl;
writeFile.open(fileName);
if(writeFile.fail()) {
cout<<"没有正确建立文件!"<< endl;
return;
}
for(int i=0; i< v.size(); i++)
writeFile<< v[i].sizeA <<" "<< v[i].sizeB <<" "<< v[i].sizeC <<" "<< v[i].area << endl;
writeFile.close();
cout<<"一共写入"<< v.size() <<"个三角形信息"<< endl;
return;
}
cout<<"三角形,边B:";
cin>> b;
cout<<"三角形,边C:";
cin>> c;
if( a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a ) {
t.setSizeA(a);
t.setSizeB(b);
t.setSizeC(c);
t.setArea();
v.push_back(t);
} else
cout<<"不能组成三角形,重新输入"<< endl;
}
}
void main() {
vector tri;
Triangle triangle;
triangle.set(tri);
}
#include < iostream >
#include < fstream >
#include < cmath >
#include < vector >
#include < iomanip >
#include < string >
using namespace std;
class Triangle
{
double sizeA, sizeB, sizeC, area;
public:
Triangle(){}
void setArea()
{
double p = (sizeA + sizeB + sizeC) *0.5;
area = sqrt( p * (p - sizeA) * (p - sizeB) * (p - sizeC) );
}
void setSizeA(double a)
{
sizeA = a;
}
void setSizeB(double b)
{
sizeB = b;
}
void setSizeC(double c)
{
sizeC = c;
}
void set(vector &);
};
//***************************************
//* 成员函数:set
//* 参 数 :向量对象的引用
//* 返回值 :无
//* 功能 :为向量赋值并将向量存入文件
//***************************************
void Triangle :: set(vector & v )
{
Triangle t;
double a, b, c;
while(1)
{
cout<<"三角形,边A:";
cin>>a;
if(a == -1)//结束符为-1
{
ofstream writeFile;
char fileName[20];
cout<<"输入要保存到的文件名:";
cin>>fileName;
cout<<"保存到文件:"<< fileName << endl;
writeFile.open(fileName);
if(writeFile.fail())
{
cout<<"没有正确建立文件!"<< endl;
return;
}
for(int i=0; i< v.size(); i++)
writeFile<< v[i].sizeA <<" "<< v[i].sizeB <<" "<< v[i].sizeC <<" "<< v[i].area << endl;
writeFile.close();
cout<<"一共写入"<< v.size() <<"个三角形信息"<< endl;
return;
}
cout<<"三角形,边B:";
cin>> b;
cout<<"三角形,边C:";
cin>> c;
if( a>0 && b>0 && c>0 && a+b>c && a+c>b && b+c>a )
{
t.setSizeA(a);
t.setSizeB(b);
t.setSizeC(c);
t.setArea();
v.push_back(t);
}
else
cout<<"不能组成三角形,重新输入"<< endl;
}
}
void main()
{
vector tri;
Triangle triangle;
triangle.set(tri);
}
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。
提醒:再牛×的老师也无法代替学生自己领悟和上厕所!
单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。