软件工程——关于对一段小程序的心得和修改
软件工程综合实践专题 第一次作业
代码来源:https://zhidao.baidu.com/question/541801532.html
代码功能:输入全班同学某门课成绩,计算平均分并统计大于等于平均成绩的学生人数。
测试环境:VS2017
源代码:
测试结果:
(1)问题
- 对输入的成绩没有约束,可能会输入不切实际的数据。
- 运行时没有提醒来引导用户进行什么操作,(应该有如:正在输入第n个学生的成绩、已停止输入、已输入n个同学的成绩等)。
- 程序有不合适的回应,当没有有效成绩输入时(即第一个成绩就输入-1),全班平均分的输出会给出不恰当的回应 (此时count=0,不能当作除数)
(2)解决
以上是修改后的代码,以下是运行结果
- 正常输入和输入超过100时的结果:
- 第一个输入就满足退出条件时
(3)总结
在(2)中的修改已解决(1)中提到的问题,包括对输入的约束,输入时有合适的提醒来引导用户使用,在非正常输入时程序也能有合适的回应。但是在修改后,输入数据的约束和退出条件的设计上仍有缺陷:输入的退出条件是输入未负数时结束输入,但是负数在当前的问题背景下也是无效数据,却没有和同样是无效数据的“输入成绩大于100时”有相同的处理,在”输入成绩大于100时”,会继续让用户输入直到输入的数据有效为止(即非负并且<=100)。这一点还需要我继续寻找更好的解决方法。