c++课程设计

本文介绍了一个用于管理高校学生信息的系统,包括增加、删除、修改、查询学生信息,以及按学号、成绩等条件排序和保存信息的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//学生类:#ifndef H_STUDENT_H_NNN #define H_STUDENT_H_NNN #include<iostream> #include<string.h> #include<string> using namespace std; class Student{ protected: string name; string sex; string phone; string id; long num; int x,y,z,AA; public: virtual void dispaly() {cout<<name<<sex<<phone<<num<<x<<y<<z<<AA<<endl;} Student(string sname,string ssex,string sphone,long snum,int sx,int sy,int sz) { name=sname; sex=ssex; phone=sphone; num=snum; x=sx; y=sy; z=sz; } Student() {} ~Student() {} }; #endif //本科生#ifndef H_COLLEGE_H_NNN #define H_COLLEGE_H_NNN #include"Student.h" #include<iostream> #include<string.h> #include<string> using namespace std; class College:public Student{ protected: string id; public: College *next; string subject; void display(); friend ostream& operator<<(ostream&,const College&); friend istream& operator>>(istream&,College&); College () {} ~College() {} College(string sname,string ssex,string sphone,string ssubject,long snum,int sx,int sy,int sz ):Student( sname, ssex, sphone, snum,sx, sy, sz) { id="undergraduate"; subject=ssubject; } College(College &a):Student( a.name, a.sex, a.phone, a.num,a.x, a.y, a.z) { this->id=a.id; this->subject=a.subject; } friend class Clas; } ; #endif //研究生类:#ifndef H_GRADUATE_H_NNN #define H_GRADUATE_H_NNN #include"Student.h" class Graduate:public Student{ protected: string id; public: Graduate *next; string subject; void display(); Graduate () {} ~Graduate() {} friend ostream& operator<<(ostream&,const Graduate&); friend istream& operator>>(istream&,Graduate&); Graduate(string sname,string ssex,string sphone,string ssubject,long snum,int sx,int sy,int sz ):Student( sname, ssex, sphone, snum,sx, sy, sz) { id="graduate"; subject=ssubject; } Graduate(Graduate &a):Student( a.name, a.sex, a.phone, a.num,a.x, a.y, a.z) { this->id=a.id; this->subject=a.subject; } friend class Clas; }; #endif //管理学生信息类:#ifndef H_CLASS_H_NNN #define H_CLASS_H_NNN #include<iostream> #include"College.h" #include"Graduate.h" #include<string.h> #include<string> using namespace std; class Clas{ private: College *Col; Graduate *Gra; static string password; public: Clas() { Col=0; Gra=0; sload(); } ~Clas() { College *p; p=Col; while(p) { p=p->next; delete Col; Col=p; } Col=0; Graduate *p1; p1=Gra; while(p1) { p1=p1->next; delete Gra; Gra=p1; } Gra=0; } string getpassword() {return password;} void menuselect();//菜单 void sadd(); //添加 void sremove(); // 删除 void samend(); // 修改 void ssearch(); // 查询 void staxis(); // 排序 void ssave(); //保存 void sload();//读取 //排序函数 void pxh(); void psx(); void pyw(); void pyy(); void pAA(); }; #endif //本科生类.cpp #include"College.h" #include"Student.h" #include<string.h> #include<string> #include<iostream> using namespace std; void College::display() {cout<<"学位"<<id<<"姓名"<<name<<"性别"<<sex<<"学号"<<num<<"专业"<<subject<<"数学"<<x<<"计算机 "<<y<<" 英语"<<z<<"总分"<<AA<<endl;} istream& operator>>(istream& in,College& right) {in>>right.name>>right.sex>>right.phone>>right.subject>>right.num>>right.x>>right.y>>right.z; return in; } ostream& operator<<(ostream& out,const College& right) { cout<<"学历 "<<"姓名 "<<" 性别 "<<"专业 "<<"学号 "<<" 数学成绩 "<<" 计算机成绩 "<<"英语成绩 "<<"总成绩"<<endl; out<<right.id<<" "<<right.name<<" "<<right.sex<<" "<<right.subject<<" "<<right.num<<" "<<right.x<<" "<<right.y<<" "<<right.z<<" "<<right.AA<<endl; return out; } //研究生类.cpp #include"Graduate.h" #include"Student.h" #include<string.h> #include<string> #include<iostream> using namespace std; void Graduate::display() {cout<<"学位"<<id<<"姓名"<<name<<"性别"<<sex<<"学号"<<num<<"专业"<<subject<<"数学"<<x<<"计算机 "<<y<<" 英语"<<z<<"总分"<<AA<<endl;} istream& operator>>(istream& in,Graduate& right) {in>>right.name>>right.sex>>right.phone>>right.subject>>right.num>>right.x>>right.y>>right.z; return in; } ostream& operator<<(ostream& out,const Graduate& right) {out<<right.id<<" "<<right.name<<" "<<right.sex<<" "<<right.subject<<" "<<right.num<<" "<<right.x<<" "<<right.y<<" "<<right.z<<""<<right.AA<<endl; return out; } //学生信息管理类.cpp #include"Clas.h" #include<iostream> #include<string.h> #include<string> #include<fstream> #include<iomanip> using namespace std; //增加学生信息 string Clas::password="123456"; void Clas::sadd() { system("cls"); cout<<"\n** 增加学生的信息**\n"<<endl; cout<<"请输入增加学生信息的类型"<<endl; cout<<"1.增加本科生的信息"<<endl; cout<<"2.增加研究生的信息"<<endl; cout<<"3.返回"<<endl; char c;cin>>c; cout<<"请输入数据\n"<<endl; if(c=='3') return ; string sname,ssex,sphone,ssubject; long snum; int sx,sy,sz; cout<<"姓名"<<" "<<"性别"<<" "<<"电话"<<" "<<"专业"<<" "<<"学号 "<<" 数学成绩"<<" "<<"计算机成绩"<<" "<<"英语成绩"<<endl; //cin>>sname>>ssex>>sphone>>ssubject>>snum>>sx>>sy>>sz; if(c=='1') { College d,*q; cin>>d; q=new College(d); q->AA=d.x+d.y+d.z ; //q=new College(sname,ssex,sphone,ssubject,snum,sx,sy,sz); //q->AA=sx+sy+sz; q->next=0; if(Col) { College *t; t=Col; if(t->num==snum) { cout<<"学号已经存在,请重新输入"<<endl; return; } while(t->next) { if(t->num==snum) { cout<<"学号已经存在,请重新输入"<<endl; return; } t=t->next; } t->next=q; } else Col=q; cout<<"输入完毕!"<<endl;return; } else if(c=='2'){ Graduate *q,d; cin>>d; q=new Graduate(d); //q=new Graduate(sname,ssex,sphone,ssubject,snum,sx,sy,sz); q->AA=d.x+d.y+d.z; q->next=0; if(Gra) { Graduate *t; t=Gra; if(t->num==snum) { cout<<"学号已经存在,请重新输入"<<endl; return; } while(t->next) { if(t->num==snum) { cout<<"学号已经存在,请重新输入"<<endl; return; } t=t->next; } t->next=q; } else Gra=q; cout<<"输入完毕!"<<endl;return; } } //删除学生信息 void Clas::sremove() { system("cls"); cout<<"\n** 删除学生的信息**\n"<<endl; int num1; cout<<"请输入要删除学生的学号"<<endl; cin>>num1; cout<<"请输入要删除学生信息的类型"<<endl; cout<<"1.删除本科生的信息"<<endl; cout<<"2.删除研究生的信息"<<endl; cout<<"3.返回"<<endl; char c;cin>>c; if(c=='3') return ; if(c=='1') { College *p1,*p2; p1=Col; while(p1) { if(p1->num==num1) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { p1->display(); cout<<"确定要删除吗?[Y/N]"<<endl; char ch;cin>>ch; if(toupper(ch)!='Y') return; if(p1==Col) { Col=p1->next; delete p1; } else { p2->next=p1->next; delete p1; } cout<<"找到学号为"<<num1<<"的本科生,并删除\n "; } else cout<<"没有找到要删除本科生的信息\n"; } else if(c=='2') { Graduate *p1,*p2; p1=Gra; while(p1) { if(p1->num==num1) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { p1->display(); cout<<"确定要删除吗?[Y/N]"<<endl; char ch;cin>>ch; if(toupper(ch)!='Y') return; if(p1==Gra) { Gra=p1->next; delete p1; } else { p2->next=p1->next; delete p1; } cout<<"找到学号为"<<num1<<"的研究生的信息,并删除\n "; } else cout<<"没有找到要删除研究生的信息\n"; } cout<<"删除完毕!"<<endl; return; } void Clas::samend() { system("cls"); cout<<"\n** 修改学生的信息**\n"<<endl; int num1; cout<<"请输入要修改学生的学号"<<endl; cin>>num1; cout<<"请输入要修改学生信息的类型"<<endl; cout<<"1.修改本科生的信息"<<endl; cout<<"2.修改研究生的信息"<<endl; cout<<"3.返回"<<endl; char c;cin>>c; if(c=='1') { College *p1,*p2; p1=Col; while(p1) { if(p1->num==num1) break; else { p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"学号是"<<num1<<"本科生的信息"<<endl; cout<<"姓名"<<p1->name<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学"<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"请输入要修改的信息,姓名,学号,数学,计算机,英语成绩"<<endl; cin>>p1->name>>p1->num>>p1->x>>p1->y>>p1->z; p1->AA=p1->x+p1->y+p1->z; cout<<"修改成功"<<endl; } else{ cout<<"未找到\n";} } if(c=='2') { Graduate *p1,*p2; p1=Gra; while(p1) { if(p1->num==num1) break; else { p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"学号是"<<num1<<"研究生的信息"<<endl; cout<<"姓名"<<p1->name<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学 "<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"请输入要修改的信息,姓名,学号,数学,计算机,英语成绩"<<endl; cin>>p1->name>>p1->num>>p1->x>>p1->y>>p1->z; p1->AA=p1->x+p1->y+p1->z; cout<<"修改成功"<<endl; } else{ cout<<"未找到\n";} } if(c=='3')return; } void Clas::ssearch() { system("cls"); cout<<"\n** 查找学生的信息**\n"<<endl; cout<<"请输入查找学生信息的类型"<<endl; cout<<"1.查找本科生的信息"<<endl; cout<<"2.查找研究生的信息"<<endl; cout<<"3.返回"<<endl; char c;cin>>c; if(c=='3')return; cout<<"输入查询方式"<<endl; cout<<"1.按学号查询"<<endl; cout<<"2.按姓名查找"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; switch(ch) { case '1': {if(c=='1'){ College *p1,*p2; p1=Col; long num1; cout<<"请输入要查询的学号"<<endl; cin>>num1; while(p1) { if(p1->num==num1) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"学号为"<<num1<<"本科生的信息"<<endl; cout<<"姓名"<<p1->name<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学 "<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"查询完毕。。。。"<<endl; } else cout<<"没有查找到!"<<endl; } if(c=='2') { Graduate *p1,*p2; p1=Gra; long num1; cout<<"请输入要查询的学号"<<endl; cin>>num1; while(p1) { if(p1->num==num1) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"学号为"<<num1<<"研究生的信息"<<endl; cout<<"姓名"<<p1->name<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学 "<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"查询完毕。。。。"<<endl; } else cout<<"没有查找到!"<<endl; } break; } case '2': { if(c=='1'){ College *p1,*p2; p1=Col; string sname; cout<<"请输入要查询的姓名"<<endl; cin>>sname; while(p1) { if(p1->name==sname) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"姓名为"<<sname<<"本科生的信息"<<endl; cout<<"学号"<<p1->num<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学 "<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"查询完毕。。。。"<<endl; } else cout<<"没有查找到!"<<endl; } if(c=='2') { Graduate *p1,*p2; p1=Gra; string sname; cout<<"请输入要查询的姓名"<<endl; cin>>sname; while(p1) { if(p1->name==sname) break; else{ p2=p1; p1=p1->next; } } if(p1!=NULL) { cout<<"姓名为"<<sname<<"研究生的信息"<<endl; cout<<"学号"<<p1->num<<"性别"<<p1->sex<<"电话"<<p1->phone<<"专业"<<p1->subject<<"数学 "<<p1->x<<"计算机 "<<p1->y<<"英语 "<<p1->z<<endl; cout<<"查询完毕。。。。"<<endl; } else cout<<"没有查找到!"<<endl; } break; } case '3':return; } } // 按学号进行排序 void Clas::pxh() { system("cls"); cout<<"\n** 按学号对学生的信息进行排序**\n"<<endl; cout<<"选择排序类型"<<endl; cout<<"1.对本科生进行排序"<<endl; cout<<"2.对研究生进行排序"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3')return; if(ch=='1'){ College *p1,*p2; p1=Col; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Col; for( i=1;i<n;++i) { p1=Col; if(p1->num>p1->next->num) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Col=p2; } p1=Col; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->num>p1->next->num) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Col; do{ College d; d=*p1; //p1->display(); cout<<d; p1=p1->next; }while(p1); } else if(ch=='2'){ Graduate *p1,*p2; p1=Gra; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Gra; for( i=1;i<n;++i) { p1=Gra; if(p1->num>p1->next->num) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Gra=p2; } p1=Gra; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->num>p1->next->num) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Gra; do{ p1->display(); p1=p1->next; }while(p1); } cout<<"排序完毕.....\n";return; } //按数学成绩进行排序 void Clas::psx() { system("cls"); cout<<"\n** 按成绩对学生的信息进行排序**\n"<<endl; cout<<"选择排序类型"<<endl; cout<<"1.对本科生进行排序"<<endl; cout<<"2.对研究生进行排序"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3')return; if(ch=='1'){ College *p1,*p2; p1=Col; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Col; for( i=1;i<n;++i) { p1=Col; if(p1->x>p1->next->x) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Col=p2; } p1=Col; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->x>p1->next->x) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Col; do{ p1->display(); p1=p1->next; }while(p1); } else if(ch=='2'){ Graduate *p1,*p2; p1=Gra; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Gra; for( i=1;i<n;++i) { p1=Gra; if(p1->x>p1->next->x) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Gra=p2; } p1=Gra; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->x>p1->next->x) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Gra; do{ p1->display(); p1=p1->next; }while(p1); } cout<<"排序完毕.....\n";return; } //按计算机成绩进行排序 void Clas::pyw() { system("cls"); cout<<"\n** 按计算机成绩对学生的信息进行排序**\n"<<endl; cout<<"选择排序类型"<<endl; cout<<"1.对本科生进行排序"<<endl; cout<<"2.对研究生进行排序"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3')return; if(ch=='1'){ College *p1,*p2; p1=Col; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Col; for( i=1;i<n;++i) { p1=Col; if(p1->y>p1->next->y) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Col=p2; } p1=Col; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->y>p1->next->y) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Col; do{ p1->display(); p1=p1->next; }while(p1); } else if(ch=='2'){ Graduate *p1,*p2; p1=Gra; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Gra; for( i=1;i<n;++i) { p1=Gra; if(p1->y>p1->next->y) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Gra=p2; } p1=Gra; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->y>p1->next->y) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Gra; do{ p1->display(); p1=p1->next; }while(p1); } cout<<"排序完毕.....\n";return; } //按英语成绩进行排序 void Clas::pyy() { system("cls"); cout<<"\n** 按英语成绩对学生的信息进行排序**\n"<<endl; cout<<"选择排序类型"<<endl; cout<<"1.对本科生进行排序"<<endl; cout<<"2.对研究生进行排序"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3')return; if(ch=='1'){ College *p1,*p2; p1=Col; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Col; for( i=1;i<n;++i) { p1=Col; if(p1->z>p1->next->z) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Col=p2; } p1=Col; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->z>p1->next->z) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Col; do{ p1->display(); p1=p1->next; }while(p1); } else if(ch=='2'){ Graduate *p1,*p2; p1=Gra; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Gra; for( i=1;i<n;++i) { p1=Gra; if(p1->z>p1->next->z) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Gra=p2; } p1=Gra; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->z>p1->next->z) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Gra; do{ p1->display(); p1=p1->next; }while(p1); } cout<<"排序完毕.....\n";return; } //按总成绩进行排序 void Clas::pAA() { system("cls"); cout<<"\n** 按总成绩对学生的信息进行排序**\n"<<endl; cout<<"选择排序类型"<<endl; cout<<"1.对本科生进行排序"<<endl; cout<<"2.对研究生进行排序"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3')return; if(ch=='1'){ College *p1,*p2; p1=Col; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Col; for( i=1;i<n;++i) { p1=Col; if(p1->AA>p1->next->AA) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Col=p2; } p1=Col; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->AA>p1->next->AA) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Col; do{ p1->display(); p1=p1->next; }while(p1); } else if(ch=='2'){ Graduate *p1,*p2; p1=Gra; if(!p1) {cout<<"还没有存入信息,请存入信息后再进行操作。。。。\n";return;} int n=1,i; while(p1->next) { n++;p1=p1->next;} cout<<"共有"<<n<<"条信息。。。"<<endl; p1=Gra; for( i=1;i<n;++i) { p1=Gra; if(p1->AA>p1->next->AA) { p2=p1->next; p1->next=p1->next->next; p2->next=p1; Gra=p2; } p1=Gra; while(p1->next->next) { p2=p1; p1=p1->next; if(p1->AA>p1->next->AA) { p2->next=p1->next; p1->next=p1->next->next; p2->next->next=p1; p1=p2->next; } } } p1=Gra; do{ p1->display(); p1=p1->next; }while(p1); } cout<<"排序完毕.....\n";return; } void Clas::staxis() { system("cls"); char c; cout<<"请选择以何种方式排序:"<<endl; cout<<"1......以学号方式排序"<<endl; cout<<"2......以数学成绩排序"<<endl; cout<<"3......以计算机成绩排序"<<endl; cout<<"4......以英语成绩排序"<<endl; cout<<"5......以总分排序"<<endl; cout<<"6......返回"<<endl; cout<<".......请选择(1-6)"<<endl; cin>>c; switch(c) { case '1':pxh();break; case '2':psx();break; case '3':pyw();break; case '4':pyy();break; case '5':pAA();break; case '6':return; } } void Clas::ssave() { system("cls"); char c; cout<<"\n保存学生信息(将要覆盖原来的文件),是否继续?[Y/N]: ";cin>>c; if(toupper(c)!='Y') return; cout<<"选择保存类型"<<endl; cout<<"1.对本科生的信息进行保存"<<endl; cout<<"2.对研究生的信息进行保存"<<endl; cout<<"3.返回"<<endl; char ch;cin>>ch; if(ch=='3') return; if(ch=='1'){ College *p=Col; if(!p) {cout<<"还没有信息哦。。请输入信息后在进行保存。。\n";return;} cout<<"下面开始保存本科生的信息"<<endl; ofstream cfile("c:\\cdate.txt",ios_base::binary); while(p) { p->display(); cfile<<p->name<<"\t"<<p->sex<<"\t"<<p->phone<<"\t"<<p->subject<<"\t"<<p->num<<"\t"<<p->x<<"\t"<<p->y<<"\t"<<p->z; cfile<<endl; p=p->next; } cfile.close(); cout<<"本科生信息保存完毕......"<<endl; } if(ch=='2'){ Graduate *p1=Gra; if(!p1) {cout<<"还没有信息哦。。请输入信息后在进行保存。。\n";return;} cout<<"下面开始保存研究生的信息"<<endl; ofstream gfile("c:\\gdate.txt",ios_base::binary); while(p1) { p1->display(); gfile<<p1->name<<"\t"<<p1->sex<<"\t"<<p1->phone<<"\t"<<p1->subject<<"\t"<<p1->num<<"\t"<<p1->x<<"\t"<<p1->y<<"\t"<<p1->z; p1=p1->next; } gfile.close(); cout<<"研究生信息保存完毕......"<<endl; } } void Clas::sload() { College *p; p=Col; while(p) { Col=p->next; delete p; p=Col; } Graduate *p1; p1=Gra; while(p1) { Gra=p1->next; delete p1; p1=Gra; } ifstream cfile("c:\\cdate.txt",ios_base::binary); ifstream gfile("c:\\gdate.txt",ios_base::binary); cout<<"加入本科生信息。。。\n" ; string ssubject,sname,sphone,ssex; int sx,sy,sz; long snum; cfile>>sname>>ssex>>sphone>>ssubject>>snum>>sx>>sy>>sz; while(cfile.good()) { College *s; s=Col; s=new College(sname,ssex,sphone,ssubject,snum,sx,sy,sz); s->display(); s->next=0; s->AA=sx+sy+sz; if(Col) { College *s1; s1=Col; while(s1->next) { s1=s1->next;} s1->next=s; } else { Col=s;} cfile>>sname>>ssex>>sphone>>ssubject>>snum>>sx>>sy>>sz; } cfile.close(); cout<<"本科生信息加入完毕。。。\n"; cout<<"加入研究生信息。。。。\n" ; gfile>>sname>>ssex>>sphone>>ssubject>>snum>>sx>>sy>>sz; while(gfile.good()) { Graduate *s; s=Gra; s=new Graduate(sname,ssex,sphone,ssubject,snum,sx,sy,sz); s->display(); s->next=0; s->AA=sx+sy+sz; if(Gra) { Graduate *s1; s1=Gra; while(s1->next) { s1=s1->next;} s1->next=s; } else { Gra=s;} gfile>>sname>>ssex>>sphone>>ssubject>>snum>>sx>>sy>>sz; } gfile.close(); cout<<"研究生信息加入完毕。。。\n"; } void Clas::menuselect() { while(true) {char c; cout<<"\n\t\t\t\t高校学生信息管理系统 \n"; cout<<"\t\t\t**********************************\n"; cout<<"\t\t\t*******10级+计科(1)班******\n"; cout<<"\t\t\t1..........增加学生信息...........\n"; cout<<"\t\t\t2...........删除学生信息..........\n"; cout<<"\t\t\t3...........修改学生信息..........\n"; cout<<"\t\t\t4...........查询学生信息..........\n"; cout<<"\t\t\t5................排序.............\n"; cout<<"\t\t\t6............保存信息.............\n"; cout<<"\t\t\t7.............读取信息............\n"; cout<<"\t\t\t8.................退出............\n"; cout<<"\t\t\t**********************************\n"; cout<<"\t\t\t\t请选择(1-8):"; cin>>c; switch(c) { case '1': sadd();break; case '2': sremove();break; case '3': samend();break; case '4': ssearch();break; case '5': staxis();break; case '6': ssave();break; case '7': sload();break; case '8': exit(0); } } } //主函数: #include<iostream> #include<string.h> #include<string> #include<fstream> #include<iomanip> #include"College.h" #include"Student.h" #include"Graduate.h" #include"Clas.h" #include<windows.h> using namespace std; int main() { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_INTENSITY |FOREGROUND_GREEN); cout<<"\n\t\t\t\t请输入密码(*^__^*) \n" ; string ss; cin>>ss; Clas a; if(ss==a.getpassword()) a.menuselect(); else exit(1); return 0; }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值