3.2 程序的调试、错误分析和完善
密码登陆的调试:以密码输入进入系统,密码正确就进入到主菜单画面,调试时故意输入错误的密码,会返回到密码登陆画面,无论密码错误几次都可以,考虑到实际应用密码错误的次数应有限度,在此我运用for 循环控制次数,当密码登陆界面出现三次后,自动跳出for循环,输出\对不起!你输入的密码错误次数已达三次!你无权进入该系统!\然后强制推出。
新增数据的调试:起初我是用for循环依次输入各台电脑的相关信息,调试时发现信息的输入必须按顺序依次输入,一旦删除了中间的某台电脑的信息,想要添加新的电脑信息在该数组名中就不能了。针对这一点,我后来改用do??while循环来完善,编号不是数组名的序列号(cmp[i-1].num=i),编号是独立出来的一组信息,想在哪个空电脑信息的数组上新增都可以编号与数组名的序列号不一定要对应,后面的修改函数还会考虑到这一点。
显示数据的调试:运行显示菜单,问题出现了很多,费用标准项目显示的是0.000000,小数点后面的零太多,还有显示器规格只显示第一个字母,看来是输入输出数据的占位符用错,将显示函数中的%f改为%.1f,%c改为%s后问题都解决了。
查找数据的调试:运行查找菜单,根据要求查找时,出现条件无法匹配的状况,原来字符串的对比要用到字符串比较函数strcmp,单个字符用“==”。而且考虑到实际应用中可能出现连续查找的情况,我在两种查找方式后面增加了一个本身函数的调用来达到循环查找。
删除数据的调试:就只是出现编号和数组名组列号混淆的情况,后来将两者独立出来后问题得以解决。考虑到实际操作时可能第一次输入编号错误的情况,在此我用if条件语句增加了确认一项。
修改数据的调试:编号的问题在前面其它菜单的调试问题中提到了,修改方法一样。另外出现了电脑显示器项目无法修改的问题,原来我将空格赋给原字符串是用的单引号‘空格’,而且不能用“=”等方式来赋值,要用字符串复制函数strcpy。整体用do?while?语句实现循环修改。
计费的调试:出现输出的费用是非正常数据的问题,检查后发现原来总费用cost未附初值,改正后问题消失。在此也用到了do?while?语句来实现循环计
21
算费用。
退出系统菜单的调试:选择退出菜单后出现返回到密码登陆页面,加了函数exit(0)后问题解决。
主菜单的调试:误输入没有的菜单选项时直接返回到密码登陆页面,我想在菜单选项出错是可以提示输入出错,并且返回到主菜单页面,解决方法是在default:后面增加getch()和ma()语句,这也是函数的自我套用。
22
4.总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节。回顾起此次课程设计,使我感慨颇多,自从拿到题目到完成整个编程,从理论到实践,在这短短的几天里,可以说学到了很多很多的东西,不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
我负责的是网吧系统管理,当拿到这个课题后,我的心中充满了激情,终于感觉到所学的东西有所用了。但第一次上机时,我不知道该从何入手,指导老师叫我们看看早已发给我们的其它程序设计的案例,我于是开始潜心钻研老师的案例,找出关键,后来我终于从中有了很多启发。后来组长给我们安排了各自负责的模块,我就开始设计自己负责的模块,我想早点将自己的模块搞完,然后试试将整个程序自己设计一下。没想到我在电脑前一坐居然就到了晚上11点,回过神来就只差一个模块没搞完了,当时的我特有成就感。第二天上午我继续将最后一个模块也搞定了,下午上机时我将我设计的整个初步的程序给我所在组的组员看,并一起研究和讨论。他们认为完全可以就用我的这个整体模块方案,然后就是加以调试、修改和完善。后来的几天里我不断的调试这个程序,试着找出问题,并解决。其他组员也和我一样,不断努力地完善它,发现问题就和我讨论,并一起解决。在设计的过程中我遇到过很多问题:电脑某些项目的信息无法完全显示,变量类型定义错误,字符串输入输出符用错,指针的运用不熟练,赋值项要附初值,某些函数的调用不熟练等等。但我都凭借翻阅资料,问老师而一一的得以解决。以前上课时老师曾多次告诉我们设计的程序界面要友好,程序要有容错性,在这次的课程设计中我也充分考虑到了这些。我们完成后的程序仍然有很多需要完善的地方,比如:数据显示只显示有输入信息的电脑;修改完成后立刻显示出修改后的信息,并提示“修改完成”;计费中的时间不用手动输入;每次输入的信息在关闭系统后任然可以保存等。
在课程设计过程中,收获知识,提高能力的同时,我也学到了很多人生的哲理,懂得怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。因此在以后的生活和学习的过程中,我一定会把课程设计的精神带到生活中,不畏艰难,勇往直前!
23
5.参考文献:
⑴、谭浩强《C程序设计教程》,清华大学出版社,北京,2007年7月
⑵、谭浩强《C程序设计教程学习辅导》,清华大学出版社,北京,2007年10月
24