每天提升正能量 心中充满小太阳
1、任务计划
2、计划完成度
(1)关于这个课设吧,写程序的过程很是艰辛,调试过程更是测了很多组的数据,接下来就说一下调试程序的过程中遇到的问题。
1. 我是先搭建起一个框架,没有具体写模块的功能,先能让菜单运行。因为写菜单程序的时候,把int a(输入菜单功能选择)放到了void menu函数里面,这样的话,写完菜单和main函数,空白的菜单功能是能够运行的。但是把各个模块的功能都写完了之后,就不能实现各个具体功能的调用了。要把int a单独放出来做变量才可以实现主函数与各个模块的调用。
2. 开始写模块功能之前,我是先定义了各个功能模块的名称和main函数,接下来再具体写各个功能模块的具体函数。虽然吧,这样设计的话逻辑上是没有问题的、功能是可以实现的,但是容易出现子函数与子函数之间,或者子函数与主函数之间的函数名不一致,就会显得麻烦。我就做出了调整,先写各个模块额度功能函数,然后用main函数来调用,这样较为简洁清晰。
3. 各个功能模块的函数的参数设定为线性表l,因为“宿舍信息录入”和“宿舍信息查询”这两个模块是相对来说比较简单的,而且都是宿舍信息部分,两个内容较为相近,我就先写这两部分。
4. 写完之后,程序虽然是能正常运行的。但是在“宿舍信息查询”模块查询宿舍的信息,而且不管找到找不到某个宿舍,除了显示宿舍信息之外,还会显示一句“未找到该宿舍”。因为在for循环里面我在判断完宿舍号不存在的时候,有一条else的语句“printf(“未找到该宿舍”)”;for循环判断输入大于线性表的存储之外还有一句“printf(“未找到该宿舍”)”。为了精确的判断出问题到底出在哪,我就把这两个printf的语句的输出先修改为不一样的内容,分析后决定for循环外的语句可以不需要,因为不管怎么样它都会执行这条语句。
5. But问题还没结束,当我在“录入宿舍基本信息”模块录入N个信息的时候,只能在“查询宿舍信息”模块查到前N-1个宿舍的信息。仔细检查了我程序,逻辑上很清晰,而且语法没什么错误。我尝试着修改了“查询宿舍信息”中for循环的初始值还有限制条件,就可以查询N个宿舍的信息了。但是在第N个宿舍信息的时候,程序会先执行else语句,显示“未找到该宿舍”,然后显示第N个宿舍的信息。
6. 在给老师检查之前,我进行测试的都是老师给的数据,在录入学生信息的时候,都是按照录入4个宿舍的信息,查询的是都是正常的。但是给老师检查程序时候,老师只要求输入两个宿舍信息,并进行查询,我的“宿舍信息录入”模块能实现,但是无法正常查询。经过检查之后发现“查询宿舍信息”模块的for循环中i++的执行语句,我写成了j++,所以造成了误差。改正之后,功能就可以正常实现了。
7. 经过很多次的修改,我的功能已经基本上全部可以实现了,但是“学生入宿分配”模块的功能不能正常实现,输入宿舍号之后,程序就自动跳出了,无法分配学生进宿舍。我检查这一模块的程序之后,发现我的if语句有问题。我在第一层的if语句中判断了输入的宿舍号确实存在后,就直接break了,程序当然就不再进行了。我把for循环的控制和if循环的嵌套修改之后,就可以分配学生进宿舍了。
8. 功能都可以正常的实现之后,我就参照着运行后的页面,对程序做了一些修改,让页面看起来更舒服,操作也更方便。在可以完成功能的基础上也对程序删减了不必要的语句,也增加了必要的注释,让程序更容易阅读理解。
虽然吧bug修了不少,但是流程图才刚刚画完,报告没有写完哦~
(2)这历时近一个月的案件终于该要水落石出了。监控室的老师跟据监控系统时钟的分析,监控系统的实时时钟是要比正常的时间慢1分15秒的。又把监控系统和门禁系统的同学进出门的时间差做对比,分析出那个同学是谁。嗯,就看明天找到是哪个同学,看看能不能联系的上了。不管这件事情最后解决的如何吧,我感觉还是大家都好好说话的好。
(3)时间不够啦,你懂的~