《c++面向对象课程设计报告---学生成绩管理系统》由会员分享,可在线阅读,更多相关《c++面向对象课程设计报告---学生成绩管理系统(29页珍藏版)》请在金锄头文库上搜索。
1、课 程 设 计 报 告课程名称 面向对象程序设计 课题名称 学生成绩管理系统 专 业 计算机科学与技术 班 级 计算机 1001 学 号 2010030101 课 程 设 计 任 务 书课程名称 面向对象程序设计 课 题 学生成绩管理系统 任务书下达日期 2011 年 11 月 15 日任务完成日期 2011 年 12 月 28 日一 、 设 计 内 容 与 设 计 要 求1.课程设计目的:面向对象程序设计课程设计是集中实践性环节之一,是学习完面向对象程序设计课程后进行的一次全面的综合练习。要求学生达到熟练掌握 C+语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本
2、知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。2.课题题目1)公司库存管理系统2)高校学籍管理系统3)高校工资管理系统4)高校人事管理系统5)通讯录程序设计6)学生成绩管理系统7) 图书管理系统8)文本编辑器的设计与实现9)学生考勤管理系统10)公司人员管理系统3设计要求: 设计课题题目: 每位同学根据自己学号除 以 10 所得的余数加 1 选择相应题号的课题。随意换题者不记成绩。 根据自己对应的课题完成以下主要工作:完成系统需求分析:包括系统设计目的与意义;系统功能需求(系统流程图) ;输入输出的要求。完成系统总体设计:包括系统功能分析;系统功能模块划分与设
3、计(系统功能模块图) 。完成系统详细设计:包括数据库需求分析;数据库概念结构设计(ER 图) ;数据库逻辑结构设计;类层次图;界面设计与各功能模块实现。系统调试:调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。使用说明书及编程体会:说明如何使用你编写的程序,详细列出每一步的操作步骤。关键源程序(带注释) 按规定格式完成课程设计报告,将其打印稿(A4 纸)上交给老师存档。 不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。二 、 进 度 安 排第 17 周 星期一 8:0012:00星期二 8:0012:00星期四 8:0012:00第 18 周 星期一 8:00
4、12:00星期二 14:3018:30星期三 8:0012:00三、参考书籍1.C程序设计课程设计 刘振安编著 TP312C5632.C+ Builder 和 Delphi 课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-06072-X 3.Visual C+课程设计案例精编 严华峰 中国水利水电出版社 7-5084-2007-1 2004 4.Visual C+课程设计与系统开发案例 伍俊良 清华大学出版社 7-302-05968-3 20025.Visual C+语言课程设计 : 案例精选与编程指导 陈清华 朱红 东南大学出版社 7-81089-275-4 2003 6.Vis
5、ualC+课程设计案例精编 中国水利水电出版社 7-5084-1004-1 2002 7.数据结构课程设计案例精编 : 用 C/C+描述 李建学 李光元 吴春芳 清华大学出版社 7-302-14536-9 2007 (编程平台不限,vc+, c+ Builder 等等。 )课题 6:学生成绩管理系统(一) 、课程设计题目:学生成绩管理系统(二) 、目的与要求: 1、目的: (1)要求学生达到熟练掌握 C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 2、基本要求: (1)要求利用面向对象的方法以及
6、 C+的编程思想来完成系统的设计; (2)要求在设计的过程中,建立清晰的类层次; (3)在系统中至少要定义四个类,每个类中要有各自的属性和方法; (4)在系统的设计中,至少要用到面向对象的一种机制。 3、创新要求: 在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。 4、写出设计说明书 (三) 、设计方法和基本原理: 1、问题描述(功能要求): 设计一个实用的小型学生成绩管理程序,具有查询,检索和删除功能,并且能够打开或修改指定文件及将多个文件组成一个文件。它完全使用类来实现,充分体现面向对象的程序设计特点。要求: 实现主要功能:建立文件,文件的存取和显示,删除记录,查询记录。可
7、以随时检索,删除,或增加记录,也可以保存或取消新的记录。2、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系包括属性和行为; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述(包括属性和方法) ; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (8)完成系统总结报告以及系统使用说明书目 录1. 系统需求分析 .12. 总体设计 .23. 详细设计 .34. 系统调试 .65. 结果分析 .86. 总结 .97.
8、程序代码 .10 11. 系统需求分析1.1 系统设计的目的与意义:现在的学校学生数量较多,各样的考试也比较频繁,因此需要一个学生成绩管理系统来对学生的成绩进行管理。1.2 系统功能需求:本系统有四个类,Score 类、Subject 类、Student 类、Class 类,存储学生的个人信息、考试科目及成绩信息。有学生成绩信息录入、学生成绩信息修改、学生成绩信息显示、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。 22. 总体设计2.1 系统功能分析:系统通过调用函数来实现学生成绩信息录入、学生成绩信息修改、学生成绩信息删除、学生成绩信息查询以及数据保存文件等功能。Insert(
9、)函数用于录入学生成绩及信息;Update1()函数用来修改学生成绩及信息;Show()函数用于显示所有已有的记录;Delete()函数用来删除学生成绩及信息;Search1()及 Search2()函数用来查询及信息;Save()函数用于将输入的信息存入文件内;主函数 main()用于调用这些函数。 2.2 系统功能模块划分与设计:本系统定义了 Score 类、Subject 类、Student 类以及 Class 类这四个类,定义了Insert() 、Update1() 、Show() 、Save() 、Delete() 、Search1()及Search2()等函数来实现系统所需功能。2
10、.3 系统功能模块图:学生成绩管理系统查询成功录入成功无此记录删除成功无此记录修改成功保存成功显示成功退出成功显示全部记录记录存入文件学生成绩修改退出系统学生成绩查询学生成绩录入学生成绩删除无此记录 33. 详细设计3.1 分数类的设计:该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。图 3.13.2 科目类的设计:该类定义了一个 Score 类类型的变量,定义了一个字符数组用来存放科目名称,定义了设置和显示私有成员的函数。图 3.23.3 学生类的设计:该类定义了一个 Subject 类类型的数组,一个字符型数组和一个字符变量,两个整型变量以及设置和显示私有成员的函数。
11、图 3.3Score-score:int+Score(s:int=0)+set1():void+show1()Subject-subject20:char-sc:Score+Subject()+set2():void+show2():voidStudent-name20:char-num:int-S:char-n:int-p18:Subject+Student()+set3():void+show3():void+getNU1():int+getNA1():char * 43.4 班级类的设计:该类定义了一个 Student 类类型的变量、字符型数组、整型及设置和显示私有成员的函数等。图 3.
12、43.5 各个类的关系描述:1.*-sc1图 3.5.1Class-name20:char-num2:int+Class()+getNU():int+set4():void+show4():voidSubject-subject20:char+Subject()+set2():void+show2():voidScore-score:int+Score(s:int=0)+set1():void+show1() 51.*-p181图 3.5.21.*-stu1图 3.5.3Student-name20:char-num:int-S:char-n:int+Student()+set3():void
13、+show3():void+getNU1():int+getNA1():char *Subject-subject20:char+Subject()+set2():void+show2():voidClass-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 * 64. 系统调试4.1 在调试过程中,出现了下面一些错误:1、输入数据时,输错了数据的