作业15
#include <iostream>
#include <string>
using namespace std;
class People
{
public:
string number;
string name;
string id_number;
public:
People(){};
People(string number1,string name1,string id_number1)
{
number=number1;
name=name1;
id_number=id_number1;
}
void input();//输入函数
void output();//输出函数
};
void People::input()
{
cin>>number;
cin>>name;
cin>>id_number;
}
void People::output()
{
cout<<" number:"<<number<<" name:"<<name
<<" id_number:"<<id_number;
}
//子类
class Student:public People
{
public:
string Class;//班级
string Major;//专业
public:
Student(){};
Student(string number1,string name1,string id_number1,
string class1,string major1):People(number1,name1,id_number1)
{
Class=class1;
Major=major1;
}
void input();
void output();
bool operator==(const Student &);
};
//子类成员函数定义
void Student::input()
{
People::input();//调用基类input()
cin>>Class>>Major;
}
void Student::output()
{
People::output();
cout<<" Class:"<<Class<<" Major:"<<Major<<endl;
}
//调用运算符重载函数
bool Student::operator==(const Student &s)
{
if (number==s.number)
{
cout<<"两个学生的学号相同,不合法!";
exit(1);
}
else return 1;
}
//子类graduate,研究生
class Graduate:public Student
{
public:
string teacher;//导师
public:
Graduate(){};
Graduate(string number1,string name1,string id_number1,
string class1,string major1,string teacher1):Student(number1,name,id_number1,
class1,major1)
{
teacher=teacher1;
}
void input();
void output();
};
void Graduate::input()
{
Student::input();
cin>>teacher;
}
void Graduate::output()
{
Student::output();
cout<<" teacher:"<<teacher<<endl;
}
//主函数
int main()
{
Student s1,s2;
Graduate g;
cout<<"请输入第一个本科生的信息:"<<endl;
s1.input();
cout<<"请输入另一个本科生的信息:"<<endl;
s2.input();
s1==s2;//调用==重载函数,用来判断两个学生的学号是否相同
cout<<"请输入研究生的信息"<<endl;
g.input();
cout<<endl;
cout<<"显示两个本科生信息:"<<endl;
s1.output();s2.output();
cout<<"显示研究生信息:"<<endl;
g.output();
return 1;
}
作业16
#include <iostream>
#include <stdlib.h>
using namespace std;
const double PI=3.1415926;
class Point //基类
{
public:
int x,y;
public:
Point(int xx,int yy)
{
x=xx;
y=yy;
}
int Getx()
{
return x;
}
int Gety()
{
return y;
}
friend ostream &operator<<(ostream &,const Point &);
};
ostream &operator<<(ostream &show,const Point &p) //友元函数定义
{
show<<"("<<p.x<<","<<p.y<<")"<<endl;
return show;
}
class Circle:public Point
{
public:
int r;
public:
Circle(int xx,int yy,int rr):Point(xx,yy) //子类与基类相关联
{
r=rr;
}
int Getr()
{
return r;
}
double circumferen() const //常函数,求周长
{
return 2*PI*r;
}
double area() const
{
return PI*r*r;
}
friend ostream &operator<<(ostream &,const Circle &);
};
ostream &operator<<(ostream &show,const Circle &c)
{
show<<"("<<c.x<<","<<c.y<<"),半径"<<c.r<<",周长:"<<c.circumferen()<<"面积:"<<c.area()<<endl;
return show;
}
class Cylinder:public Circle //圆柱类
{
private:
int h;
public:
Cylinder(int xx=0,int yy=0,int rr=0,int hh=0):Circle(xx,yy,rr)
{
h=hh;
}
int Geth()
{
return h;
}
double Cy_area() const
{
return 2*Circle::area() + 2*PI*r*h;
}
double volume() const
{
return Circle::area()*h;
}
friend ostream &operator<<(ostream &,const Cylinder &);
};
ostream &operator<<(ostream &show,const Cylinder &cy)
{
show<<"("<<cy.x<<","<<cy.y<<"),半径"<<cy.r<<",表面积:"<<cy.Cy_area()<<"体积:"<<cy.volume()<<endl;
return show;
}
//主函数
int main()
{
Point objP(3,5);
cout<<"横坐标的值:"<<objP.Getx()<<" ";
cout<<"纵坐标的值:"<<objP.Gety()<<endl;
Circle objC(3,5,9);
cout<<"圆的半径:"<<objC.Getr()<<endl;
cout<<"圆的周长:"<<objC.circumferen()<<endl;
cout<<"圆的面积:"<<objC.area()<<endl;
Cylinder objCy(3,5,9,12);
cout<<"圆柱的表面积:"<<objCy.Cy_area()<<endl;
cout<<"圆柱的体积:"<<objCy.volume()<<endl;
return 1;
}
作业17
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
class student
{
private:
string name;
int age;
public:
string getName()
{
return name;
}
void setName(string name1)
{
name=name1;
}
int getAge()
{
return age;
}
void setAge(int age1)
{
age=age1;
}
};
int main()
{
int i;
student stu[2];
string name1;
int age1;
cout<<"请输入两个学生的信息:"<<endl;
for (i=0;i<2;i++)
{
cin>>name1>>age1;
stu[i].setName(name1);
stu[i].setAge(age1);
}
for (i=0;i<2;i++)
{
cout<<"姓名:"<<"\t"<<stu[i].getName();
cout<<" 年龄:"<<"\t"<<stu[i].getAge()<<endl;
}
//将学生信息存入文件夹中
ofstream f;
f.open("d:\\student.txt",ios::out);
f<<"姓名"<<"\t"<<"年龄"<<endl;
f<<"---------------------------"<<endl;
for (i=0;i<2;i++)
{
f<<stu[i].getName()<<"\t"<<stu[i].getAge()<<endl;
}
return 1;
}
posted on
浙公网安备 33010602011771号