while(!
ss2.isempty())
{
ss1.push(ss2.pop());
}
}
}
4调试分析
4.1调试
对字符串的比较,直接用“==”,导致删除操作无法实现。
最后查阅资料,才发现有strcmp()函数进行比较。
4.2测试
1、打开系统软件,选择录入信息,并依次输入测试信息(如图4-2-1、4-2-2)
(图4-2-1)
(图4-2-2)
2、将信息读取到顺序栈中(如图4-2-3)
(图4-2-3)
3、显示U盘信息(如图4-2-4)
(图4-2-4)
4、按容量大小查找U盘信息(如图4-2-5)
(图4-2-5)
5、点击修改U盘信息,选择要修改的记录,输入修改结果,并保存(如图4-2-6、4-2-7、4-2-8)
(图4-2-6)
(图4-2-7)
(图4-2-8)
6、点击删除U盘信息,选择要删除的记录,并保存(如图4-2-9、4-2-10、4-2-11)
(图4-2-9)
(图4-2-10)
(图4-2-11)
5用户使用说明
启动该管理系统后,根据界面显示的选项选择你所要进行的功能。
若是第一次启动,请先选择录入U盘信息,因为此时文本文件为空,执行其他功能无效。
若非第一次启动,在选择显示、修改、查找、删除功能之前要先选择读取U盘信息,因为尽管文本文件中有记录,但顺序栈为空,而这些功能都是在栈内操作。
当栈内数据有改动(进行过修改或删除操作),要保存改动后的信息,一定要选择保存U盘信息选项,否则文本文件中的记录不会发生改动,修改无效。
6测试结果
基本功能实现无错,基本能识别不正确的测试数据,并能给出错误输入的提示。
但界面设计不够美观,而且有两个bug未修复,一个就是当输入相同U盘信息时,系统不能识别出来,依然保存在文本中。
之所以存在这个bug,是因为我对字符数组的比较还不够熟悉,不知道怎么实现。
还有一个是,我用的编程软件VC++2013,当将这个管理系统移植到其他版本的软件时会提示错误且不能运行。
结论
本次课程设计用C++编写,运用顺序栈存储结构,完成增、删、改、查等功能,并且都能运行成功。
致谢
致谢指导老师周立章!
参考文献
[1]杨宝刚.开展企业管理信息化工作的步骤[J].企业管理.2002.(11).12~15
[2]Islamabad.Softwaretoolsforforgerydetection[J].Businessline.2001.(5).29~32
[3][Cline] Marshall P. Cline and Greg A. Lomow, C++ FAQs, Addison-Wesley, 1995
[4][Eckel] Bruce Eckel, Thinking in C++(C++ 编程思想,刘宗田 等译),机械工业出版社,2000
[5][Maguire] Steve Maguire, Writing Clean Code(编程精粹,姜静波 等译),电子工业出版社,1993
[6][Meyers] Scott Meyers, Effective C++, Addison-Wesley, 1992
[7][Summit] Steve Summit, C Programming FAQs, Addison-Wesley, 1996