c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc

c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc

ID:56523240

大小:276.00 KB

页数:20页

时间:2020-06-27

c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc_第1页
c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc_第2页
c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc_第3页
c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc_第4页
c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc_第5页
资源描述:

《c语言实习报告材料___菜单驱动地学生成绩管理系统程序.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、农林大学高级语言程序设计(C)实习报告设计题目:菜单驱动的学生成绩管理程序专业环境科技学院班级地理信息系统091班姓名晨雪学号32009~2010学年第三学期编写一个菜单驱动的学生成绩管理程序。实现如下管理功能:• 能输入并显示n个学生的m门考试科目的成绩、总分和平均分。• 按总分进行排序。• 按学号进行排序。• 任意输入一个学号,能显示该学生的、各门功课的成绩。• 将输入的学生成绩数据保存到文件中。• 从文件中读出学生成绩数据。关键词:显示数据;排序;查询功能;写入文件;读出数据;目录1需求分析………………………………….42详细

2、设计………………………………….53调试分析………………………………….74用户手册………………………………….85测试结果………………………………..96附录………………………………..117参考文献………………………………..201需求分析1.1程序任务:用静态的数据结构(结构体数组)来存储和管理n个学生的学号、、成绩等信息,进行编程。排序函数是一个具有多种排序方式的通用的排序程序,即不仅可以实现成绩的升序排序,还可以实现成绩的降序排序。程序能够进行异常处理,检查用户输入数据的有效性,在用户输入数据有错误(如类型错误)或无效时,

3、不会中断程序的执行,程序具有一定的健壮性。输出菜单形式如下:ManagementforStudents'scores1.Appendrecord2.Listrecord3.Deleterecord4.Modifyrecord5.Searchrecord6.SortScoreindescendingorderbysum7.SortScoreinascendingorderbysum8.SortScoreindescendingorderbynum9.SortScoreinascendingorderbynumW.WritetoaFil

4、eR.ReadfromaFile0.ExitPleaseInputyourchoice:1.2其它规定1.2.1输入的形式和输出值的围输入学生编号(以%d形式输入),学生(以%s形式输入,十位),学生成绩(%d)。1.2.2输入的形式输出时以学号(%d),(%s),成绩(%d),总分(%d),平均分(%f)形式1.2.3程序所能够达到的功能输入成绩计算总分和平均分;罗列成绩;删除修改记录;按总分升序和讲叙排列并输出成绩记录;按学号升序和讲叙排列并输出成绩记录;2详细设计2.1本程序中所有用到的数据及其数据结构的定义:本程序使用结构体

5、数组:#defineSTU_NUM40/*最多的学生人数*/#defineCOURSE_NUM10/*最多的考试科目*/structstudent{intnumber;/*每个学生的学号*/charname[10];/*每个学生的*/intscore[COURSE_NUM];/*每个学生M门功课的成绩*/intsum;/*每个学生的总成绩*/floataverage;/*每个学生的平均成绩*/};2.2函数之间的调用关系图:2.3写出主程序及其主要模块的流程图:3调试分析3.1调试过程中遇到的问题是如何解决的以及对设计与实现的回顾和

6、分析;3.1.1在编写菜单函数时,使用了void函数,没有返回值,导致主函数switch语句使用不了。3.1.2编写添加记录(append)函数求总分和平均值时,for语句后没有加{},打印不出来。3.1.3编写写入文件函数(write)出了很多错误,打开文件语句:fp=fopen("student_data","wb");写错,导致文件无法打开,读出文件也无法打开;3.1.4读出文件时,因为在if(fp==NULL)后加了“;”,致使文件无法打开。(都是些细小但很要命的错误)3.2经验和体会当编写完程序,最后调试无误的时候,我长舒

7、了口气。这几天一直在编写这个程序,第一天刚开始接触时还不太明白整个程序的作用,糊里糊涂地就开始了。从一些看起来比较简单小程序开始着手,写一些零散模块,然后开始对整个程序有了了解,删掉重复无用的语句,一边写一边调试,最后整个程序越来越长,不得不拿出几个部分在新建的程序里开始调试。最后所有小程序都通过了,再把它们连接在一起,调整这个长达五页多的大程序。看着“1error(s)”差点“晕”过去……不过通过这些天的学习真的学到很多,好多书本上零散的快被遗忘的知识都有被重新捡回来。学会了把一些小程序组合在一起,阅读和调试程序,查找错误……还有

8、那个之前从没听说过的软件visio,也可以折腾几下画出很清晰的流程图。这些都是我的收获。4用户手册4.1详细列出每一步的操作步骤:第一步:在屏幕显示PleaseInputyourchoice:后输入“1”和回车。在字幕提示光标后依次输

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。