学生籍贯信息管理系统c++实验报告.docx
- 文档编号:8291748
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:9
- 大小:40.88KB
学生籍贯信息管理系统c++实验报告.docx
《学生籍贯信息管理系统c++实验报告.docx》由会员分享,可在线阅读,更多相关《学生籍贯信息管理系统c++实验报告.docx(9页珍藏版)》请在冰豆网上搜索。
学生籍贯信息管理系统c++实验报告
C++课程设计报告
学生籍贯信息管理系统
班级:
学号:
姓名:
一.程序设计思路及步骤
(一)程序设计步骤
(二)程序设计思路
二.流程图
三、完整源程序
四、运行界面
五、存在问题
六、心得体会
学生籍贯信息管理系统
一.程序设计思路及步骤
(一)程序设计思路
涉及一个学生籍贯信息系统,能够对高校的学生籍贯进行管理,包括了登记籍贯,查询籍贯,以及籍贯信息管理系统等。
基本要求:
1.实现对学生姓名、学号的录入
2.实现对学生籍贯信息的录入
3.计算并查询学生所对应的籍贯
4.修改学生籍贯
(二)程序设计步骤。
1.计学生界面。
2.建立类别:
学生基本信息类,籍贯信息类
3.合理使用继承和多态技术把各类组合起来。
二.流程图
开始
主界面
输入查询增加删除修改
3、完整源程序
#include
#include
#include
#include
usingstd:
:
string;
usingstd:
:
fstream;
usingstd:
:
cin;
usingstd:
:
cout;
usingstd:
:
endl;
usingstd:
:
ostream;
usingstd:
:
iostream;
usingstd:
:
ifstream;
usingstd:
:
ofstream;
usingstd:
:
ios;
classSTUDENT
{
private:
staticNO;//静态变量统计学生人数NO
longintIDno;
stringName,JiGuan;
public:
STUDENT(){}
friendostream&operator<<(ostream&out,STUDENT&a);//运算符<<重载。
使<<直接按照自己的想要的格式自动输出
voidLR()
{
cout<<"-----------------学生信息录入------------------"< SETNAME();SETIDNO();SETJG(); } voidSETNAME(stringname1)//函数重载 { Name=name1; } voidSETIDNO(intidno1)//函数重载 { IDno=idno1; } voidSETJG(stringJG1)//函数重载 { JiGuan=JG1; } stringGETNAME()//得到NAME的值 { returnName; } stringGETJG() { returnJiGuan; } longintGETIDNO()//得到学号的值 { returnIDno; } voidSETJG()//函数重载 { cout<<"请输入学生籍贯信息: "; cin>>JiGuan;cin.clear();cin.sync(); } voidSHow_s() { cout<<*this; } voidSETNAME()//函数重载 { cout<<"请输入学生姓名: "; cin>>Name;cin.clear();cin.sync(); } voidSETIDNO()//函数重载 { longintid; cout<<"请输入学生证: ";cin>>id;cin.clear();cin.sync(); if((id>=100000000)&&(id<=999999999)) { IDno=id; } else { cout<<"您输入的学生证有误,请重新输入! "< SETIDNO(); } } }; ostream&operator<<(ostream&out,STUDENT&a1)//运算符<<重载 { out< returnout; }; intSTUDENT: : NO=0;//静态变量NO赋初值 classMENU: publicSTUDENT { public: STUDENTS[100]; voidcd() { inti; cout<<"---------------学生籍贯信息管理系统-----------------"< cout<<""< cout<<"1.录入学生信息"< cout<<"2.读取学生信息"< cout<<"3.查询学生信息"< cout<<"4.修改学生信息"< cout<<"5.退出学生管理系统"< cout<<""< cout<<"----------------------------------------------------"< cin>>i;cin.clear();cin.sync(); switch(i) { case1: Lr();break; case2: Dr();break; case3: Cx();break; case4: Xg();break; case5: {system("pause");exit(0);} } } voidLr()//录入函数 { charm; intn=STUDENT: : NO; for(n;n<100;n++) { S[n].LR(); ofstreamfout("E: \\工业大学学生学籍表.txt",ios: : app); if(! fout) { cout<<"错误! ! 程序结束"< exit(0); } fout< fout.close(); cout<<"是否录入下一个学生的信息(Y/N)"< cin>>m;cin.clear();cin.sync(); STUDENT: : NO++; if(m=='N'||m=='n'){cout<<"即将返回主菜单....."< } } voidDr()//读取函数 { stringName2,JiGuan2; intm; longintIDNO2; ifstreamfin("E: \\工业大学学生学籍表.txt"); if(! fin) { cout<<"错误! ! ! ! 。 程序结束"< exit(0); } for(m=0;m<100;m++) { fin>>IDNO2>>Name2>>JiGuan2; S[m].SETIDNO(IDNO2);S[m].SETNAME(Name2);S[m].SETJG(JiGuan2); STUDENT: : NO++; if(S[m].GETIDNO()==S[m-1].GETIDNO()) { STUDENT: : NO=STUDENT: : NO-1; break; } } fin.close(); cout<<"导入成功"< cd(); } voidCx()//查询函数 { cout<<"目前注册了"< : NO<<"位学生"< longintn;intk; cout<<"请输入查询学生的学号: ";cin>>n;cin.clear();cin.sync(); for(intm=0;m : NO;m++) { if(S[m].GETIDNO()==n) { k=1; S[m].SHow_s(); } } if(k! =1) { cout<<"查无此人"< } cd(); } voidXg()//修改函数 { longintn; cout<<"请输入修改学生的学号: ";cin>>n;cin.clear();cin.sync(); for(intm=0;m<100;m++) { if(S[m].GETIDNO()==n) { cout<<"请修改"< S[m].SETIDNO();S[m].SETNAME();S[m].SETJG(); } } cd(); } }; voidmain() { MENUc1; c1.cd(); system("pause"); } 4、运行界面 五、存在问题 (一)水平有限,不能够完全的实现全部的功能。 (二)程序写的有点复杂。 (三)程序之间的衔接不是很好。 六、心得体会 这次课程设计中基本运用到了我们所学的所有知识点,这样不仅加深了对C++的各个知识点有了更深的理解,而且从中我也感受到了编写这样的大程序给我带来的无比的成就感,在这次课程设计中培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。 而且大大提高了动手的能力,使我充分体会到了在创造过程中的探索的艰难和成功的喜悦。 虽然这个项目还不是很完善,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 籍贯 信息管理 系统 c+ 实验 报告