第一篇:简单学生信息管理系统C++范文
#include
#include
using namespace std;
int i=0;
void layout()
{
cout<<“欢迎使用学生信息系统”< cout<<“请选择功能序号:”< cout<<“0.输入学生信息”< cout<<“1.计算平均分并排序”< cout<<“2.统计学科平均分”< cout<<“3.统计班级平均分”< cout<<“4.按学号修改学生信息”< cout<<“5.根据学号查询学生信息”< cout<<“---------万恶的分割线----------”< } class student { private: int num; string name; double score1,score2; public: double c; int banji; string sex; student(){} void set_student(int bj,int n,string nam,string s,double les1,double les2){ banji=bj; num=n; name=nam; sex=s; score1=les1; score2=les2; } int get_score1() { return score1; } int get_score2() { return score2; } int get_num() { return num; } void show() { c=(score1+score2)/2; cout< } }stu[20]; void show_1() { cout<<“班级:t学号t姓名t性别t学科一t学科二t平均分”< } //学生信息输入// void INPUT() { int j=0; int x; do{int banji;int num;string name;string sex;double score1,score2; cout<<“请输入学生信息:”< cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”< cin>>banji>>num>>name>>sex>>score1>>score2; stu[i].set_student(banji,num,name,sex,score1,score2); i++; cout<<“是否继续输入学生信息?是:请输入0/否:请输入1”< cin>>x; }while(x==0); show_1(); for(j=0;j { stu[j].show(); } } //计算平均分并排序// void Paixu() {student stu1; for(p=0;p<=i-1;p++) { k=p; for(j=p+1;j if(stu[j].c {k=j; stu1=stu[k];stu[k]=stu[p];stu[p]=stu1; } } show_1(); for(j=0;j { stu[j].show(); } } //统计学科平均分// void xueke() { double q1; double sum1; int p1; for(p1=0;p1<=i;p1++) { sum1=sum1+stu[p1].get_score1(); } q1=sum1/i; cout<<“学科一平均成绩:”< double q2; double sum2; int p2; for(p2=0;p2<=i;p2++) { sum2=sum2+stu[p2].get_score2(); } q2=sum2/i; cout<<“学科二平均成绩:”< } //统计班级平均分// void banji() double q1,q2; double sum1,sum2; int p,m; m=0; sum1=0;sum2=0; for(p=0;p<=i;p++) { a[p]=stu[p].banji; } for(m=0;m<=i;m++) {int t=1; sum1=stu[m].get_score1(); sum2=stu[m].get_score2(); for(p=m+1;p<=i;p++) { if((a[m]==a[p])&&a[p]!=0) { sum1=sum1+stu[p].get_score1(); sum2=sum2+stu[p].get_score2(); a[p]=0; t++; } } if(a[m]!=0){ q1=sum1/t; q2=sum2/t; cout<<“电信”< cout<<“学科二平均成绩:”< } } } //按学号查询学生信息// void chaxun() {int x; cout<<“请输入学号:”; cin>>x; int p; for(p=0;p<=i;p++) { if(x==stu[p].get_num()) { show_1(); stu[p].show(); } } } //按学号修改学生信息// void xiugai() { int j; int x; cout<<“请输入需修改学号:”; cin>>x; int p; for(p=0;p<=i;p++) { if(x==stu[p].get_num()) { int banji;int num;string name;string sex;double score1,score2; cout<<“请输入学生信息:”< cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”< cin>>banji>>num>>name>>sex>>score1>>score2; stu[p].set_student(banji,num,name,sex,score1,score2); show_1(); for(j=0;j { stu[j].show(); } } } } int main() {layout(); int flag; int n; for(n=0;n<=100;n++) { cin>>flag; switch(flag){ case 0: cout<<“输入范例:”; cout<<“班级:t”<<“学号:t”<<“姓名:t”<<“性别:t”<<“学科一:t”<<“学科二:t”< cout<<“1 1109 朱伟 男 100 98”< cout<<“---------万恶的分割线----------”< INPUT(); break; case 1: Paixu(); break; case 2: xueke(); break; case 3: banji(); break; case 4: chaxun(); break; case 5: xiugai(); break; case 6: n=100; }cout<<“再见!谢谢使用本系统!”;break;default:cout<<“请重新输入功能序号:”;break;}} C++程序设计实践教学环节任务书 一、题目:学生信息管理系统 二、目的与要求 1.目的: (1)掌握面向对象程序设计的基本思路和方法; (2)了解系统开发的需求分析、类层次设计、模块分解、编码测试、模块 组装与整体调试的全过程; (3)进一步熟悉C++中类的概念、类的封装、继承的实现方式;(4)学会分析简单的实际问题,并能利用所学的知识建立系统的逻辑结构,学会简单的调试技巧和方法。逐步熟悉面向对象程序设计的方法,养成良好的编程习惯。 2.要求基本要求: (1)要求利用C++面向对象的编程思想来完成系统的设计;(2)进行简单界面设计,能够实现友好的交互;(3)具有清晰的程序流程图和数据结构的详细定义;(4)熟练掌握C++对文件的各种操作。 三、信息描述 有关该系统基本信息的描述(如:学号、姓名、系别、班级和各科成绩等)。 四、功能描述 1.添加、删除 系统将提示用户输入新添加学生的信息;由用户输入要删除的学生的学号,然后调用删除函数,删除该名学生的资料。2.查找 首先由用户输入要查找的学生的学号,系统用查找函数查找,然后系统就调用输出函数。 3.修改 首先由用户输入要修改的学生的学号,然后系统用修改函数查找,显示该名学生的资料,然后系统提示用户输入需要修改的项目和新的资料。4.界面要求 开始登录管理界面、主要提示菜单界面(提示用户执行何种操作)等。 五、解决方案 1.分析程序的功能要求,划分程序功能模块。2.画出系统流程图。 3.代码的编写、程序的功能调试。4.完成系统总结报告以及使用说明书 六、进度安排 此次课程设计时间为一周或两周,分四个阶段完成: 1.分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确 设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。 2.编码调试阶段:根据设计分析方案编写代码,然后调试该代码,实现 课题要求的功能。 3.总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需 求分析、总体设计、详细设计、编码、测试的步骤和内容。4.考核阶段。 七、撰写课程设计报告或课程设计总结 总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 八、参考资料 《C++语言程序设计教程》 网上相关资料(....略) 1.C++课程设计题目:《学校人员信息管理系统》 用c++设计一个大学教师和学生管理程序,教师包括编号(a),姓名(c),职称(d)和教研室数据(b)的数据输入输出;大学生包括编号(m),姓名(s),性别(t),班号(n),英语(e),高等数学(f)和数据结构(g)三门课程成绩输入输出和计算机平均分(ave);研究生包括编号,姓名,性别,班号,指导教师和研究方法数据输入输出;博士后数据的输入输出;博士后既是教师也是研究生.(用派生,继承的方法可以做)2.功能如下图所示: 学生成绩管理系统主函数主菜单录入学生信息保存信息到文件浏览学生信息按姓名或学号查询信息删除信息退出系统 3.部分代码 #include int compareStr(char*str1,char*str2);//名字作为关键字,这个函数就用来比较 void addList(chainList *list);//同名的话,覆盖,或者改为新名字加入 void deleteNode(chainList *node);//根据名字删除 void editList(chainList *list,char *name);//要编辑的人名和新的资料 chainList *searchList(chainList *list,char*name);//只提供名字查询(其他以后加入)//返回前一个节点的指针 void orderList(chainList *list);//按名字排序 void orderListByAge(chainList *list);//按年龄降序排列 void orderListBySex(chainList *list);//按照性别排列,女士优先 void printStaticInfo(chainList*list);void printList(chainList *list);int main(){cout<<“tYou are welcome to the management system!”< cout<<“File's name:”< cin>>fileName; file.open(fileName);if(!file)//为何输入不存在地文件后,机子变得很慢,而且没有结果出来? {cout<<“File not found!System exit.”< return 1; } // cout<<“test”< fileRead(head,file);//读入文件到链表 file.close();} printStaticInfo(head);char ctn; do {cout<<“main menu:”< addList(head); break;case '2': cout<<“Please input the person's name to be deleted:”< char nm[20]; cin>>nm; chainList *pdel; pdel=searchList(head,nm); char sure;//Make sure whether you want to delete the data sure='n'; if(!pdel->next) { cout<<“The person you input cann't be found”< } else{ cout<<“The persons infor follows:”< pdel->next->pl->print(); cout<<“Are you sure to delete it?Press y or n”< cin>>sure; if(sure=='y') { deleteNode(pdel); cout< } } break;case '3': cout<<“Please input the person's name:”< pp=searchList(head,nm1); if(pp->next) { cout<<“The person's infor follows:”< pp->next->pl->print(); cout<<“Now ,please edit the infors.”< editList(head,nm1); } else cout<<“The person can't be found!”< break; case '4': cout<<“Please input the person's name:”< char name[30]; cin>>name; chainList *p; p=searchList(head,name); if(p->next) { p->next->pl->print(); } else cout<<“The person can't be found!”< break; case '5': cout<<“You want to order the list by:”< cout<<“1.name 2.age 3.sex(lady first)”< char ch; cin>>ch; switch(ch) { case '1': cout<<“You choose to order the list by name.The result are as follows:”< orderList(head); printStaticInfo(head); break; case '2': cout<<“You choose to order the list by age.The result are as follows:”< orderListByAge(head); printStaticInfo(head); break; case '3': cout<<“You choose to order the list by sex.The result are as follows:”< orderListBySex(head); printStaticInfo(head); break; default: cout<<“Wrong choice!”< } break; case '6': printStaticInfo(head); break; default: cout<<“Wrong choice!”< } }while(ctn!='0');cout<<“Do you want to save the file?No,press n.Else,any other key.”< cout<<“Please input the file's name:”< cin>>fileName; ofstream fin; fin.open(fileName);//如果文件已经存在,询问是否覆盖。如何知道是否存在 if(!fin) { cout<<“Can't open output file.n”; return 1; } fileWrite(head,fin); fin.close(); cout<<“File has been successfully saved!”< void fileRead(chainList *list,ifstream &ff){ chainList*p=list;int tp; } char nm[20];int ag;char sx;int slr;int grd; int e;int m;int g;int average;char schl[20];char sb[20];int teaYear;int aa=1;persons*psn;//插入人员指针 ff>>tp;while(tp){ ff>>ag; ff>>nm; ff>>sx; switch(tp){ case 1: ff>>grd;ff>>schl; psn=new student(ag,nm,sx,grd,schl,e,m,g,average); break;case 2: ff>>sb; ff>>teaYear; psn=new teacher(ag,nm,sx,sb,teaYear); break;case 3: ff>>slr; psn=new empoyee(ag,nm,sx,slr); break;} } chainList*s=new chainList(tp,psn);p->next=s;p=s;ff>>tp;void fileWrite(chainList *list,ofstream &ff){ chainList*p=list->next;while(p){ ff< typeOfPn<<“ ”< pl->age<<“ ”< pl->name<<“ ”< pl->sex<<“ ”; switch(p->typeOfPn) { case 1: ff<<((student*)p->pl)->grade<<“ ”<<((student*)p->pl)->school< break; case 2: ff<<((teacher*)p->pl)->subject<<“ ”<<((teacher*)p->pl)->yearsOfT< break; case 3: ff<<((empoyee*)p->pl)->salary< break; } p=p->next;} int aa=0;ff< int i=0;while((p1[i]==p2[i])&&p1[i]&&p2[i]) i++;if(p1[i]==p2[i]){ return 0;} else { if(p1[i]>p2[i]) return 1; else return-1;} } void addList(chainList *list)//添加节点 { char tp;int type;do{ cout<<“The person whose info you want to input is:”< 2.a teacher 3.a common employee”< char nm[20];int ag;char sx;int slr;int grd;char schl[20]; int e;int m; int g;int average;char sb[20];int teaYear;int aa=1;persons*psn;//插入人员指针 switch(tp){ case '0':aa=0; type=0; break;case '1': type=1; cout<<“name:”< cin>>nm; cout<<“age:”< cin>>ag; cout<<“male or female?m or f?”< cin>>sx; cout<<“The student's grade”< cin>>grd; cout<<“From which school:”< cin>>schl; cout<<“the score of english:”< cin>>e; cout<<“the score of math:”< cin>>m; cout<<“the score of sjjg:”< cin>>g; cout<<“average:”< psn=new student(ag,nm,sx,grd,schl,e,m,g,average); break; case '2':type=2; cout<<“name:”< cin>>nm; cout<<“age:”< cin>>ag; cout<<“male or female?m or f?”< cin>>sx; cout<<“subject field:”< cin>>sb; cout<<“Years as a teacher:”< cin>>teaYear; psn=new teacher(ag,nm,sx,sb,teaYear); break; case '3':type=3; cout<<“name:”< cin>>nm; cout<<“age:”< cin>>ag; cout<<“male or female?m or f?”< cin>>sx; cout<<“The employee's salary:”< cin>>slr; psn=new empoyee(ag,nm,sx,slr); break; default:type=6; aa=0; cout<<“Wrong choice!”< } chainList*p=list;//新节点在p所指的节点之前插入,if(aa) { int com; if(p->next) { com=compareStr(nm,p->next->pl->name); cout< } while(p->next&&com>0)//比p节点小或者p为空退出 { p=p->next; if(p->next) com=compareStr(nm,p->next->pl->name); } chainList *s=new chainList(type,psn); s->next=p->next; p->next=s; } }while(type); } void deleteNode(chainList *node){ chainList*ptemp=node->next; node->next=ptemp->next; delete ptemp;} void editList(chainList *list,char *name)//删除,添加就是编辑。缺点:不想删除的也被删除了。{ chainList *pde;pde=searchList(list,name); char tp;int type;do{ cout<<“The person whose info you want to input is:”< cout<<“1.a student 2.a teacher 3.a common employee”< cout<<“0.Return to main menu.”< cin>>tp;//为什么一输入字符就死循环?? char nm[20]; int ag; char sx; int slr; int grd; char schl[20]; int e; int m; int g; int average; char sb[20]; int teaYear; int aa=1; persons*psn;//插入人员指针 if(tp==1||tp==2||tp==3) deleteNode(pde);switch(tp){ case '0':aa=0;type=0;break;case '1': type=1;cout<<“name:”< cout<<“age:”< cin>>ag; cout<<“male or female?m or f?”< cin>>sx; cout<<“The employee's salary:”< cin>>slr; psn=new empoyee(ag,nm,sx,slr); break; default:type=6; aa=0; cout<<“Wrong choice!”< } chainList*p=list;//新节点在p所指的节点之前插入,if(aa) { int com; if(p->next) { com=compareStr(nm,p->next->pl->name); cout< } while(p->next&&com>0)//比p节点小或者p为空退出 { p=p->next; if(p->next) com=compareStr(nm,p->next->pl->name); } chainList *s=new chainList(type,psn); s->next=p->next; p->next=s; } }while(type); } chainList *searchList(chainList *list,char*name)//查找函数 { chainList *p=list;int com;if(p->next) com=compareStr(name,p->next->pl->name); while(p->next&&com)//com为0值(即名字相同)或者p->next为空退出 { p=p->next;if(p->next)com=compareStr(name,p->next->pl->name);} return p;} void orderList(chainList *list){ chainList *p,*q;p=list;q=p->next;while(q->next&&p){ while((p->next!=q->next)&&p->next)//如果相等,则什么也不做 { int i=compareStr(q->next->pl->name,p->next->pl->name); i=-i; if(i>0)//字母顺序小的插在前面 { chainList*s; s=q->next; q->next=s->next; s->next=p->next; p->next=s; p=s; break; } if(i==0)//字母顺序相同的插到后面 { chainList*ss; ss=q->next; q->next=ss->next; p=p->next;//让p永远指向插入位置前一个位置。 ss->next=p->next; p->next=ss; p=ss; break; } p=p->next; } p=list;//让p重新指向头节点。 if(q->next) q=q->next;//q前进一步。 } } void orderListByAge(chainList *list){ chainList*p,*q;p=list;q=p->next;while(q->next&&p){ while(p->next!=q->next)//如果相等,则什么也不做 { int i=q->next->pl->age-p->next->pl->age; if(i>0)//年龄大的插到用于比较的节点前面 { chainList*s; s=q->next; q->next=s->next; s->next=p->next; p->next=s; p=s; break; } if(i==0)//年龄相同的插到后面 { chainList*ss; ss=q->next; q->next=ss->next; p=p->next;//让p永远指向插入位置前一个位置。 ss->next=p->next; p->next=ss; p=ss; break; } p=p->next; } p=list;//让p重新指向头节点。 if(q->next) q=q->next;//q前进一步。 } } void orderListBySex(chainList *list)//按性别排序,插入排序 { chainList*p,*q;p=q=list; while(q->next){ if(q->next->pl->sex=='f') { chainList*s; s=q->next; q->next=s->next;//删除,然后插到前面 s->next=p->next; p->next=s; p=s; } q=q->next;} } void printStaticInfo(chainList*list){ int count,countS,countT,countE,countMale,countFemale;count=countS=countT=countE=countMale=countFemale=0;chainList*p=list->next;while(p){ p->pl->print(); count++; if(p->pl->sex=='m') countMale++; else countFemale++; switch(p->typeOfPn) { case 1: countS++; break; } case 2: countT++; break;case 3: countE++; break;} p=p->next; } cout<<“********************************************”< 部分截图 1.信息的输入 2.浏览学生信息 开始N开始YNY输出所有信息返回主菜单录入信息保存信息返回主菜单打开文件文件中有无信息结束3.按姓名或学号查询信息 4.删除信息 开始NY输入姓名或学号开始NY输入姓名或学号N 打开文件打开文件Y输出信息(name==sign)||(number==sign))Y删除信息(name==sign)||(number==sign))N返回主菜单返回主菜单 心得体会: 通过本次课程设计懂得了,学习计算机语言知识,要不断实践,不断学习新的内容,特别是课堂中没有涉及的内容要自主的去学习并学会运用。在今后的学习中我要加强自主学习的能力,加强动手能力。通过一星期的C++语言程序设计课程设计,我们从中受益匪浅,并且对C++语言程序设计这一门课程有了更深一步的认识。在实习中,我们可以把这学期所学的理论知识和实践联系起来,在所要开发的项目中渐渐成长。虽然我们对这些C++语言知识运用得还不是很熟练,但是相信我们也在滴水穿石地成长起来。发现问题,提出问题,解决问题使我们从不足之处出发,寻找新的方向。在课程设计中,我设计了一个学生信息管理系统,它基本足了界面友好,易于操作的要求,因此更利于用户操作方便,运行简易,从而达到对人员管理更加有效系统的管理,并且速度更快内容更直接地达到用户所想要的效果。在该软件中我们实现了对学生信息的输入和存取、读取,对学生相关信息的删除等,并且可以按学号查询学生的相关信息等的功能。但软件中仍然存在一些不足,例如在输入有关学生的数据时名字没有限定,插入新的学生信息的程序还有待完善,菜单不美观等。我一边设计一边探索,发现理论和实践要充分地结合,是需要扎实的基本功的,这就表明学好基础知识是理论付诸实践的前提。在实习中我们学到了很多,希望在以后我们能充分利用这样的机会充实自己,并希望这样的机会能被更好更多地提供。 教职工信息管理系统源码 #include #define maxsize 100 fstream iofile;//文件指针 class Time //时间类 { public: int year; int month; int day;}; class Telem //个人信息 { public: char name[20]; char sex[10]; Time birthtime;//组合Time类 char num[20]; char wage[20]; Time worktime; int year; char department[20]; friend istream& operator>>(istream& input,Telem& T); friend ostream& operator<<(ostream& output,Telem& T); friend int operator-(Time & t1,Time & t2);}; class People:virtual public Telem //雇员类 { public: People(); virtual void AddF()=0;//添加 virtual void Addall()=0; virtual void Add()=0; virtual void Display();//输出数组的内容 virtual void Displaypart(char p[]); virtual void Findname(char n[]); virtual void Findyear(int); virtual void Del(char n[])=0; virtual void Del(int);protected: Telem data[maxsize]; Time now; int length;}; class Teacher:virtual public People //派生虚基类 { public: virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]);}; class worker:virtual public People //派生虚基类 { public: virtual void AddF(); virtual void Addall(); virtual void Add(); virtual void Display(); virtual void Del(int i); virtual void Del(char n[]);}; People::People()//系统自动生成的构造函数 { length=0; now.year=2010; now.month=7; now.day=6;} void People::Display()//引用 { int i; for(i=0;i cout< void People::Displaypart(char p[])//引用数组 { int i,c; for(i=0;i if(strcmp(data[i].wage,p)==0) { cout<<“输出选择姓名1 性别2 编号3 工资4 出生日期5 工作时间6 年龄7 系别8 退出选择9”< while(cin>>c) { switch(c) { case 1: cout<<“姓名:”< case 2: cout<<“性别:”< case 3: cout<<“编号:”< case 4: cout<<“工资:”< case 5: cout<<“出生日期:”< case 6: cout<<“工作时间:”< case 7: cout<<“年龄:”< case 8: cout<<“系别:”< case 9: goto loop; default:cout<<“操作错误......”< } } loop:; } } void People::Findname(char n[])//引用 { int i; for(i=0;i if(strcmp(data[i].name,n)==0)//对象引用 cout< void People::Findyear(int y){ int i; for(i=0;i if(data[i].year==y) cout< void People::Del(int i){ int j; if(i<1||i>length) cout<<“不存在第”< for(j=i;j data[j-1]=data[j]; length--;} void worker::AddF(){ int flag=0; iofile.open(“worker_information.txt”,ios::in|ios::binary);//文件的打开与关闭 while(iofile.seekg(ios::cur)) { iofile.seekg(length*sizeof(data[length]),ios::beg); iofile.read((char*)&data[length],sizeof(data[length]));//文件的随机访问 length++; if(length==maxsize) { flag=1; goto loop; } } People::Del(length); cout<<“添加人员信息成功......”< loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Addall(){ char ans; int flag=0; iofile.open(“worker_information.txt”,ios::out|ios::binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; if(length==maxsize) { flag=1; goto loop; } cout<<“contine(Y|N)?”; cin>>ans; }while('y'==ans||'Y'==ans);loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Add(){ int flag=0; iofile.open(“worker_information.txt”,ios::app|ios::out|ios::binary); if(length==maxsize) { flag=1; goto loop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void worker::Display(){ cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆工人信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< if(0==length) cout<<“无......”< int i; for(i=0;i cout< int i,j,k; for(i=0;i if(strcmp(data[i].name,n)==0){ k=i+1;break;} if(k<1) cout<<“不存在姓名”< for(j=k;j data[j-1]=data[j]; length--; cout<<“删除人员信息成功......”< void worker::Del(int i){ int j; if(i<1||i>length) cout<<“不存在第”< for(j=i;j data[j-1]=data[j]; length--; cout<<“删除成功......”< } void Teacher::AddF(){ int flag=0; iofile.open(“Teacher_information.txt”,ios::in|ios::binary); while(iofile.seekg(sizeof(data[length]),ios::cur)) { if(iofile.seekg(length*sizeof(data[length]),ios::beg)) iofile.read((char*)&data[length],sizeof(data[length])); else break; length++; if(length==maxsize) { flag=1; goto loop; } } People::Del(length); cout<<“添加人员信息成功......”< if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Addall(){ char ans; int flag=0; iofile.open(“Teacher_information.txt”,ios::in|ios::out|ios::binary); do { cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++; if(length==maxsize) { flag=1; goto loop; } cout<<“contine(Y|N)?”; cin>>ans; }while('y'==ans||'Y'==ans);loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Add(){ int flag=0; iofile.open(“Teacher_information.txt”,ios::app|ios::out|ios::binary); if(length==maxsize) { flag=1; goto loop; } cin>>data[length]; data[length].year=now-data[length].birthtime; iofile.write((char*)&data[length],sizeof(data[length])); cout<<“添加人员信息成功......”< length++;loop: if(1==flag) cout<<“人员信息储存空间已满......”< iofile.close();} void Teacher::Display(){ cout<<“ ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆教师信息 ★ ☆ ★ ☆ ★ ☆ ★ ☆ ★ ☆”< if(0==length) cout<<“无......”< int i; for(i=0;i cout<第二篇:C++课程设计学生信息管理系统
第三篇:c++学校人员信息管理系统
第四篇:C++课程设计 教职工信息管理系统源代码