我们,有的时候希望,用户动态的输入学生信息,然后再显示出来。
下面,我们开始代码实现:

#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;
}

测试数据 + 运行结果如下:
C++ 建立学生类,老师类,输入多个学生和老师信息,并显示出来

相关文章: