2022年C++学籍管理系统 .pdf

上传人:Che****ry 文档编号:27261537 上传时间:2022-07-23 格式:PDF 页数:26 大小:553.16KB
返回 下载 相关 举报
2022年C++学籍管理系统 .pdf_第1页
第1页 / 共26页
2022年C++学籍管理系统 .pdf_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《2022年C++学籍管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年C++学籍管理系统 .pdf(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、C+语言课程设计(题目)学生管理系统:电子信息系班级学号4110622 学生姓名邓 峰提交日期2012 年 7 月 12 日成绩名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 26 页 - - - - - - - - - 学生管理系统一系统实现的目标1.课程设计的任务:制作一个小型的学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统的退出。系统的设计要求用到C+面向对象的程序设计,要求用到类来实现

2、,同时每一个功能用到一个函数。(1)基本功能:学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩, C+成绩)成绩统计(各科总成绩,各科平均成绩,各科的及格率)(2)扩展功能:学生数据的添加、修改、与删除学生数据的读取与存储(3) 系统特点:系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩,平均成绩,及格律都进行了统计;系统数据的录入除可以手工录入外,还可以采用文件的录入;系统统计学生的基本信息较全面,包括学号,姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、C+的成绩;程序中查找运用了两种查找方式即学号查找和姓名查找。2.系统实现方

3、案第一步:分析题目,建立类并派生出它的子类。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 26 页 - - - - - - - - - 第二步:画出流程,根据流程图编写程序清单第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法)。第五步:及时整理资料,撰写课程设计报告中有关这个题目的内容。二流程图三核心算法及分析类:student 数据成员编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩, C+成绩选择菜单序号1 录入信息2 显示信息3

4、查找信息4 删除信息5 修改信息6 统计成绩7 保存信息0 退出按 要 求逐 步 输入 学 生信息选 择 修 改方式1?编号查询姓名查找2?保存?输入学生信息退出保存名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 26 页 - - - - - - - - - 类:school 成员函数录入函数 Input():输入编号到计算机的成绩;统计函数 count():统计各科的总成绩, C+平均成绩,统计各科的及格率;查询函数 found():按学号或姓名查找学生的记录;修改函数

5、 mend():修改指定学号学生成绩记录;删除函数 del():删除指定学号学生记录;输出函数 show():输出班级所有学生成绩记录;显示函数 zhuyemian():调用其他函数;主菜单函数 mainmenu():显示菜单;等等四数据结构及其意义采用数组结构,五模块设计及其代码1. 头文件: student school.h 主要功能:声明函数,定义类等;Student school.h: #include #include #include /读写文件#include /这里主要为输出域宽为几个字符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - -

6、- - - - - - 名师精心整理 - - - - - - - 第 4 页,共 26 页 - - - - - - - - - class student protected: int number; char name20; char sex6; char place20; char nation10; char birth40; char party20; char id40; float score3; public: student *next; student() student() char* getname() return name; int getnumber() retur

7、n number; double getscore(int i) return scorei; float getg() return (score0+score1+score2); void input(); void output(); void input(ifstream & is); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 26 页 - - - - - - - - - void output(ofstream & os); ; class school

8、public: school() head=new student; head-next=NULL; key=0; school() delete head; void input(); void mend(); void del(); int find(student *p,int num,char *pn=); void found(); void show(); void count(); void save(); void begin(); void clear(); char mainmenu(); int getkey() return key; void setkey(int k

9、) key=k; void print(); private: student *head; int key ,i; ; 2. 主界面: mainmenu.cpp,zhuyemian.cpp ;主要功能:程序运行后会出现一个简捷的窗口,便于用户查询数据;Mainmenu.cpp: #includestudent school.h char school:mainmenu() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 26 页 - - - - - - - - - ch

10、ar n6; coutnn 欢迎进入学籍管理系统endlendl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * 1: 录入学生信息 * *endl * * 2: 显示学生信息 * *endl * * 3: 查找学生信息 * *endl * * 4: 删除学生信息 * *endl * * 5: 修改学生信息 * *endl * * 6: 统计学生成绩 * *endl * * 7: 保存学生信息 *

11、 *endl * * 0: 退出系统 * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl n; return n0; Zhuyemian.cpp: #includestudent school.h void main()/主函数school pp; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - -

12、 - - 第 7 页,共 26 页 - - - - - - - - - int k=1; char n; while(k=1) n=pp.mainmenu(); switch(n) case 1:pp.input(); break; case 2:pp.show(); break; case 3:pp.found(); break; case 4:pp.del(); break; case 5:pp.mend();break; case 6:pp.count(); break; case 7:pp.save(); break; case 0: if(pp.getkey()=1) coutk;

