實驗:編寫一個人員信息管理系統。這個系統的功能是:交互式的實現校園人員信息的錄入與顯示。


學校里,主要有四類人員:大學本科學生、教師、研究生和助教。
大學本科生每周有固定的學時數。教師除了固定的學時數外,還有每周的教學時數。研究生除了固定的學時數外,每周還可以自由做一定的研究。助教生除了上課外,還要做研究和一定的教學工作。
人員的基本信息包括姓名、編號、性別、身份證號、總學時數以及每周固定學時數。各個人員之間的關系: people類派生出student 類和teacher類,student 類派生出graduate類, graduate類和teacher類派生出TA類。

//people.h
#include<iostream>
#include<string>
using namespace std;
class people
{
public:
people();
people( string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week);//對數據初始化
void show();
string sexwm(char sex);
~people();
protected:
string name;//姓名
int number;//編號
char sex;//性別
int id;//身份證號
int sum;//總學時數
int week;//周固定學時數
};
//people.cpp
#include "pch.h"
#include "people.h"


people::people()
{
}


people::people(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week)
{
name = m_name;
number = m_number;
sex = m_sex;
id = m_id;
sum = m_sum;
week = m_week;
}

void people::show()
{
cout << "人員信息" << endl;
}
string people::sexwm(char sex)
{
if (sex == 'm') return "man";
else return "woman";
}

people::~people()
{
}
//student.h
#pragma once
#include "people.h"
class student :virtual public people
{
public:
student();
student( string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week);
void show();
~student();
};
//student.cpp
#include "pch.h"
#include "student.h"


student::student()
{
}

student::student(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week)
{
name = m_name;
number = m_number;
sex = m_sex;
id = m_id;
sum = m_sum;
week = m_week;
}
void student::show()
{
cout << "姓名" << '\t' << "編號" << '\t' << "性別" << '\t' << "身份證號" << '\t' << "總學時" << '\t' << "周固定學時" << endl;
cout << name << '\t' << number << '\t' << sexwm(sex) << '\t' << id << '\t' << sum << '\t' << week << endl;
}


student::~student()
{
}
//teacher.h
#pragma once
#include "people.h"
class teacher :virtual public people
{
public:
teacher();
teacher(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week,int m_teach);
void show();
~teacher();
protected:
int teach;//教學時數
};
//teacher.cpp
#include "pch.h"
#include "teacher.h"


teacher::teacher()
{
}

teacher::teacher(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week, int m_teach)
{
name = m_name;
number = m_number;
sex = m_sex;
id = m_id;
sum = m_sum;
week = m_week;
teach = m_teach;
}

void teacher::show()
{
cout << "姓名" << '\t' << "編號" << '\t' << "性別" << '\t' << "身份證號" << '\t' << "總學時" << '\t' << "周固定學時" <<'\t'<<"教學時數"<< endl;
cout << name << '\t' << number << '\t' << sexwm(sex) << '\t' << id << '\t' << sum << '\t' << week << '\t' << teach << endl;
}

teacher::~teacher()
{
}

//graduate.h
#pragma once
#include "student.h"
class graduate :virtual public student
{
public:
graduate();
graduate(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week);
void show();
~graduate();
};
//graduate.cpp

#include "pch.h"
#include "graduate.h"


graduate::graduate()
{
}

graduate::graduate(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week)
{
name = m_name;
number = m_number;
sex = m_sex;
id = m_id;
sum = m_sum;
week = m_week;
}
void graduate::show()
{
cout << "姓名" << '\t' << "編號" << '\t' << "性別" << '\t' << "身份證號" << '\t' << "總學時" << '\t' << "周固定學時" << endl;
cout << name << '\t' << number << '\t' << sexwm(sex) << '\t' << id << '\t' << sum << '\t' << week << endl;
cout << "可自由做一定研究" << endl;
}

graduate::~graduate()
{
}

//TA.h
#pragma once
#include "graduate.h"
#include "teacher.h"
class TA :
public graduate,public teacher
{
public:
TA();
TA(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week,int teach);
void show();
~TA();
};
//TA.cpp
#include "pch.h"
#include "TA.h"


TA::TA()
{
}

TA::TA(string m_name, int m_number, char m_sex, int m_id, int m_sum, int m_week, int m_teach)
{
name = m_name;
number = m_number;
sex = m_sex;
id = m_id;
sum = m_sum;
week = m_week;
teach = m_teach;
}
void TA::show()
{
cout << "姓名" << '\t' << "編號" << '\t' << "性別" << '\t' << "身份證號" << '\t' << "總學時" << '\t' << "周固定學時" << '\t' << "教學時數" << endl;
cout << name << '\t' << number << '\t' << sexwm(sex) << '\t' << id << '\t' << sum << '\t' << week << '\t' << teach << endl;
cout << "可自由做一定研究" << endl;
}
TA::~TA()
{
}

//main.cpp
#include "pch.h"
#include "people.h"
#include "student.h"
#include "teacher.h"
#include "graduate.h"
#include "TA.h"
#include <iostream>
using namespace std;
int main(http://www.my516.com)
{
student a("a", 1, 'm', 1801, 100, 10);
a.show();
teacher b("b", 2, 'w', 1802, 100, 10, 20);
b.show();
graduate c("c", 3, 'm', 1803, 100, 10);
c.show();
TA d("d", 4, 'w', 1804, 100, 10, 20);
d.show();
}

---------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM