1、c+大作业学生信息管理系统方案面向对象程序设计大作业-学生信息管理系统学 院 名 称 专业班级 学生 _学 号 指 导 教 师 _完成时间: 年 月 日学生信息管理系统1.编程目的 模仿日常生活中所用的信息管理系统,自行设计一个简单的学生信息管理系统,要求能实现简单的增加,删除,查找学生信息的功能以及能显示学生的基本信息(包括,学号,性别,家庭住址等),在窗口中显示运行结果。2.系统简介程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输
2、入数据时,要给出清晰、明确的提示信息。3.编程思路为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。4.总体设计为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。5.关键技术说明将学生信息定义为一个类,采用多文件保存不同的信息数据。6.源代码#include#include#includestatic int N;using namespace std;void add()int num; string name,politic,address; char sex; ofstream out
3、file(student1.txt,ios:out); if(!outfile)cerropen file error!;exit(1); while(1) cout 请输入学生信息:nnnendl; cout 请输入学号:nnum; if(num=0)break; cout n 请输入:nname; cout n 请输入性别:nsex; cout n 请输入政治面貌:npolitic; cout n 请输入家庭住址:naddress; coutn; outfilenum name sex politic addressendl; N+; outfile.close();void change
4、() int num200; string name200,politic200,address200; char sex200; int n; string nam,poli,addr; char s; ifstream infile(student1.txt,ios:in); if(!infile)cerropen file error!;exit(1); for(int i=0;inuminameisexipoliticiaddressi; infile.close(); ofstream outfile(student1.txt,ios:out); if(!outfile)cerrop
5、en file error!;exit(1); while(1) cout !注意输入学号为0是停止输入!nendl; cout 请输入你要修改学生的学号:nn;coutn; if(n=0)break; coutn 请输入修改后的:nnam;coutn; cout 请输入修改后的性别:ns;coutn; cout 请输入修改后的政治面貌:npoli;coutn; cout 请输入修改后家庭住址:naddr;coutn; for(int i=0;iN;i+) if(numi=n)namei=nam;sexi=s;politici=poli;addressi=addr; outfilenumi n
6、amei sexi politici addressiendl; outfile.close(); cout修改完毕!nendl; void search() int num200; string name200,politic200,address200; char sex200; int n; ifstream infile(student1.txt,ios:in); if(!infile)cerropen file error!;exit(1); for(int i=0;inuminameisexipoliticiaddressi; infile.close();while(1)cout
7、请输入按何种方式查找:endl;cout -endl;cout | ;cout1.按学号查找 ; cout |endl;cout | ;cout2.按查找 ; cout |endl;cout | ;cout3.按性别查找 ; cout |endl;cout | ;cout4.按政治面貌查找;cout |endl;cout | ;cout5.按家庭住址查找;cout |endl;cout | ;cout6.返回主菜单 ; cout |endl;cout | ;cout0.退出查找 ; cout |endl;cout -nnn;coutn;if(n=6)break;switch(n)case 1:
8、while(1)cout请输入你要查找的学号(输入0返回查找方式):num199; if(num199=0)break; for(int i=0;iN;i+) if(numi=num199)cout查找结果为:endl; cout学号 性别 政治面貌 家庭住址endl; coutnumi namei sexi politici addressiendlendl; cout查找完毕!nendl; break; case 2:while(1)cout请输入你要查找的(输入0返回查找方式):name199; if(name199=0)break; for(int i=0;iN;i+) if(name
9、i=name199)cout查找结果为:endl; cout学号 性别 政治面貌 家庭住址endl; coutnumi namei sexi politici addressiendlendl; cout查找完毕!nendl; ;break; case 3:while(1)cout请输入你要查找的性别(输入0返回查找方式):sex199; if(sex199=0)break; for(int i=0;iN;i+) if(sexi=sex199)cout查找结果为:endl; cout学号 性别 政治面貌 家庭住址endl; coutnumi namei sexi politici addres
10、siendlendl; cout查找完毕!nendl; break; case 4:while(1)cout请输入你要查找的政治面貌(输入0返回查找方式):politic199; if(politic199=0)break; for(int i=0;iN;i+) if(politici=politic199)cout查找结果为:endl; cout学号 性别 政治面貌 家庭住址endl; coutnumi namei sexi politici addressiendlendl; cout查找完毕!nendl; break; case 5:while(1)cout请输入你要查找的家庭住址(输入
11、0返回查找方式):address199; if(address199=0)break; for(int i=0;iN;i+) if(addressi=address199)cout查找结果为:endl; cout学号 性别 政治面貌 家庭住址endl; coutnumi namei sexi politici addressiendlendl; cout查找完毕!nendl; break; default:cout输入错误!nendl;break;void del()int num200,n; string name200,politic200,address200; char sex200;
12、 ifstream infile(student1.txt,ios:in); if(!infile)cerropen file error!;exit(1); cout 学号 性别 政治面貌 家庭住址endl; for(int i=0;inuminameisexipoliticiaddressi; cout numi namei sexi politici addressiendlendl; infile.close(); ofstream outfile(student1.txt,ios:out); if(!outfile)cerropen file error!;exit(1); whil
13、e(1) coutnn!注意输入学号为0是停止删除!nendl; cout请输入你要删除学生的学号:n; if(n=0)break; for(int i=0;iN;i+) if(numi!=n)outfilenumi namei sexi politici addressiendl; cout删除完毕!endl; N-; outfile.close();void show() int num; string name,politic,address; char sex; ifstream infile(student1.txt,ios:in); if(!infile)cerropen file
14、 error!;exit(1); cout学号 性别 政治面貌 家庭住址endl; for(int i=0;inumnamesexpoliticaddress; coutnum name sex politic addressendlendl;int main()int n;while(1)cout -endl;cout | ;cout1.增加学生记录;cout |endl;cout | ;cout2.删除学生记录;cout |endl;cout | ;cout3.修改学生记录;cout |endl;cout | ;cout4.查找学生记录;cout |endl;cout | ;cout5.显
15、示学生记录;cout |endl;cout |;cout(注意:输入学号为0时退出输入!);cout|endl;cout -nnendl;cout 请选择:nn;coutn;if(n=0)break;switch(n)case 1:add();break;case 2:del();break;case 3:change();break;case 4:search();break;case 5:show();break;default:break;7.测试(主界面及各功能模块的运行图及说明)一:主界面二:增加学生记录:三:删除学生记录:四:修改学生记录:五:查找学生记录:六:显示学生记录 8.系统评价及展望系统能实现简单的增加,删除,修改,查找学生信息,但是如果不按要求输入的时候可能会出现系统崩溃,得不到运行结果。希望在以后的学习中能学习更多的知识,完善自己的程序设计。