c++大作业学生信息管理系统方案.docx
《c++大作业学生信息管理系统方案.docx》由会员分享,可在线阅读,更多相关《c++大作业学生信息管理系统方案.docx(15页珍藏版)》请在冰点文库上搜索。
c++大作业学生信息管理系统方案
面向对象程序设计大作业
------学生信息管理系统
学院名称
专业班级
学生____
学号
指导教师___
完成时间:
年月日
学生信息管理系统
1.编程目的
模仿日常生活中所用的信息管理系统,自行设计一个简单的学生信息管理系统,要求能实现简单的增加,删除,查找学生信息的功能以及能显示学生的基本信息(包括,学号,性别,家庭住址等),在窗口中显示运行结果。
2.系统简介
程序正常运行后,屏幕上显示一个文字菜单(根据序号选定相应的操作项目),当用户选定操作项目所对应的序号时,根据应用程序的提示信息,从键盘上输入相应的数据。
应用程序正常运行后,要在屏幕上显示一个文字菜单;要求用户输入数据时,要给出清晰、明确的提示信息。
3.编程思路
为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
4.总体设计
为各项操作功能设计一个菜单,应用程序运行后,先显示这个菜单,然后用户通过菜单项选择希望进行的操作项目。
5.关键技术说明
将学生信息定义为一个类,采用多文件保存不同的信息数据。
6.源代码
#include
#include
#include
staticintN;
usingnamespacestd;
voidadd()
{intnum;
stringname,politic,address;
charsex;
ofstreamoutfile("student1.txt",ios:
:
out);
if(!
outfile){cerr<<"openfileerror!
";exit
(1);}
while
(1){
cout<<"★请输入学生信息:
\n\n\n"<cout<<"◆请输入学号:
\n"<cin>>num;
if(num==0)break;
cout<<"\n◆请输入:
\n"<cin>>name;
cout<<"\n◆请输入性别:
\n"<cin>>sex;
cout<<"\n◆请输入政治面貌:
\n"<cin>>politic;
cout<<"\n◆请输入家庭住址:
\n"<cin>>address;
cout<<"\n";
outfile<N++;
}
outfile.close();
}
voidchange()
{
intnum[200];
stringname[200],politic[200],address[200];
charsex[200];
intn;
stringnam,poli,addr;
chars;
ifstreaminfile("student1.txt",ios:
:
in);
if(!
infile){cerr<<"openfileerror!
";exit
(1);}
for(inti=0;i{infile>>num[i]>>name[i]>>sex[i]>>politic[i]>>address[i];}
infile.close();
ofstreamoutfile("student1.txt",ios:
:
out);
if(!
outfile){cerr<<"openfileerror!
";exit
(1);}
while
(1)
{
cout<<"!
注意输入学号为0是停止输入!
\n"<cout<<"★请输入你要修改学生的学号:
\n"<cin>>n;cout<<"\n";
if(n==0)break;
cout<<"\n★请输入修改后的:
\n"<cin>>nam;cout<<"\n";
cout<<"★请输入修改后的性别:
\n"<cin>>s;cout<<"\n";
cout<<"★请输入修改后的政治面貌:
\n"<cin>>poli;cout<<"\n";
cout<<"★请输入修改后家庭住址:
\n"<cin>>addr;cout<<"\n";
for(inti=0;i{if(num[i]==n){name[i]=nam;sex[i]=s;politic[i]=poli;address[i]=addr;}
outfile<outfile.close();
cout<<"修改完毕!
\n"<}
}
voidsearch()
{
intnum[200];
stringname[200],politic[200],address[200];
charsex[200];
intn;
ifstreaminfile("student1.txt",ios:
:
in);
if(!
infile){cerr<<"openfileerror!
";exit
(1);}
for(inti=0;i{infile>>num[i]>>name[i]>>sex[i]>>politic[i]>>address[i];}
infile.close();
while
(1)
{
cout<<"请输入按何种方式查找:
"<cout<<"---------------------------------"<cout<<"|";cout<<"1.按学号查找";cout<<"|"<cout<<"|";cout<<"2.按查找";cout<<"|"<cout<<"|";cout<<"3.按性别查找";cout<<"|"<cout<<"|";cout<<"4.按政治面貌查找";cout<<"|"<cout<<"|";cout<<"5.按家庭住址查找";cout<<"|"<cout<<"|";cout<<"6.返回主菜单";cout<<"|"<cout<<"|";cout<<"0.退出查找";cout<<"|"<cout<<"---------------------------------\n\n"<cin>>n;
cout<<"\n";
if(n==6)break;
switch(n)
{case1:
while
(1){cout<<"请输入你要查找的学号(输入0返回查找方式):
"<>num[199];
if(num[199]==0)break;
for(inti=0;i{if(num[i]==num[199]){cout<<"查找结果为:
"<cout<<"学号性别政治面貌家庭住址"<cout<}
}
cout<<"查找完毕!
\n"<}break;
case2:
while
(1){cout<<"请输入你要查找的(输入0返回查找方式):
"<>name[199];
if(name[199]=="0")break;
for(inti=0;i{if(name[i]==name[199]){cout<<"查找结果为:
"<cout<<"学号性别政治面貌家庭住址"<cout<}
}
cout<<"查找完毕!
\n"<};break;
case3:
while
(1){cout<<"请输入你要查找的性别(输入0返回查找方式):
"<>sex[199];
if(sex[199]=='0')break;
for(inti=0;i{if(sex[i]==sex[199]){cout<<"查找结果为:
"<cout<<"学号性别政治面貌家庭住址"<cout<}
}
cout<<"查找完毕!
\n"<}break;
case4:
while
(1){cout<<"请输入你要查找的政治面貌(输入0返回查找方式):
"<>politic[199];
if(politic[199]=="0")break;
for(inti=0;i{if(politic[i]==politic[199]){cout<<"查找结果为:
"<cout<<"学号性别政治面貌家庭住址"<cout<}
}
cout<<"查找完毕!
\n"<}break;
case5:
while
(1){cout<<"请输入你要查找的家庭住址(输入0返回查找方式):
"<>address[199];
if(address[199]=="0")break;
for(inti=0;i{if(address[i]==address[199]){cout<<"查找结果为:
"<cout<<"学号性别政治面貌家庭住址"<cout<}
}
cout<<"查找完毕!
\n"<}break;
default:
cout<<"输入错误!
\n"<}
}
}
voiddel()
{intnum[200],n;
stringname[200],politic[200],address[200];
charsex[200];
ifstreaminfile("student1.txt",ios:
:
in);
if(!
infile){cerr<<"openfileerror!
";exit
(1);}
cout<<"学号性别政治面貌家庭住址"<for(inti=0;i{infile>>num[i]>>name[i]>>sex[i]>>politic[i]>>address[i];
cout<<""<infile.close();
ofstreamoutfile("student1.txt",ios:
:
out);
if(!
outfile){cerr<<"openfileerror!
";exit
(1);}
while
(1)
{cout<<"\n\n!
注意输入学号为0是停止删除!
\n"<cout<<"★请输入你要删除学生的学号:
"<cin>>n;
if(n==0)break;
for(inti=0;i{if(num[i]!
=n)outfile<cout<<"删除完毕!
"<N--;
}
outfile.close();
}
voidshow()
{intnum;
stringname,politic,address;
charsex;
ifstreaminfile("student1.txt",ios:
:
in);
if(!
infile){cerr<<"openfileerror!
";exit
(1);}
cout<<"学号性别政治面貌家庭住址"<for(inti=0;i{infile>>num>>name>>sex>>politic>>address;
cout<}
intmain()
{intn;
while
(1){
cout<<"---------------------------------"<cout<<"|";cout<<"1.增加学生记录~";cout<<"|"<cout<<"|";cout<<"2.删除学生记录~";cout<<"|"<cout<<"|";cout<<"3.修改学生记录~";cout<<"|"<cout<<"|";cout<<"4.查找学生记录~";cout<<"|"<cout<<"|";cout<<"5.显示学生记录~";cout<<"|"<cout<<"|";cout<<"(注意:
输入学号为0时退出输入!
)";cout<<"|"<cout<<"---------------------------------\n\n"<cout<<"☆请选择:
\n"<cin>>n;
cout<<"\n";
if(n==0)break;
switch(n)
{case1:
add();break;
case2:
del();break;
case3:
change();break;
case4:
search();break;
case5:
show();break;
default:
break;
}
}
}
7.测试(主界面及各功能模块的运行图及说明)
一:
主界面
二:
增加学生记录:
三:
删除学生记录:
四:
修改学生记录:
五:
查找学生记录:
六:
显示学生记录
8.系统评价及展望
系统能实现简单的增加,删除,修改,查找学生信息,但是如果不按要求输入的时候可能会出现系统崩溃,得不到运行结果。
希望在以后的学习中能学习更多的知识,完善自己的程序设计。