数据结构课程设计报告 第 20 页,共 页
按照提示输入自己要求的各个成绩的优先关系序列,然后程序自动进入排序系统,最后程序就将分配和收集的过程以及冒泡法排序的过程分别输出,最后得到排序结果。 然后会到下面的界面: 数据结构课程设计报告 第 21 页,共 页
即提示用户输入录取的学生数目,由于把全部成绩输出对于高校录取并没有用,所以只要按一定的人数提取记录就可以了 4.课程设计心得 这次课程设计收获很大,从一开始的迷迷糊糊不明白题意,到现在很清楚该设计的各个方面,我在无数次的调试过程中学到了很多有用的东西 1、模块化的思想。使程序模块化之后,可以很方便的调用和对某个模块的修改,我由于一开始对题目的要求不到位,在最后验收的时候发现一些功能未实现的问题,如果我的程序很乱,函数之间没有清晰的调用关系,参数传递混乱的话,我就很难修改它,但是我用了模块化的思想,在很短的时间之内就将程序添加了文件流操作的功能,使程序更加满足实际要求,也更加清晰。现在可以很容易添加一个不同的功能模块。 2、调试技巧。在调试过程中同学们遇到了很多不同的错误,比如:错误提示如下 Cpp1.obj : error LNK2001: unresolved external symbol \__cdecl CreatScore(int (* const)[5])\Debug/Cpp1.exe : fatal error LNK1120: 1 unresolved externals。根据以前的经验知道这是连接上出了错,而且以前遇到类似的错误是因为传递的参数不同而导致的,现在也想到估计是同样的问题,但是看程序,参数传递正常。后来在找CreatScore时发现我不知道什么时候把它剪切了,这就好像是声明了程序要用CreatScore,而且也用了,但是并没有说明CreatScore是什么,它是怎样实现的。 3、调试技巧。调试的时候我一般都是用F10和F20进行调试,问老师的时候又学到了设置断点的方法调试程序,这样可以通过猜想,对某一段代码进行调试,省去了很多步骤。 4、分析问题的技巧。这个和设置断点的方法类似,例如在判断打开文件是否成功时,由于有三个函数要打开和关闭文件,而且从无提示都一样:文件打开失败。这样在运行程序时,如果文件真的打开失败了,就很难知道哪块函数出问题了,所以可以设置不同的提示信息,来很清楚的追踪到程序的运行,还有就是发送错误报告,这种问题出现时总感觉不知道如何下手修改,因为很难知道错误的发生点,这是我们就可以设置输出提示信息:“程序已经运行到这里了”这样我们就可以从它是否输出该提示信息来了解程序是否正常运行数据结构课程设计报告 第 22 页,共 页
到某个位置。 5、在修改错误的时候也要有至顶向下的修改方法,因为后面的错误很可能就是勤勉的定义错误,从上到下改,我们可以发现有时候错误从80多个一下子就变成两三个了,通过这个我们也可以看到不同的错误所影响的范围,对我们变成中的侧重点也有帮助 6、指针和地址的使用。在进行文件操作时,我有一个功能就是从文件中读取学生记录到一个二维数组中,感觉写的没错,可是输出来的结果总是一个符合格式要求的地址结果,经过老师的指导,我知道了在读取的时候应该把数据存放在数组的地址中,而我却是按赋值的错误想法做的。 7、冒泡法排序。我认为这个排序的算法很简单,所以用到的时候没有按照书上的算法,直接自己写了一个冒泡排序,而且一直深信我的这个排序是正确的,可是结果总是出现错误,排序结果并不正确,后来按照书上的算法做很正确。所以在程序设计时要对算法绝对重视,要考虑到很多可能的会出现的情况,必须详细具体。 8、参数的传递和程序中的计算问题。开始我用101个队列进行分配,但是都出现错误了,即排出的结果有个别变成了地址,而且有向同学好的考生的信息输出,调试了一天多也不知道到底是哪里出错了,后来发现错误很简单,我把总成绩也列入了排序中,而总成绩是三门学科的总成绩0-300,所以应该用301个队列分配。也不知道电脑是把总成绩都分配到那里了! 还有很多很多的收获,现在只能想到这些了,我想那些没想起来的会在我以后编程的过程中得到运用的,这些想起来的基本上都是花费了好长时间才解决的问题,也就是在编程中的死结,整个工作在这个关键点上停下来了,这时可以寻求帮助,我们会发现,原来这么简单。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库数据结构课程设计 多关键字排序 高考排序 - 图文(5)在线全文阅读。
相关推荐: