正文

老师、学生管理系统2005-12-28 15:38:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/dragon188/8956.html

分享到:

// Begin person.h#ifndef PERSON_H#define PERSON_H class Person{ public:  Person();  ~Person();}; class Teacher:public Person     // 教师类{ public:  Teacher();  void personsetting();    // 人员信息  ~Teacher();  void displayStatus();    // 显示人员信息 private:  int techgrade;       // 教师职称  int staffroom;      // 教研室  char *name;       // 姓名  int  teacher;      // 教师编号  static int teacherNo;    // 教师编号目前最大值}; class Bigstudent:public Person    // 大学生类{ public:  Bigstudent();  void personsetting();    // 人员信息  ~Bigstudent();  float studentenglish();    // 大学生英语成绩  float studentmath();    // 学生数学成绩  void displayStatus();    // 显示人员信息 private:  char *sex;       // 性别  int  classroom;      // 班级  char *name;       // 姓名  float Enggrade;      // 大学生英语成绩  float Gaograde;      // 大学生高数成绩  int  bigstudent;     // 大学生编号  static int bigstudentNo;   // 大学生编号目前最大值  static float fullEnggrade;   // 大学生英语总成绩  static float fullGaograde;   // 大学生数学总成绩}; class Midstudent:public Person    // 中学生类{ public:  Midstudent();  void personsetting();    // 人员信息  ~Midstudent();  float midstudentmath();    // 学生数学成绩  void displayStatus();    // 显示人员信息 private:  char *sex;       // 性别  int  classroom;      // 班级  char *name;       // 姓名  float midmathgrade;     // 中学生高数成绩  int  midstudent;     // 中学生编号  static int midstudentNo;   // 中学生编号目前最大值  static float fullmidgrade;   // 中学生数学总成绩};#endif// End person.h   // person.cpp#include <iostream>#include <string>#include "person.h"using namespace std; int Teacher::teacherNo=1000;      // 教师编号基数为1000(起始编号)int Bigstudent::bigstudentNo=2000;     // 大学生编号基数为2000(起始编号)int Midstudent::midstudentNo=3000;     // 中学生编号基数为3000(起始编号)float Bigstudent::fullEnggrade=0.0;     // 大学生英语总成绩起始为0.0分float Bigstudent::fullGaograde=0.0;     // 大学生数学总成绩起始为0.0分float Midstudent::fullmidgrade=0.0;     // 中学生数学总成绩起始为0.0分 Person::Person(){} Person::~Person(){} Teacher::Teacher(){} void Teacher::personsetting(){ char namestr[50];        // 输入人员存放在namestr中 cout<<"请输入教师的姓名:"; cin>>namestr; name=new char[strlen(namestr)+1];    // 动态申请用于存放姓名的内存空间 strcpy(name,namestr);       // 将临时存放的姓名复制到name cout<<endl; cout<<"请输入教师职称(级): "; cin>>techgrade; cout<<endl; cout<<"请输入教师所在教研室: "; cin>>staffroom; cout<<endl; teacher=teacherNo++;       // 新输入教师,其编号为目前最大编号加1} Teacher::~Teacher(){} void Teacher::displayStatus(){ cout<<"教师的姓名是 "<<name<<" 编号 "<<teacher     <<",级别是 "<<techgrade<<" 级,"<<"所在教研室 "     <<staffroom<<" 室。"<<endl;  delete []name;} Bigstudent::Bigstudent(){} void Bigstudent::personsetting(){ char namestr[50];        // 输入人员存放在namestr中 cout<<"请输入大学生的姓名:"; cin>>namestr; name=new char[strlen(namestr)+1];    // 动态申请用于存放姓名的内存空间 strcpy(name,namestr);       // 将临时存放的姓名复制到name cout<<endl; char bigsex[10]; cout<<"请输入大学生性别: "; cin>>bigsex; sex=new char[strlen(bigsex)+1]; strcpy(sex,bigsex); cout<<endl; cout<<"请输入大学生所在班级: "; cin>>classroom; cout<<endl; cout<<"请输入大学生英语成绩: "; cin>>Enggrade; cout<<endl; cout<<"请输入大学生数学成绩: "; cin>>Gaograde; cout<<endl; bigstudent=bigstudentNo++;      // 新输入大学生,其编号为目前最大编号加1 fullEnggrade+=Enggrade; fullGaograde+=Gaograde;} Bigstudent::~Bigstudent(){} float Bigstudent::studentenglish()     // 大学生英语总成绩统计{ cout<<"大学生英语总成绩是:"<<fullEnggrade<<endl<<endl;} float Bigstudent::studentmath()      // 大学生数学总成绩统计{ cout<<"大学生数学总成绩是:"<<fullGaograde<<endl;} void Bigstudent::displayStatus(){ cout<<"大学生姓名是 "<<name<<" 编号 "<<bigstudent     <<" 性别 "<<sex<<",所在班级 "<<classroom<<     " 班,"<<"其英语成绩是 "<<Enggrade<<endl<<",其高数成绩是 "     <<Gaograde<<endl;  delete []name; delete []sex;} Midstudent::Midstudent(){} void Midstudent::personsetting(){ char namestr[50];        // 输入人员存放在namestr中 cout<<"请输入中学生的姓名:"; cin>>namestr; name=new char[strlen(namestr)+1];    // 动态申请用于存放姓名的内存空间 strcpy(name,namestr);       // 将临时存放的姓名复制到name cout<<endl; char bigsex[10]; cout<<"请输入中学生性别: "; cin>>bigsex; sex=new char[strlen(bigsex)+1]; strcpy(sex,bigsex); cout<<endl; cout<<"请输入中学生所在班级: "; cin>>classroom; cout<<endl; cout<<"请输入中学生数学成绩: "; cin>>midmathgrade; cout<<endl; midstudent=midstudentNo++;      // 新输入中学生,其编号为目前最大编号加1 fullmidgrade+=midmathgrade;} Midstudent::~Midstudent(){} float Midstudent::midstudentmath()     // 中学生总数学成绩{ cout<<"中学生数学总成绩是:"<<fullmidgrade<<endl;} void Midstudent::displayStatus(){ cout<<"中学生姓名是 "<<name<<" 编号 "<<midstudent     <<" 性别 "<<sex<<",所在班级 "<<classroom<<     " 班,"<<"其数学成绩是 "<<midmathgrade<<endl;  delete []name; delete []sex;}   // personmain.cpp#include <iostream>#include <string>#include "person.h"using namespace std; int main(){ int teaamount;      // 教师人数 int bigamount;      // 大学生人数 int midamount;      // 中学生人数 int i,j,a;  cout<<"请输入教师人数:"; cin>>teaamount; cout<<endl;  cout<<"请输入大学生人数:"; cin>>bigamount; cout<<endl;  cout<<"请输入中学生人数:"; cin>>midamount; cout<<endl;  Teacher t1[100];     // 教师数组 Teacher *t2;      // 教师指针 Bigstudent b1[1000];    // 大学生数组 Bigstudent *b2;      // 大学生指针 Midstudent m1[1000];    // 中学生数组 Midstudent *m2;      // 中学生指针  t2=t1; b2=b1; m2=m1;  for(i=0;i<teaamount;i++) {  t2[i].personsetting();   // 设置教师信息 }  for(i=0;i<bigamount;i++) {  b2[i].personsetting();   // 设置大学生信息 }  for(i=0;i<midamount;i++) {  m2[i].personsetting();   // 设置中学生信息 }  for(i=0;i<teaamount;i++) {  t2[i].displayStatus();   // 显示教师信息  cout<<endl; }  for(j=0;j<bigamount;j++) {  b2[j].displayStatus();   // 显示信息  cout<<endl; } b2[j].studentmath();    // 大学生数学总成绩 b2[j].studentenglish();    // 大学生英语总成绩  for(a=0;a<midamount;a++) {  m2[a].displayStatus();   // 显示信息  cout<<endl; } m2[a].midstudentmath();    // 中学生数学成绩 system("pause");} // End personmain.cpp

阅读(2980) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册