C++课程设计学生管理系统.docx
- 文档编号:2257619
- 上传时间:2022-10-28
- 格式:DOCX
- 页数:19
- 大小:170.28KB
C++课程设计学生管理系统.docx
《C++课程设计学生管理系统.docx》由会员分享,可在线阅读,更多相关《C++课程设计学生管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
C++课程设计学生管理系统
课程设计目的
熟悉程序设计的基本流程,掌握程序设计基本方法,基本技巧、并能综合运用,提高程序设计能力。
通过实践,熟悉掌握C++语言中面向过程部分的内容,能够运用C++语言解决一个实际问题。
设计环境及语言
VC+集成开发环境(IDE)MicrosoftvisualC++6。
0语言。
课题设计步骤
1.需求分析从软件使用者处获得用户需求,确定课题开发应具备的功能;
2.系统结构设计将整个系统功能分块,考虑各个功能模块应具备的功能,模块间的联系,划分不同的子系统进行设计;
3.数据设计设计系统中新的数据类型、存储类型;
4.代码设计在以上阶段的基础上编写代码;
5.软件测试使用实现设计好的测试用例、测试次数对编制的程序进行测试,发现存在错误(包括潜在的问题),加以修改,完善。
课程设计内容:
1.学生个人信息管理系统。
本课程设计通过建立、修改、查询、显示、排序等显示学生个人信息等功能,具体的技术有:
(1)结构、枚举类型的定义与使用;
(2)数组的定义使用;
(3)程序的三种基本控制流程的综合、灵活运用;
(4)普通指针和数组指针的定义和使用;
(5)各类函数的定义和调用;
(6)文件的输入/输出
(7)程序的调试。
2.具备的功能有:
(1)新增学生数据的添加:
姓名,成绩.
(2)修改学生信息:
输入姓名,根据姓名,修改该学生的三项学生信息数据并显示;
(3)删除一个学生信息:
输入姓名,根据学生姓名删除该生信息;
(4)根据学生姓名查询:
输入姓名,查找该学生并显示学生个人信息;
(5)显示全部学生信息;
(6)根据学生姓名首字母先后排序学生个人信息;
3.设计要求
(1)在VisualC++控制台应用程序方式下设计课题。
(2)设计的程序完成该课程规定的功能。
(3)程序具有一定的健壮性.
4.设计部分
#include h〉 #include〈string.h> #include〈fstream。 h〉 classstu//定义一个stu类 { charname[20]; doublemath,chinese,english,average,sum; public: stu() { } stu(charn[20],doublema,doublechin,doubleeng) { strcpy(name,n); math=ma; chinese=chin; english=eng; } doublegetsum() { sum=chinese+english+math; returnsum; } doublegetaver() { average=getsum()/3; returnaverage; } friendvoidmain(); }; voidmain() { cout<〈"请选择您需要的操作! "〈 cout〈〈”操作: "<〈endl; cout〈〈”(0)数据录入"< cout〈〈" (1)增加人员"〈〈endl; cout<〈” (2)删除人员”〈〈endl; cout<<”(3)修改数据"< cout〈〈"查询: "< cout〈<”(4)按总成绩查询”〈〈endl; cout<<"(5)按姓名查询”〈〈endl; cout<〈"(6)输出所有学生的数据"〈〈endl; cout<<"成绩名词"< cout<〈"(7)按总分查询排名”〈 cout<〈"(8)按语文查询排名"<〈endl; cout<<"(9)按数学查询排名"〈〈endl; cout〈<”(y)按英语查询排名”〈 cout〈<”选择相关操作请输入相对的括号里的阿拉伯数字! "<〈endl; charp;charw; stu*s[50]; ofstream*file[50]; inti=0; intj=0; boolflag2=0; do { cin>>p; if((p>='0'&&p〈='10')) flag2=1; else cout<<"指令错误! 请重新输入: "< }while(flag2==0); do{ switch(p) { case'0': { charc; charname[20];doublemath,chinese,english; do{ cout<<"请输入姓名"< cin〉>name; cout〈〈”请输入数学成绩: ”〈〈endl; cin>>math; cout<〈"请输入语文成绩: "< cin〉>chinese; cout<<"请输入外语成绩: "〈 cin>〉english; file[j]=newofstream(”d: \\document",ios: : ate); *file[j]<<”姓名"〈 j++; s[i]=newstu(name,math,chinese,english); i++; cout〈〈”数据录入成功,想继续录入吗(y/n)"<〈endl; cin>>c; flag2=0; do { if(c! =’y’&&c! ='n') { cout<<”指令错误! 请重新输入! "< cin〉>c; } else flag2=1; }while(flag2==0); }while(c==’y’); break; } case'4’: { doublet;charc; do { intflag1=0; cout〈<”请输入你要查询学生的总成绩"< cin〉>t; for(intq=0;q〈i;q++) { if(s[q]—〉getsum()==t) { flag1=1; cout<〈”您要查询的学生是: ”〈<(*s[q])。 name〈〈endl; } } if(flag1==0) cout〈<"对不起! 您要查询的学生不存在! ”<〈endl; cout<<”您想继续查询吗? (y/n)"< cin〉>c; if(c! ='y’&&c! =’n') { cout<〈"指令错误! 请重新输入! "< cin>>c; } } while(c=='y’); break; } case'5’: { charn[20];intj=0;charc; do{ intflag=0; cout<〈"请输入你要查询的学生姓名”〈〈endl; cin〉〉n; for(intj=0;j〈i;j++) { if(strcmp(n,(*s[j])。 name)==0) { flag=1; cout〈<"您要查询的学生是: "<〈(*s[j]).name< cout<〈(*s[j])。 name〈〈”的总成绩成绩是"<〈(*s[j]).getsum()< "<<(*s[j]).getaver()〈〈endl; } } if(flag==0) cout〈<”对不起! 您要查询的学生不存在! "<〈endl; cout〈<"您想继续查询吗? (y/n)”〈 cin>>c; if(c! =’y’&&c! =’n') { cout<〈"指令错误! 请重新输入! "〈 cin〉〉c; } } while(c=='y’); break; } case’1': { charname[20];doublemath,chinese,english; charc; do { cout<〈”请输入您要增加的学生的姓名: ”<〈endl; cin〉>name; cout<〈”请输入数学成绩: ”〈 cin〉〉math; cout〈〈"请输入语文成绩: ”<〈endl; cin>>chinese; cout〈〈"请输入外语成绩: "<〈endl; cin>〉english; file[j]=newofstream(”d: \\document”,ios: : ate); *file[j]〈<"姓名”< j++; s[i]=newstu(name,math,chinese,english); i++; cout<〈”数据录入成功,想继续录入吗(y/n)”< cin〉〉c; if(c! =’y'&&c! =’n’) { cout〈<”指令错误! 请重新输入! "〈〈endl; cin〉>c; } }while(c=='y’); break; } case'2’: { charname[20];boolflag3=0;charc; do{ cout<<"请输入您要删除的学生姓名: "〈 cin〉〉name; for(inth=0;h { if(strcmp(name,s[h]—>name)==0) { flag3=1; i—-; do{ s[h]=s[h+1]; h++; }while(h〈=i); } } if(flag3==0) cout<<"您要求删除的对象本来就不存在! 请检查输入的正确性! "; cout<<"要继续删除吗? (y/n)”〈 cin〉>c; if(c! =’y’&&c! ='n') { cout<<”指令错误! 请重新输入! "〈〈endl; cin>〉c; } }while(c=='y'); break; } case’3': { charname[20];doublemat,chin,eng;flag2=0; charc; do { cout<<”请输入您要修改的学生的姓名: "〈〈endl; cin>>name; for(inth=0;h〈i;h++) { if(strcmp(name,s[h]->name)==0) { flag2=1; cout<<"请输入新的数学成绩: "〈 cin〉〉mat; cout<<"请输入新的语文成绩: "< cin>>chin; cout<〈"请输入新的外语成绩: ”〈 cin>>eng; s[h]-〉chinese=chin; s[h]—>math=mat; s[h]-〉english=eng; cout<<”数据修改成功! "; } } if(flag2==0) { cout〈<”您要修改的学生本来就不存在! 请检查重新输入! ”<〈endl; } cout<〈”想继续修改吗(y/n)”〈〈end
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 学生 管理 系统