《源代码学生信息管理系统.doc》由会员分享,可在线阅读,更多相关《源代码学生信息管理系统.doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流源代码学生信息管理系统.精品文档.注意:必须在你的电脑里建一个文档来存储学生信息,我是再d盘建了一个stu.txt的文档,所以你只要在d盘建一个一样的就可以了。如果你要改变存储路径,就必须把程序中的d:stu.txt全都改了#include#include#include#includeusing namespace std;void menu()system(cls); cout*endl;cout* 欢迎使用 *endl; cout*endl;cout* 某大学面向对象程序设计 *endl;cout* *endl;cout* 运行操作者:
2、* *endl;cout* *endl;cout* *级软件工程*班 *endl;cout*endl;cout* 1:输出学生信息 *endl;cout* 2:添加学生信息 *endl;cout* 3:修改学生信息 *endl;cout* 4:删除学生信息 *endl;cout* 5:查找 *endl;cout* 6:返回主菜单 *endl;cout* 7:退出并保存学生信息 *endl;cout*next=NULL;void student:insert(data a)node *p;p=(node *)new(node);p-x=a;p-next=head-next;head-next=p
3、;void student:output()node *p; int i=0,t,tempt;long int a100;p=head-next;if(p=NULL)cout没有学生信息!endl;elsecout姓名t学号t 住址t籍贯t性别t年龄endlx.num; p=p-next; t=i; for(int n=0;n=t;n+) /按学号大小排序 for(int j=n+1;jaj) tempt=an; an=aj; aj=tempt; p=head-next;if(p!=NULL)for(i=0;ix.num=ai) coutx.nametsetw(10)x.numtsetw(5)
4、x.addtsetw(3)x.nativetsetw(2)x.sextsetw(2)x.agenext; p=head-next;p=head-next;void student:del(char *name)node *p,*per;int flag=1;p=head-next;per=head;if(p=NULL)cout空链表,不能删除!x.name,name)=0)per-next=p-next;cout删除成功!next;if(flag=1)cout没有找到该学生!next;char str20;while(p!=NULL)if(strcmp(p-x.name,name)=0)tem
5、p=1;cout请选择需要修改的学生信息:endl;cout1.姓名:endl;cout2.学号:endl;cout3.年龄endl;cout4.住址:endl;cout5.籍贯:endl;cout6.性别:n;switch(n) case 1:coutstr;strcpy(p-x.name,str);break;case 2: coutm;p-x.num=m;break;case 3: couta;p-x.age=a;break;case 4: coutstr;strcpy(p-x.add,str);break;case 5: coutstr;strcpy(p-x.native,str);b
6、reak;case 6: coutstr;strcpy(p-x.sex,str);break;p=p-next;if(temp=0)cout该学生不存在!next;while(p!=NULL)if(strcmp(str,p-x.name)=0)cout姓名t学号t 住址t籍贯t性别t年龄endl; coutx.nametsetw(10)x.numtsetw(5)x.addtsetw(3)x.nativetsetw(2)x.sextsetw(2)x.agenext;if(temp=0)cout该学生不存在endl;student H;void insert_stu()/插入学生信息system(
7、cls);ofstream file(d:stu.txt,ios:app);data x;coutx.name;/filex.name ;/coutendl;coutx.num;/filex.num ;/coutendl;coutx.age;/filex.age ;coutx.add;/filex.add ;coutx.native;/filex.intrest ;coutx.sex;/filex.sexn;H.insert(x);file.close();void cout_stu()/输出学生信息system(cls);H.output();void del_stu()/删除学生信息sys
8、tem(cls);char name20;cout请输入要删除学生的名字:name;H.del(name);void readstu(void)/读文件data x;char str200;ifstream fout;fout.open(d:stu.txt);if(!fout) cout读取文件失败!endl; cout按任意键返回.endl; exit(-1); while(fout.getline(str,200)/fout.getline(str,200);cout-endl;/coutstrendl;int i=0;int j=0;while(stri!= )x.namej+=stri
9、+;x.namej=0; j=0;i+;x.num=0;while(stri!= )x.num=x.num*10+(stri+-0);j=0;i+;x.age=0;while(stri!= )x.age=x.age*10+(stri+-0);j=0;i+;while(stri!= )x.addj+=stri+;x.addj=0;j=0;i+;while(stri!= )x.nativej+=stri+;x.nativej=0;j=0;i+;while(stri!=0)x.sexj+=stri+;x.sexj=0;/coutx.name=x.num=x.age=x.add/=x.native=x
10、.sexnext;ofstream fin;fin.open(d:stu.txt);if(!fin)cout读取文件失败endl;exit(-1);while(q!=NULL)finx.name ;finx.num ;finx.age ;finx.add ;finx.native ;finx.sexnext;void change_stu()/修改学生信息system(cls);char str20;cout请输入要修改的学生的姓名:str;H.change(str);void find_stu()/查找学生信息system(cls);char str20;cout*endl;cout* 1:
11、输入姓名 *endl; cout*str;H.find(str);int main()char w=6;readstu();/读取文件的内容while(w!=7)switch(w) case 1:cout_stu();break; case 2:insert_stu();break; case 3:change_stu();break; case 4:del_stu();break; case 5:find_stu();break;case 6:menu();break;case 7:w=7;break; default:cout输入错误endl;coutendl菜单)w;writestu();coutendl欢迎下次使用!endlendl;return 1;