第八章
来源:互联网 发布:霍兰德得分数据图表 编辑:程序博客网 时间:2024/04/28 00:22
1:
#include <iostream>
#include <cmath>
using namespace std;
double q(double,double,double);
void main()
{double a,b,c,p,x1,x2;
cout<<"please enter a,b,c:";
cin>>a>>b>>c;
p=-b/(2*a);
try
{x1=p+q(a,b,c);
x2=p-q(a,b,c);
cout<<"x1="<<x1<<endl<<"x2="<<x2<<endl;
}
catch(double d)
{cout<<"a="<<a<<",b="<<b<<",c="<<c<<",disc="<<d<<",error!"<<endl;}
cout<<"end"<<endl;
}
double q(double a,double b,double c)
{double disc;
disc=b*b-4*a*c;
if (disc<0) throw disc;
return sqrt(disc)/(2*a);
}
2:
#include <iostream>
#include <string>
using namespace std;
class Student
{public:
Student(int n,string nam)
{cout<<"constructor-"<<n<<endl;
num=n;name=nam;}
~Student(){cout<<"destructor-"<<num<<endl;}
void get_data();
private:
int num;
string name;
};
void Student::get_data()
{if(num==0) throw num;
else cout<<num<<" "<<name<<endl;
cout<<"in get_data()"<<endl;
}
void fun()
{Student stud1(1101,"tan");
stud1.get_data();
try
{Student stud2(0,"Li");
stud2.get_data();
}
catch(int n)
{cout<<"num="<<n<<",error!"<<endl;}
}
int main()
{cout<<"main begin"<<endl;
cout<<"call fun()"<<endl;
fun();
cout<<"main end"<<endl;
return 0;
}
3:
//main file
#include <iostream>
using namespace std;
#include "xt8-3-h1.h"
#include "xt8-3-h2.h"
using namespace std;
using namespace student1;
int main()
{Student stud1(1001,"Wang",18,"123 Beijing Road,Shanghua");
stud1.show_data();
student2::Student stud2(1102,"Li",'f',89.5);
stud2.show_data();
return 0;
}
//header1.h,文件名为xt8-3-h1.h
#include <string>
namespace student1
{class Student
{public:
Student(int n,string nam,int a,string addr)
{num=n;name=nam;age=a;address=addr;}
void show_data();
private:
int num;
string name;
int age;
string address;
};
void Student::show_data()
{cout<<"num:"<<num<<" name:"<<name<<" age:"<<age
<<" address:"<<address<<endl;
}
}
#include <string>
namespace student2
{class Student
{public:
Student(int n,string nam,char s,float sco)
{num=n;name=nam;sex=s;score=sco;}
void show_data();
private:
int num;
string name;
char sex;
float score;
};
void Student::show_data()
{cout<<"num:"<<num<<" name:"<<name<<" sex:"<<sex
<<" score:"<<score<<endl; }
}