13、if(k=1) pp.save(); pp.clear(); k=0; break; 3.输入模块: input.cpp,input1.cpp; 主要功能:能够输入并浏览学生的基本信息(编号,姓名,性别,籍贯,民族,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 26 页 - - - - - - - - - 生日,政治面貌,省份证,数学成绩,英语成绩,C+ 成绩) ;Input.cpp: #includestudent school.h void student: inp

14、ut() int e=1; coutttt按提示输入 :endl; coutnumber; coutname; do coutsex; if(strcmp(sex,男)=0 | strcmp(sex,女)=0) coutplace; coutnation; coutbirth; coutparty; coutid; coutscore0; coutscore1; coutscore2; e=0; else coutttt无此类型性别 ! 重新输入 !numbernamesexplacenationbirthpartyid score0score1score2; is.get(); ; Inpu

15、t1.cpp: #includestudent school.h void school:input() student *p,*p2=NULL; p=head; int n; while(p-next) p=p-next; while(n) p2=new student; p2-input(); p-next=p2; p2-next=NULL; p=p-next; school:setkey(1); coutn; / 子查找函数int school:find(student *p1,int num,char *pn) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - -

16、- - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 26 页 - - - - - - - - - student *p; p=head; while(p-next) (*p1)=p; if( (p-next)-getnumber()=num|!strcmp( (p-next)-getname(),pn ) ) return 1; p=p-next; return 0; void school:begin()/初始化函数 student *p,*p2; p=head; clear(); long t; ifstream is(student.txt

17、,ios:in); if(!is) ofstream os(student.txt,ios:out); os.close(); return ; int num=-1; while(1) num=-1; t=is.tellg(); isnum; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 26 页 - - - - - - - - - is.seekg(t); if(numinput(is); p-next=p2; p2-next=NULL; p=p-next; 4.

18、 显示模块: show.cpp 主要功能:能够把学生的信息显示出来;Show.cpp: #includestudent school.h void student: output() cout 学生基本信息如下 :endl; cout编 号 :number 姓 名 :name 性 别 :sex 籍贯:place 民族:nation 生日:birth 政治面貌 :partyendl 身份证号 :id 数学:score0 英语:score1 C+:score2 总分:getg()endlendl; ; void student:output(ofstream & os) ossetw(6)numb

19、er setw(15)namesetw(6)sexsetw(20)place setw(6)nationsetw(20)birthsetw(20)party 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 26 页 - - - - - - - - - setw(20)idsetw(6)score0setw(6)score1 setw(6)score2next) (p-next)-output(); p=p-next; 5. 查找模块: found.cpp ;主要功能:能

20、够按学号或姓名查找学生的信息;Found.cpp: #includestudent school.h void school:found() student *p; int num=-1,n=9; char name20=; do coutn; while(n2); if(n=1) coutnum; if(n=2) coutname; if(!find(&p,num,name) ) couttt找不到你要查找的内容 !next)-output(); 6. 删除模块: del.cpp ;主要功能:能够实现对学生信息的查询和修改;Del.cpp: #includestudent school.h

21、void school:del() student *p,*p2; int num; coutnum; if( !find(&p,num,) ) couttt找不到你要删除的内容 !next)-output(); p2=p-next; p-next=p2-next; delete p2; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 26 页 - - - - - - - - - school:setkey(1); 7. 修改模块: mend.cpp;主要功能:修改指定

22、学号学生成绩记录;Mend.cpp:#includestudent school.h void school:mend() student *p; int num=-1,n; char name20=; do coutn; while(n2); if(n=1) coutnum; if(n=2) coutname; if( !find(&p,num,name) ) couttt找不到你要修改的内容 !next)-output(); (p-next)-input(); school:setkey(1); 8. 统计模块: clear.cpp;主要功能:统计各科的总成绩,计算平均成绩,统计各科的及格

23、率;Clear.cpp: #includestudent school.h void school:clear()/清空函数student *p,*p2; p=head-next; while( p ) p2=p; p=p-next; delete p2; void school:count()/统计函数student *p; p=head; int n=0; double g3=0,0,0; float j3=0,0,0; while(p-next) p=p-next; n+; for(int i=0;igetscore(i) ); (p-getscore(i) )=60.0? ji+ :

24、0 ; coutttt数学总分 :g0endl; cout ttt平均分 :g0/nendl; cout ttt及格率 :j0/nendl; coutttt英语总分 :g1endl; coutttt平均分 :g1/nendl; coutttt及格率 :j1/nendl; couttttC+总分: g2endl; cout ttt平均分 : g2/nendl; cout ttt及格率 :j2/nnext) (p-next)-output(os); p=p-next; coutttt文件已保存 ! endl; school:setkey(0); 六实现情况1.主菜单2.录入学生信息名师资料总结 -

25、 - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 26 页 - - - - - - - - - 为了算出及格率,成绩是可以写的,没有真实性。3.显示学生信息4.查找学生信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 26 页 - - - - - - - - - 5.统计学生信息六总结此次 c+课程设计,我们学会了如何用C+编写一个简单的应用程序。首先要对程序的

26、设计要求有一个比较明确的认识,然后系统分析与系统设计,最后是代码设计与调试。程序实现上,设计了简单的查询界面,将各个功能集中出来按照程序编写原则,便于查询。根据 C+课程所学的概念、理论和方法,按照C+程序设计的基本步骤,设计出一个适当规模的程序;进一步加深对C+语言的理解和掌握。理论联系实际,加深和巩固所学的理论知识,提高实践能力和计算机的综合运用能力。我们编写程序的过程是辛苦与快乐的,程序的编写原则很重要,只要我们在编程,就必须不断改进,才能更好提高编程能力。七个人负责部分及心得(1)在此次 C+程序设计的过程中,我主要负责则一下部分:1. 头文件: student school.h 主要

27、功能:声明函数,定义类等;Student school.h: #include 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 26 页 - - - - - - - - - #include #include #include class student protected: int number; char name20; char sex6; char place20; char nation10; char birth40; char party20; char

28、id40; float score3; public: student *next; student() student() char* getname() return name; int getnumber() return number; double getscore(int i) return scorei; float getg() return (score0+score1+score2); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 21 页,共 26 页 - -

29、 - - - - - - - void input(); void output(); void input(ifstream & is); void output(ofstream & os); ; class school public: school() head=new student; head-next=NULL; key=0; school() delete head; void input(); void mend(); void del(); int find(student *p,int num,char *pn=); void found(); void show();

30、void count(); void save(); void begin(); void clear(); char mainmenu(); int getkey() return key; void setkey(int k) key=k; void print(); private: student *head; int key ,i; ; 2. 主界面: mainmenu.cpp,zhuyemian.cpp ;主要功能:程序运行后会出现一个简捷的窗口,便于用户查询数据;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师

31、精心整理 - - - - - - - 第 22 页,共 26 页 - - - - - - - - - Mainmenu.cpp: #includestudent school.h char school:mainmenu() char n6; coutnn 欢迎进入学籍管理系统endlendl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * 1: 录入学生信息 * *endl * * 2: 显示学

32、生信息 * *endl * * 3: 查找学生信息 * *endl * * 4: 删除学生信息 * *endl * * 5: 修改学生信息 * *endl * * 6: 统计学生成绩 * *endl * * 7: 保存学生信息 * *endl * * 0: 退出系统 * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl * * * * * * * * * * * * * * * * * * * * * * * * * * * *endl n; return n0; Zhuyemian.cpp: 名师资料总结 -

33、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 26 页 - - - - - - - - - #includestudent school.h void main()/主函数school pp; int k=1; char n; while(k=1) n=pp.mainmenu(); switch(n) case 1:pp.input(); break; case 2:pp.show(); break; case 3:pp.found(); break; case 4:pp.del();

34、 break; case 5:pp.mend();break; case 6:pp.count(); break; case 7:pp.save(); break; case 0: if(pp.getkey()=1) coutk; if(k=1) pp.save(); pp.clear(); k=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 26 页 - - - - - - - - - break; 9. 保存模块: save.cpp ;主要功能:能够对学生的信

35、息进行保存;Save.cpp: #includestudent school.h void school:save() /保存函数 student *p; p=head; ofstream os(student.txt,ios:out); if (school:getkey()=1) while(p-next) (p-next)-output(os); p=p-next; coutttt文件已保存 ! endl; school:setkey(0); (2)个人心得:此次 C+程序设计的完成,加强了我们动手、思考和解决问题的能力。巩固和加深了 对数据结构的理解,提高综合运用本课程所学知识的能力。

36、培养了我选用参考书, 查阅手册及文献资料的能力。培养独立思考,深入研究,分析问题、解决问题的 能力。 通过实际编译系统的分析设计、 编程调试,掌握应用软件的分析方法和工程设计方法。通过课程设计,培养了我严肃认真的工作作风,逐步建立正确的生产观名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 26 页 - - - - - - - - - 念、经济观念和全局观念。而且做课程设计同时也是对课本知识的巩固和加强,平时看课本时,有些问题就不是很能理解,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 26 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