3. 详细设计
分数类的设计:
该类定义了一个整型变量用来存放分数,定义了设置份总数和显示分数的函数。 Score -score:int
+Score(s:int=0) +set1():void +show1() 图
科目类的设计:
该类定义了一个Score类类型的变量,定义了一个字符数组用来存放科目名称,定义了设置和显示私有成员的函数。
Subject -subject[20]:char -sc:Score +Subject() +set2():void +show2():void 图
学生类的设计:
该类定义了一个Subject类类型的数组,一个字符型数组和一个字符变量,两个整型变量以及设置和显示私有成员的函数。
图
Student -name[20]:char -num:int -S:char -n:int -p1[8]:Subject +Student() +set3():void +show3():void +getNU1():int 班级类的设计:
该类定义了一个Student类类型的变量、字符型数组、整型及设置和显示私有成员的函数等。
Class -name[20]:char -num2:int +Class() +getNU():int +set4():void +show4():void 图
各个类的关系描述:
Subject -subject[20]:char +Subject() +set2():void
+show2():void
1..*
-sc 1
图 1..* Student Subject -name[20]:char -p1[8] -subject[20]:char -num:int 1 +Subject() -S:char +set2():void -n:int +show2():void +Student() +set3():void +show3():void +getNU1():int Score -score:int +Score(s:int=0) +set1():void +show1()
图 1..* Student Class -name[20]:char -name[20]:char -num:int -S:char -num2:int -n:int -stu +Student() +Class() :void 1+getNU():int +set3()+show3():void +set4():void +getNU1():int +show4():void +getNA1():char * 4. 图 系统调试
在调试过程中,出现了下面一些错误:
1、输入数据时,输错了数据的类型会造成死循环,因此输入时需要注意。 2、一开始主界面输入非正确字母时,没有提示错误。容易造成用户误解,在主函数的switch语句结束处加上default:cout<<\选择错误,请从新选择!\就可以了。
具体调试过程:
主界面 学生成绩录入 学生成绩查询
学生成绩显示 学生成绩修改 记录存入文件 学生成绩删除
5. 结果分析
程序总共设计了四个类,满足了课题对类的要求,在设计的过程中,建立了较为清晰的类层次,也利用了面向对象的方法以及C++的编程思想来完成系统的设计,做到了用文件存储学生成绩信息、从文件中读取学生成绩信息、修改信息、查询信息、删除信息显示文件中存储的信息等要求。而且界面简洁,容易操作。但是程序太长,不够简练,导致出现错误很难发现和修改。
6. 总结
首先,接到设计题目之后,在对本题目进行分析的时候,我懂得了一个很重要的道理,那就是说一个程序的产生需要一个对题目要求有一个正确全面的分析。其次,就该考虑程序算法的问题了,一个好的算法是一个好程序的灵魂,也决定了一个程序的质量。
两个星期的课设虽然有些疲劳和困倦,但带给我很多的收获。C++已经学了一个学期了,有许多知识都存在似懂非懂的现象,这种现象通过实际的上机操作,已经减少了许多。对这些知识也有了更深的理解和很好的掌握。也有很多理论上说得过去的代码,但到了实际操作,却是行不通的。这种困惑,有许多已经通过实际操作解决了,并能够深刻认识,但也有很多没有明白。只能避过这些方法,换方法实现。在课程设计之前,
因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输入电脑,并用编译器将其运行,发现通过不了,再来检查找出问题,这是一件非常辛苦的事情,也很浪费时间。于是在课程设计的时候,我花了四天的时间来规划与写代码,将要实现的内容分析清楚,才把代码输入电脑。我觉得写程序,应该先找到该程序中的核心地方,用多种方法来实现该核心,这才可能避免等到发现逻辑上或者编译器不支持上的错误,才来想补救的措施,这样花费时间在想补救措施是很不值得的。
这次的课程设计,真是让我充分的感觉到了要自己设计一个程序是多么的难,以及学习好c++是多么的重要。在这个程序的设计过程中,我清楚的意识到自己的水平有多么的薄弱,课程的知识学得有多么的不扎实。看网上的例子好像觉得也没那么难,自己一上机实际操作就出现了很多问题,调试的时候系统总是在报错,还有很多警告,每增加一个函数就要调试好久,有时候应为少了一个大括号或是分号,导致要找很久很久。虽然系统可以运行,也具有了一些基本的功能,但我意识到了自己有太多的不足。
以后还会有很多的课程设计,一定要吸取这次的教训,把知识学懂学透学精,真正的为我所用,这样走上社会我才能真正的发挥所长。
7. 程序代码
#include
class Score{ how2();
}
相关推荐: