charzz=getch();
jiemian();
}
八、测试情况及调试中问题与解决方案
以下几点分别为我们在课程设计期间测试情况及调试中问题与解决方案
1.显示车辆出现问题
1)问题:
养路费数据有问题以及功能3中显示车辆信息库要求每条记录占据一行,当前程序显示没有达到要求(图)
2)解决方案:
发现代码分别在169201233282行由于复制出现问题,将top改为j后养路费数据正常(图),使用setw设置域宽来控制显示将每条记录占据一行,修正后的正确显示(图)
图
图
图
2.文件无法自动创建问题
1)问题:
这是开始编的读取文件功能,当D盘根目录存在文件时,功能运行正常。
但当D盘根目录不存在文件时,会出现如下问题(即编译没问题,但运行时会停止工作,如图图)
图
图
2)解决方案:
这是修改后的读取文件功能函数(图),函数增加了判断“是否能顺利读取文件”功能。
如果不能,则创建文件再进行读取
图
3.删除车辆问题
1)问题:
这个问题是我们课程设计中遇到的最大的问题,困扰了我们很久,当车辆数量足够时,能成功删除车辆(图),当车辆删除到最后1辆时,界面显示剩余未发生改变,而存取的文档中车辆信息已经删除(图)。
图
图
图
图
图
图
2)解决方案:
将代码中的删除功能函数中算法进行改进,修正后即使车辆只有一辆也能删除,不会再出现1)中问题(图)
图
图
九、实验小结
在我们课程设计的任务书中,说明了课程设计的目的是根据软件工程的方法与流程,在相对集中的实训教学时间内,通过一个功能较完整的小型应用系统的设计与开发,深入复习并进一步掌握面向对象的程序设计思想与方法。
同时,培养我们采用面向对象的方法分析问题与解决问题的能力及团体组织与协作能力。
这次课程设计是我们小组三个人历经一个多星期左右共同完成的,通过这一个多星期的学习、合作、交流,我们合作完成了车辆管理系统的程序设计。
我们小组的三个人都是第一次做课程设计,面对我们所选的课程设计任务,一开始有点摸不着头脑,但在不断的分工,查找资料,合作交流后,我们逐步实现车辆管理系统中的功能要求。
因为我们的小组长在课程设计之前就开始查阅资料,完成了程序的总体设计,在组长的带领下我们小组完成了这次任务。
在这次课程设计中,我们也遇到了很多问题,当我们完成了程序的大体设计以及函数功能实现后,发现在显示功能这部分出现问题,在我们查阅书本后,使用了我们不熟悉的一个操作符setw(intn)来设置域宽,解决了显示问题,但由于界面受限制,为保证每条记录占据一行,导致输入的数据受到一些限制。
在这之后,我们解决了一个困扰我们很久的数据问题,显示界面中养路费数据始终为0,虽然我们小组有分工,每个人的能力也不同,但是在我们三个人集体讨论这个问题后,我们找到了问题的根源并解决了这个问题,也正是这个问题,让我们体会到了合作的意义以及团队的力量。
除此之外,在课程设计期间,遇到问题,也要学会向同学、老师请教,因为我们很可能一时思路受阻或者不熟悉某些操作,通过请教他人,能够迅速解决问题并学习到他人的长处。
在课程设计中途,我们发现程序中的文件读取及功能函数中删除信息出现问题,影响了我们的进度,后来尝试了不同的方法,进行测试,并请教他人,对程序进行修改,完成了程序,在这次的问题中,我们遇到问题受到阻碍,心情也有些低落,本来以为已经完成了大部分,突然发现问题,感到一些压力,不过我们小组的人都没有放弃,一直坚持,不断尝试,最终一起努力完成了课程设计。
当我们共同完成了这个课程设计,发现在这个过程中我们学习到了很多,得到了成长,学会与人沟通,与人合作,学会虚心请教他人,将所学知识与实践相结合,我们的分析解决实际问题的能力得到了锻炼,并且更真切的感受到无论做什么都需要细心和耐心,小细节也会出大错,细心和耐心,才能发现问题并解决问题从而避免问题,坚持完成。
这次课程设计我们参考了部分程序进行的,对我们来说是一个挑战和锻炼。
我们在完成设计要求的基础上在程序中加入了自己的想法和其他程序内容,也就是对程序改进了一番,并有一些创新。
虽然感觉我们的创新还不够典型,但经过这番修改,我们对修改的程序感到满意。
由于时间的紧迫和对知识的了解不够广泛,造成了系统中可能还存在一些不足,以后我们会继续努力,大胆创新,争取能编写出透射着自己思想的程序。
这次课程设计让我们充分认识到了自己的不足,认识到了动手能力的重要性。
我们会在以后的学习中更加努力锻炼自己,提高自己,让自己写出更好更完善的程序,为以后的编程打好基础!
十、工作日志
周一:
我们通过共同讨论,有了各自的大致主要分工任务(A主要编写功能主函数的实现;黄晨茹主要负责代码的完善优化和实验报告;C主要负责调试代码和PPT)
A在今天绘制了大致算法流程图,有了基本的设计雏形。
编写了一些函数功能代码。
黄晨茹在今天对一些功能函数有了优化的思路方向,并合作编写了一些函数功能实现的代码。
C在今天对添加车辆函数进行了调试,并经过不断地测试调试将添加车辆函数错误基本解决。
小组的每个成员对此次任务充满信心,今天都异常的激动。
周二:
我们今天共同编写其他所有函数的功能代码,并对各项功能进行了测试。
通过请教老师和同学们,我们完成的进度越来越快。
A今天在编写文件存取功能上遇到了一些麻烦。
通过查阅相关书籍,将文件的相关功能函数问题解决了。
黄晨茹今天设计了输出车辆信息库函数,开始显示的每组数据上下都没对齐。
后来运用了域宽函数出色的解决了每组数据的对齐格式,使显示更加漂亮。
C今天对车辆信息编辑功能进行了调试,并着手准备PPT的制作。
对开始编写的代码进行了再次测试,发现添加功能函数的一个漏洞。
(即当添加一个卡车、大客车、小轿车之外的车时,还会添加车辆)
周三:
我们在今天将课程设计的整体设计功能函数全部编完,并能够编译运行,只是还残留有一些小细节没有解决。
A今天将剩余的删除功能、编辑功能等编写完毕。
并对所有代码进行了大致的注释,使他人读代码时能快速明白设计的思路。
黄晨茹今天将各功能函数的运行结果和错误代码进行了截图,还将错误代码的原因进行了解释,以方便完成接下来的实验报告。
C对所有函数功能进行了调试。
将有错的功能函数的代码进行修改。
最后在删除车辆功能函数遇到一个小问题。
(即删不掉系统里的最后一辆车,但文件的删除了)
周四:
我们小组通过在一起讨论分析,最后终于将那个删除函数功能代码彻底修复。
程序可以完全无误地实现所有功能并运行。
我们离胜利已经不远了。
A今天将程序的源代码进行了优化,将重复的代码进行了更改替换,使代码相对较简洁一些。
并辅助C一起做PPT。
黄晨茹今天在一起讨论分析代码错误中,突然一语道破那个困扰我们许久的问题,让我们激动万分,因为这就意味着程序设计代码彻底完成。
她也开始编写实验报告。
C今天在讨论出错误后,赶紧进入紧张的PPT制作中,为了让周五的PPT演示更成功,他不断地进行优化PPT界面。
最终完成了,时间已经到第二天凌晨了。
周五:
我们一同上台进行了PPT演示和课程设计答辩,在答辩完成,黄晨茹开始撰写课程设计报告,A和C辅助黄晨茹完成。
最终报告完成,大家的身上的担子彻底没了。
虽然课程设计完成,大家都意识到团队合作的优势,确定了今后的目标。