资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
* 实践教学实践教学*兰州理工大学兰州理工大学计算机与通信学院2011 年秋季学期面向对象课程设计面向对象课程设计题 目:学籍管理系统的设计与实现 专业班级: 计算机科学与技术 4 班 姓 名: 赵永刚 学 号: 10240428 指导教师: 朱红蕾 成 绩: - 1 -摘摘 要要学生学籍管理系统是一个学校学籍管理中必不可缺少的管理工具,它能够实现对新生报到时建立学籍档案、学籍、成绩管理变动等操作。 使用计算机对学生学籍信息进行管理,具有手工管理所无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好(不同的模块有不同的权限) 、寿命长、成本低等。这些优点能够极大地提高学生学籍管理的效率。本系统利用 C+语言开发,运用相对比较复杂的函数实现了学生学籍信息管理。通过本系统的开发,我们熟悉了面向过程的程序设计的基本方法和步骤,对于 C+语言有了更深入的理解,并且较好地掌握了 C+语言的编程方法和技术。关键词关键词:C+面向对象程序设计 学生学籍 管理 程序控制 类- 2 -前 言随着社会经济的发展,信息化程度的不断深入,传统的学籍管理系统已不能满足工作者的需要。近几年, 随着学校不断扩招, 学生越来越多, 学生学籍管理工作也变得十分复杂, 学籍管理效率低下。通过设计学籍管理系统,能够解决学籍管理的难题, 实现学籍管理的规范化和现代化。同时,各种经营单位如电信、移动、供电、煤气、自来水、证券等等为了减轻自己日趋繁重的工作量,纷纷采用了日益强大的管理系统,那么学校岂能落后呢。如何利用计算机技术加强学生帐户信息管理,提高学校的工作效率和业务竟争能力是摆在各家学校面前的一个迫切需要解诀的问题,如何利用电子化的手段构建一个高效统一的、通用灵活的系统来管理各个学生的信息,是每个学校所要研究的课题。特别是学校经常要处理大量的学籍处理事件,做好学籍管理是学校工作重要的环节,然而要有效处理必须要有良好的程序和数据管理系统来建立一个良好的软件系统来实现快速、有效、准确、安全的处理学籍事物。- 3 -目目 录录第 1 章 概述 41.1 系统实现目标41.2 系统实现方案4第 2 章 系统分析 42.1 系统实现目标42.2 系统实现方案5第 3 章 系统设计53.1 系统功能设计5- 4 -3.2 类设计63.3 界面设计 7第 4 章 主要程序运行结果 7 第 5 章 参考文献13总 结14致谢15附录(源代码) 16 - 5 - 6 -第第 1 章章 概述概述1.1 系统实现的目标 课程设计的任务:制作一个学生学籍管理系统,要求制作一个菜单,实现数据的录入,数据的 显示,数据查找,数据的删除,数据的保存,数据的统计,数据的修改,系统 的退出。系统的设计要求用到 C+面向对象的程序设计,要求用到类来实现, 同时每一个功能用到一个函数。 基本功能: 学生基本信息(编号,姓名,性别,籍贯,民族,生日,政治面貌,身份 证,奖惩情况,数学成绩,英语成绩,计算机成绩) 成绩统计(各科总成绩,各科平均成绩,各科的及格率) 扩展功能: 学生数据的添加、修改、与删除 学生数据的读取与存储系统特点: 系统要能够对相应的数据进行很好的测试,系统的统计对每一科的总成绩, 平均成绩,及格律都进行了统计;系统统计学生的基本信息较全面,包括学号, 姓名,民族,政治面貌,身份证号,生日,性别,数学、英语、计算机的成绩; 程序中查找运用了两种查找方式即学号查找和姓名查找。1.2 系统实现方案第一步:分析题目,建立类并派生出它的子类,画出类图。 第二步:画出流程,根据流程图编写程序清单 第三步:上机调试程序(使用单步调试,设置断点、分块调试的方法) 。 第五步:及时整理资料,撰写课程设计报告中有关这个题目的内容。 第第 2 章章 系统分析系统分析2.1 调查程序对学生学籍的数据处理要求 能够输入并浏览学生的基本信息; 能够实现对学生信息的查询和修改; 能够对成绩进行统计; 能够对学生的信息进行保存; 现行的系统功能: 资料维护:系统维护包括对各学生信息和成绩的录入操作。 资料维护:对数据表中的信息进行浏览。 系统查询:可以对不同科目的总成绩、不及率、各科平均成绩相关信息。- 7 -2.2 现行系统分析现行系统组织结构图:第第 3 章章 系统设计系统设计3.1 系统功能设计系统功能设计系统功能结构图:开始选择菜单序号1 录 入 信 息2 显 示 信 息3 查 找 信 息4 删 除 信 息5 修 改 信 息6 统 计 成 绩7 保 存 信 息0 退 出按要求逐步输入学生信息选择修改方式1? ?编号查询姓名查找退出保存2?保存? 输入学生信息- 8 -3.2 类设计类设计类:student 数据成员 编号,姓名,性别,籍贯,民族,生日,政治面貌,省份证,数学成绩,英语成绩, 计算机成绩 类:school 成员函数 录入函数 Input():输入编号到计算机的成绩; 统计函数 count():统计各科的总成绩,计算平均成绩,统计各科的及格率; 查询函数 found():按学号或姓名查找学生的记录; 修改函数 mend():修改指定学号学生成绩记录; 删除函数 del():删除指定学号学生记录; 输出函数 show():输出班级所有学生成绩记录; UML 图:主程序初 始 化 程 序采 单 程 序查 找删 除修 改统 计输 入显 示退 出- 9 -Student#number:int#name20:char#sex6:char#place20:char#nation6:char#birth20:char#party10: char#id20:char#score3:float+student*next; +student() +student() + * getname():char+getnumber():int+getscore(inti)double+ getg():float+ input():void+input(ifstream char name20; char sex6; char place20; char nation6; char birth20; char party10; char id20; char jc100; 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); void input() int e=1; coutnumber; coutname; do coutsex;if(strcmp(sex,“男“)=0 | strcmp(sex,“女“)=0) coutplace; coutnation;- 19 -coutbirth; coutparty; coutid; coutjc; coutscore0; coutscore1; coutscore2;e=0;elsecoutnumbernamesexplacenationbirthpartyidscore0score1score2; is.get(); void output() coutnext=NULL; key=0; - 20 -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) key=k; private: student *head; int key; ; /录入函数 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) 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:found() student *p; int num=-1,n=9; char na
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号