特级茶叶 2022-10-16 18:55 采纳率: 78.6%
浏览 95
已结题

用C++编写相关程序1

实验内容:
1、编写一个学生和教师数据输入和显示程序,学生数据有编号,姓名,班级和成绩,教师数据有编号,姓名,职称和部门。要求将编号,姓名输入和显示设计成一个类person,并作为学生数据操作类student和教师数据操作类teacher的基类。
2、合理设计student类、 teacher类以及主函数,完成输入多个学生和教师的信息并显示。

  • 写回答

3条回答 默认 最新

  • qfl_sdu 2022-10-16 19:10
    关注

    下面的代码是通过重载输入输出符来实现的,也可通过函数的方式。

    #include <iostream>
    #include <string>
    using namespace std;
    
    class person
    {
    public:
        string id;
        string name;
    public:
        friend istream& operator >>(istream& is,person &p)
        {
            is >> p.id >> p.name;
            return is;
        }
        friend ostream& operator <<(ostream& os,person& p)
        {
            os << "id:" << p.id << ",name:" << p.name;
            return os;
        }
    };
    
    
    class Student:public person
    {
    public:
        int grade; //班级
        float score;//成绩
    public:
        friend istream& operator >>(istream& is,Student& stu)
        {
            is >> stu.id >> stu.name >> stu.grade >> stu.score;
            return is;
        }
        friend ostream& operator <<(ostream& os,Student& stu)
        {
            os << "id:" << stu.id << ",name:" << stu.name << ",grade:" << stu.grade << ",score:" << stu.score;
            return os;
        }
    };
    
    class teacher :public person
    {
    public:
        string pro; //职称
        string partment; //部门
    public:
        friend istream& operator >>(istream& is,teacher& t)
        {
            is >> t.id >> t.name >> t.pro >> t.partment;
            return is;
        }
        friend ostream& operator <<(ostream& os,teacher& t)
        {
            os << "id:" << t.id << ",name:" << t.name << ",pro:" << t.pro << ",partment:" << t.partment;
            return os;
        }
    };
    
    
    int main()
    {
        Student s1, s2;
        teacher t1, t2;
        cout << "请输入学生1的编号、姓名、班级和成绩:";
        cin >> s1;
        cout << "学生1的信息如下:";
        cout << s1 << endl;
    
        cout << "请输入学生2的编号、姓名、班级和成绩:";
        cin >> s2;
        cout << "学生2的信息如下:";
        cout << s2 << endl;
    
        cout << "请输入教师1的编号、姓名、职称和部门:";
        cin >> t1;
        cout << "教师1的信息如下:";
        cout << t1 << endl;
    
        cout << "请输入教师2的编号、姓名、职称和部门:";
        cin >> t2;
        cout << "教师1的信息如下:";
        cout << t2 << endl;
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 修改了问题 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line