cout<<\ system(\ break; case 4: Modify(stud); /*修改学生成绩*/ cout<<\ system(\ break; case 5: Delete(stud); /*按学号查找,删除学生信息*/ cout<<\ system(\ break; case 6: Insert(stud);/*增加学生成绩*/ cout<<\ system(\ break; case 7: Sort(stud); /*按平均分对成绩记录项进行降序排序*/ cout<<\ system(\ break; case 8: Output(stud); /*显示全部学生成绩*/ cout<<\ system(\ break; case 0: cout<
cout<<\ system(\ exit(0); } } }
2、其他模块代码设计(详参“程序清单”)//此处与“程序清单”Word文件有超链接功能。
每个函数的具体功能:
1)主函数main():定义学生结构体数组,调用录入、统计等函数对成绩表进行处理; 2)录入函数Input():输入班级到政治课成绩; 3)统计函数Statistic():计算平均成绩;
4)查询函数Lookup():查询指定学号学生成绩记录; 5)修改函数Modify():修改指定学号学生成绩记录; 6)删除函数Delete():删除指定学号学生记录; 7)插入函数Insert():按平均分顺序插入新记录。
8) 排序函数Sort():按平均分对学生成绩记录项进行降序排序; 9)输出函数Output():输出班级所有学生成绩记录;
四、调试分析
内容主要包括:在调试过程中我我们对遇到的问题是如何解决的以及对设计与实
现的回顾讨论和分析。
1、由于在学C++这么语言的时候,对文件的写入与读出不是很精通,在刚开始时候对文件的操作不太明白,一致不能很好的操作文件,其中最大的问题是对已存在的文件读取问题,通过“显示全部学生成绩” 将数据从文件中读取,可是在使用过程中总是出现读出错误,出现乱码。 2、内存的分配问题,这也是困惑了我好久的问题。对于我们初学者来说对内存的分配和释放问题是比较抽象和模糊的难题,本来使用链表的方式存储数据,然而待到排序时出现了交换数据困难的问题,以及分配空间繁琐释放空间不及时的问题,造成空间浪费使得程序运行效率低的问题。因此最后采用了顺序存储记录的方式,这样就能改变前述问题。
整个调试过程中主要是这么几个问题,其余的是一些小问题,很容易的就调试出来了。
五、测试结果
1、主界面:图5-1
2、录入学生信息界面:图5-2
3、显示统计数据界面:图5-3
4、查询学生成绩界面:图5-4
5、删除学生成绩界面:图5-5
鉴于录入的数据比较少,就不做删除测试了!
6、插入学生成绩界面:图5-6

