作业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 2021-07-04 16:02  HuJiao粉  阅读(47)  评论(0)    收藏  举报