c++面向对象课程设计报告学生成绩管理系统.doc
《c++面向对象课程设计报告学生成绩管理系统.doc》由会员分享,可在线阅读,更多相关《c++面向对象课程设计报告学生成绩管理系统.doc(49页珍藏版)》请在咨信网上搜索。
1、资料内容仅供您学习参考,如有不当或者侵权,请联系改正或者删除。课 程 设 计 报 告课程名称 面向对象程序设计 课题名称 学生成绩管理系统 专 业 计算机科学与技术 班 级 计算机 1001 学 号 030101 姓 名 指导教师 李珍辉 陈淑红 李杰军 12 月 28 日湖南工程学院课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 学生成绩管理系统 专业班级 计算机1001 学生姓名 学 号 030101 指导老师 李珍辉 陈淑红 李杰军 审 批 任务书下达日期 年 11 月 15 日任务完成日期 年 12 月 28 日一、 设计内容与设计要求1.课程设计目的: 面向对象程序设计
2、课程设计是集中实践性环节之一, 是学习完面向对象程序设计课程后进行的一次全面的综合练习。要求学生达到熟练掌握C+语言的基本知识和技能; 基本掌握面向对象程序设计的思想和方法; 能够利用所学的基本知识和技能, 解决简单的面向对象程序设计问题, 从而提高动手编程解决实际问题的能力。2.课题题目1) 公司库存管理系统2) 高校学籍管理系统3) 高校工资管理系统4) 高校人事管理系统5) 通讯录程序设计6) 学生成绩管理系统7) 图书管理系统8) 文本编辑器的设计与实现9) 学生考勤管理系统10) 公司人员管理系统3设计要求: 设计课题题目: 每位同学根据自己学号除以10所得的余数加1选择相应题号的课
3、题。随意换题者不记成绩。 根据自己对应的课题完成以下主要工作: 完成系统需求分析: 包括系统设计目的与意义; 系统功能需求( 系统流程图) ; 输入输出的要求。完成系统总体设计: 包括系统功能分析; 系统功能模块划分与设计( 系统功能模块图) 。完成系统详细设计: 包括数据库需求分析; 数据库概念结构设计( ER图) ; 数据库逻辑结构设计; 类层次图; 界面设计与各功能模块实现。系统调试: 调试出现的主要问题, 编译语法错误及修改, 重点是运行逻辑问题修改和调整。使用说明书及编程体会: 说明如何使用你编写的程序, 详细列出每一步的操作步骤。关键源程序( 带注释) 按规定格式完成课程设计报告,
4、 将其打印稿(A4纸)上交给老师存档。 不得抄袭她人程序、 课程设计报告, 每个人应体现自己的个性设计。二、 进度安排第 17 周 星期一 8: 0012: 00 星期二 8: 0012: 00 星期四 8: 0012: 00第 18 周 星期一 8: 0012: 00 星期二 14: 3018: 30 星期三 8: 0012: 00三、 参考书籍1.C程序设计课程设计 刘振安编著 TP312C5632.C+ Builder和Delphi课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-06072-X 3.Visual C+课程设计案例精编 严华峰 中国水利水电出版社 7-5084-
5、 -1 4.Visual C+课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-05968-3 5.Visual C+语言课程设计 : 案例精选与编程指导 陈清华朱红 东南大学出版社 7-81089-275-4 6.VisualC+课程设计案例精编 中国水利水电出版社 7-5084-1004-1 7.数据结构课程设计案例精编 : 用C/C+描述 李建学李光元吴春芳 清华大学出版社 7-302-14536-9 ( 编程平台不限, vc+, c+ Builder等等。) 课题6: 学生成绩管理系统( 一) 、 课程设计题目: 学生成绩管理系统( 二) 、 目的与要求: 1、 目的: (
6、1) 要求学生达到熟练掌握C+语言的基本知识和技能; ( 2) 基本掌握面向对象程序设计的基本思路和方法; ( 3) 能够利用所学的基本知识和技能, 解决简单的面向对象程序设计问题。 2、 基本要求: ( 1) 要求利用面向对象的方法以及C+的编程思想来完成系统的设计; ( 2) 要求在设计的过程中, 建立清晰的类层次; ( 3) 在系统中至少要定义四个类, 每个类中要有各自的属性和方法; ( 4) 在系统的设计中, 至少要用到面向对象的一种机制。 3、 创新要求: 在基本要求达到后, 可进行创新设计, 如根据查找结果进行修改的功能。 4、 写出设计说明书 ( 三) 、 设计方法和基本原理:
7、1、 问题描述( 功能要求) : 设计一个实用的小型学生成绩管理程序, 具有查询, 检索和删除功能, 而且能够打开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现, 充分体现面向对象的程序设计特点。要求: 实现主要功能: 建立文件, 文件的存取和显示, 删除记录, 查询记录。能够随时检索, 删除, 或增加记录, 也能够保存或取消新的记录。2、 问题的解决方案: 根据系统功能要求, 能够将问题解决分为以下步骤: ( 1) 应用系统分析, 建立该系统的功能模块框图以及界面的组织和设计; ( 2) 分析系统中的各个实体及它们之间的关系包括属性和行为; ( 3) 根据问题描述, 设计系统的类
8、层次; ( 4) 完成类层次中各个类的描述( 包括属性和方法) ; ( 5) 完成类中各个成员函数的定义; ( 6) 完成系统的应用模块; ( 7) 功能调试; ( 8) 完成系统总结报告以及系统使用说明书目 录1.系统需求分析12.总体设计23.详细设计34.系统调试65.结果分析86.总结97.程序代码101. 系统需求分析 1.1系统设计的目的与意义: 现在的学校学生数量较多, 各样的考试也比较频繁, 因此需要一个学生成绩管理系统来对学生的成绩进行管理。1.2 系统功能需求: 本系统有四个类, Score类、 Subject类、 Student类、 Class类, 存储学生的个人信息、
9、考试科目及成绩信息。有学生成绩信息录入、 学生成绩信息修改、 学生成绩信息显示、 学生成绩信息删除、 学生成绩信息查询以及数据保存文件等功能。2. 总体设计2.1 系统功能分析: 系统经过调用函数来实现学生成绩信息录入、 学生成绩信息修改、 学生成绩信息删除、 学生成绩信息查询以及数据保存文件等功能。Insert( ) 函数用于录入学生成绩及信息; Update1( ) 函数用来修改学生成绩及信息; Show( ) 函数用于显示所有已有的记录; Delete( ) 函数用来删除学生成绩及信息; Search1( ) 及Search2( ) 函数用来查询及信息; Save( ) 函数用于将输入的
10、信息存入文件内; 主函数main( ) 用于调用这些函数。 2.2系统功能模块划分与设计: 本系统定义了Score类、 Subject类、 Student类以及Class类这四个类, 定义了Insert( ) 、 Update1( ) 、 Show( ) 、 Save( ) 、 Delete( ) 、 Search1( ) 及Search2( ) 等函数来实现系统所需功能。2.3 系统功能模块图: 学生成绩查询学生成绩录入学生成绩删除学生成绩管理系统 无此记录查询成功录入成功无此记录删除成功无此记录修改成功保存成功显示成功退出成功显示全部记录记录存入文件学生成绩修改 退出系统3. 详细设计3.
11、1 分数类的设计:该类定义了一个整型变量用来存放分数, 定义了设置份总数和显示分数的函数。Score-score: int+Score( s: int=0) +set1( ) : void+show1( ) 图 3.13.2 科目类的设计:该类定义了一个Score类类型的变量, 定义了一个字符数组用来存放科目名称, 定义了设置和显示私有成员的函数。Subject-subject20: char-sc: Score+Subject( ) +set2( ) : void+show2( ) : void 图 3.23.3 学生类的设计:该类定义了一个Subject类类型的数组, 一个字符型数组和一个
12、字符变量, 两个整型变量以及设置和显示私有成员的函数。Student-name20: char-num: int-S: char-n: int-p18: Subject+Student( ) +set3( ) : void+show3( ) : void+getNU1( ) : int+getNA1( ) : char * 图 3.3 3.4 班级类的设计:该类定义了一个Student类类型的变量、 字符型数组、 整型及设置和显示私有成员的函数等。Class-name20: char-num2: int+Class( ) +getNU( ) : int+set4( ) : void+show4
13、( ) : void 图 3.43.5 各个类的关系描述:Subject-subject20: char+Subject( ) +set2( ) : void+show2( ) : void 1.*Score-score: int+Score( s: int=0) +set1( ) : void+show1( ) -sc 1 图 3.5.1Student-name20: char-num: int-S: char-n: int+Student( ) +set3( ) : void+show3( ) : void+getNU1( ) : int+getNA1( ) : char *Subject
14、-subject20: char+Subject( ) +set2( ) : void+show2( ) : void 1.* -p18 1 图 3.5.2Class-name20: char-num2: int+Class( ) +getNU( ) : int+set4( ) : void+show4( ) : voidStudent-name20: char-num: int-S: char-n: int+Student( ) +set3( ) : void+show3( ) : void+getNU1( ) : int+getNA1( ) : char * 1.* -stu 1 图 3.
15、5.34. 系统调试4.1 在调试过程中, 出现了下面一些错误: 1、 输入数据时, 输错了数据的类型会造成死循环, 因此输入时需要注意。2、 一开始主界面输入非正确字母时, 没有提示错误。容易造成用户误解, 在主函数的switch语句结束处加上default:cout选择错误, 请从新选择! ;就能够了。4.2 具体调试过程: 主界面学生成绩录入学生成绩查询学生成绩显示学生成绩修改记录存入文件学生成绩删除5. 结果分析 程序总共设计了四个类, 满足了课题对类的要求, 在设计的过程中, 建立了较为清晰的类层次, 也利用了面向对象的方法以及C+的编程思想来完成系统的设计, 做到了用文件存储学生成
16、绩信息、 从文件中读取学生成绩信息、 修改信息、 查询信息、 删除信息显示文件中存储的信息等要求。而且界面简洁, 容易操作。可是程序太长, 不够简练, 导致出现错误很难发现和修改。6. 总结首先, 接到设计题目之后, 在对本题目进行分析的时候, 我懂得了一个很重要的道理, 那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次, 就该考虑程序算法的问题了, 一个好的算法是一个好程序的灵魂, 也决定了一个程序的质量。两个星期的课设虽然有些疲劳和困倦, 但带给我很多的收获。C+已经学了一个学期了, 有许多知识都存在似懂非懂的现象, 这种现象经过实际的上机操作, 已经减少了许多。对这些知
17、识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码, 但到了实际操作, 却是行不通的。这种困惑, 有许多已经经过实际操作解决了, 并能够深刻认识, 但也有很多没有明白。只能避过这些方法, 换方法实现。在课程设计之前, 因为有了综合实验的经验与教训, 明白了写代码这一步是非常重要的, 因为当你把代码输入电脑, 并用编译器将其运行, 发现经过不了, 再来检查找出问题, 这是一件非常辛苦的事情, 也很浪费时间。于是在课程设计的时候, 我花了四天的时间来规划与写代码, 将要实现的内容分析清楚, 才把代码输入电脑。我觉得写程序, 应该先找到该程序中的核心地方, 用多种方法来实现该核心, 这才可
18、能避免等到发现逻辑上或者编译器不支持上的错误, 才来想补救的措施, 这样花费时间在想补救措施是很不值得的。这次的课程设计, 真是让我充分的感觉到了要自己设计一个程序是多么的难, 以及学习好c+是多么的重要。在这个程序的设计过程中, 我清楚的意识到自己的水平有多么的薄弱, 课程的知识学得有多么的不扎实。看网上的例子仿佛觉得也没那么难, 自己一上机实际操作就出现了很多问题, 调试的时候系统总是在报错, 还有很多警告, 每增加一个函数就要调试好久, 有时候应为少了一个大括号或是分号, 导致要找很久很久。虽然系统能够运行, 也具有了一些基本的功能, 但我意识到了自己有太多的不足。以后还会有很多的课程设
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 面向 对象 课程设计 报告 学生 成绩管理系统
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。