我们,有的时候希望,用户动态的输入学生信息,然后再显示出来。
下面,我们开始代码实现:
#include<iostream>
#include<cstring>
/**
学生和老师的信息录入
*/
using namespace std;
class Person{
public:
string ID;
string name;
public:
Person(string sendID, string sendName){
ID = sendID;
name = sendName;
}
string getName(){
return name;
}
string getID(){
return ID;
}
};
class Student: public Person{
public:
static int stucount;
string classnum;
int grade;
public:
Student(string sendClassNum, int sendGrade, string ID, string name) : Person(ID,name){
classnum = sendClassNum;
grade = sendGrade;
stucount++; //学生总人数 + 1
}
void print(){
cout<<Person::getID()<<"\t\t"<<Person::getName()<<"\t"<<classnum<<"\t\t"<<grade<<endl;
}
};
int Student::stucount = 0;
class Teacher: public Person{
public:
static int teacount;
string titleName;
string department;
public:
Teacher(string sendtitle,string sendDepartment,string ID, string name) : Person(ID,name){
titleName = sendtitle;
department = sendDepartment;
teacount++; //老师总人数 + 1
}
void print(){
cout<<Person::getID()<<"\t\t"<<Person::getName()<<"\t\t"<<titleName<<"\t\t"<<department<<endl;
}
};
int Teacher::teacount = 0;
int main(){
string name;
string ID;
int grade;
string department;
string titlname;
string classnum;
//实例化学生类对象
Student stu[3]={
Student(classnum,grade,ID,name),
Student(classnum,grade,ID,name),
Student(classnum,grade,ID,name)
};
//实例化老师类对象
Teacher tea[3]={
Teacher(titlname,department,ID,name),
Teacher(titlname,department,ID,name),
Teacher(titlname,department,ID,name)
};
//接收学生数据
cout<<"请输入三个学生的信息"<<endl;
for(int i = 0; i < 3; i++){
cin>>stu[i].name>>stu[i].ID>>stu[i].grade>>stu[i].classnum;
}
//接收老师数据
cout<<"请输入三位老师的信息"<<endl;
for(int j = 0; j < 3; j++){
cin>>tea[j].name>>tea[j].ID>>tea[j].titleName>>tea[j].department;
}
//打印学生信息
cout<<"学生总人数为:"<<Student::stucount<<"人"<<endl;
cout<<"-----------------------------学生名单-----------------------------"<<endl;
cout<<"学号\t\t"<<"姓名\t\t"<<"班级\t\t"<<"成绩"<<endl;
for(int k = 0; k < 3; k++){
stu[k].print();
}
//打印老师信息
cout<<"老师总人数为:"<<Teacher::teacount<<"人"<<endl;
cout<<"-----------------------------老师名单-----------------------------"<<endl;
cout<<"教工号\t\t"<<"姓名\t\t"<<"职称\t\t"<<"部门\t\t"<<endl;
for(int n = 0; n < 3; n++){
tea[n].print();
}
return 0;
}
测试数据 + 运行结果如下: