文档详情

学籍管理系统c++版.doc

发布:2017-11-25约9.08千字共30页下载文档
文本预览下载声明
#includeiostream //#includeiomanip #includefstream #includestring using namespace std; #define max 100; class student { public: student *next; public: string name;//姓名 string sex;//性别 long num;//学号 int x,y,z;//数学,语文,英语 int AA;//总分 void play() { cout 姓名:name 性别:sex 学生的学号是:num 数学:x 语文:y 英语:z 总分:AAendl;}; student(string sname,string ssex,long snum,int sx,int sy,int sz) { name=sname; sex=ssex; num=snum; x=sx; y=sy; z=sz; } }; class cla { public: cla()//构造函数 { stu=0; } ~cla()//析构函数 { student *p; p=stu; while(p) { p=p-next; delete stu; stu=p; } stu=0; } void sadd(); //添加 void sremove(); //删除 void samend(); //修改 void ssearch(); //查询 void staxis(); //排序 void ssave(); //保存 void display_chinese(); //均分 及格率 //排序函数 void pxh(); void psx(); void pyw(); void pyy(); void pAA(); private: student *stu; //头接点 }; void cla::sadd()//添加 {int e=1; student *q; string name1; string sex1; long num1; int x1,y1,z1; system(cls); cout请输入学生信息endl; cout学生姓名:endl; cinname1; do { cout性别(男,女):endl; cinsex1; if(sex1!=男sex1!=女) { cout性别错误(男或女)!请重新输入!endl; e=1; } else e=0; }while(e); return ; cout学号:endl; cinnum1; cout数学:endl; cinx1; cout语文:endl; ciny1; cout英语:endl; cinz1; q=new student(name1,sex1,num1,x1,y1,z1); q-next=0; q-AA=x1+y1+z1; if(stu) { student *t; t=stu; if(t-num==num1) { cout学号已存在,请重新输入endl; return; } while(t-next) { if(t-num==num1) { cout学号已存在,请重新输入endl; return; } t=t-next; } t-next=q; } else { stu=q; } cout输入完毕endl; } void cla::sremove()//删除 { system(cls); int num1; cout\n** 删除学生信息 **\n; cout请输入想要删除学生的学号:; cinnum1; //查找要删除的结点 student *p1,*p2; p1=stu; while(p1) { if(p1-num==num1) break; else { p2=p1; p1=p1-next; } } //删除结点 if(p1!=NULL)//若找到结点,则删除 { p1-play(); cout确定删除吗?[Y/N]endl; char c;cinc; if(toupper(c)!=Y) return; if(p1==stu) //若要删除的结点是第一个结点 { stu=p1-next; delete p1; } els
显示全部
相似文档