1、四、指导教师和学生签字指导教师:_ 学生签名:_五、说明书成绩六、教师评语 目录一、需求分析 1二、程序流程图 2三、核心技术的实现说明及相应程序段 7四、个人总结 13五、参考文献 13六、源程序 13一、需求分析解决本题首先要解决两个问题:首先是读取文件,读取文件这一步我们参照书上可用 FILE *fp=fopen(),但是这一步又是非常麻烦,稍有不慎很可能就不能打开。其次;在读取文件时要先做一个循环,再构造一个主菜单的程序,即在用户界面首页输出简单的操作界面,为了能使用户在使用更加明了方便,可再构造子菜单。本题除了读取文件较为困难外,其它所要编写程序都较为容易。再有就是编写程序时要尽量考
2、虑到程序简洁明了,为程序编写出现错误时修改提供方便,这也是非常重要的。二、 程序流程图1、程序总体结构图 图2程序总体结构图2、程序总体框图 图2程序总体框图3、具体功能框图 Read()的框图 Check()的框图 Tongji()的框图Chang()的框图三、核心技术的实现说明及相应程序段首要问题是解决读取文件score.txt的问题,并且注意在一些子函数中采用较好的表达方式使程序整体显得简洁准确,以及由于程序的繁琐而注意编程过程中的语法问题等。如果能够解决好这几个问题,这个程序就能够编好了。我认为以上几点是编写本程序过程中的关键。1. 查看函数(read)该函数的核心内容主要是实现读取文
3、件,我们可以参照书上可用 FILE *fp=fopen()。void read() /*查看函数*/ int i; FILE *fp; fp=fopen(D:score.txt,r); for(i=0;i=90) a+; else if(studi.score=80) b+; else if(studi.score=70&studi.score80) c+;=60&70) d+;60) e+; ; 优秀/人:t%dn 良好/人:t%dn 中等/人:t%dn 及格/人:t%dn不及格/人:t%dn,a,b,c,d,e);4修改信息函数该函数的核心内容主要是对只写文件进行操作,通过switch语句
4、进行分支选择,并调用for循环,if选择等函数以实现修改信息的功能。void change() /*修改信息函数*/ int a,flag=0;char name20 ;char num20;int i; FILE*fp;w) ;1 for num and 2 for name to changen scanf(,num); if(strcmp(studi.num,num)=0) printf(please enter the new score! studi.score=a; fprintf(fp, case 2:,name); if (strcmp(studi.name,name)=0)
5、printf( fclose(fp);四、个人总结这次为期一周的课程设计结束了,我想对于我们任何一个人来说都是一次挑战,通过这次课程设计,用C语言软件编写一个实际应用的程序,我深深的体会到编程是一个需要谨慎与严密精神的工作与认真钻研的重要性,同时我也感觉到做一名优秀程序员的不易。在编程序过程中,我积极的和同学讨论,请教老师一些困难的问题和难点,最终编好和完善了程序。使程序基本能完成编好和完善了程序,而且用户界面也比较友好,在运行过程中输出内容明了,循环顺畅,退出方便,很好的完成了任务。通过此次课设我在独立思考问题方面的能力有很大的提高,也对C语言的知识有了进一步的了解。尤其在C语言编程的问题上
6、产生了极大的兴趣,让我们更加熟悉C语言的课程,使我们能用知识较好的,系统性的去解决一个看似很复杂的课程,,我将继续认真学习这方面的内容,不断丰富自己的知识,活跃自己的头脑。希望能熟练的编译出程序,解决更多的实际问题。这次课程设计检查我们对于知识的认知程度,使我们的思维更加的缜密,能够从一个整体去考虑某方面的问题,我想这是对我们的能力很好的锻炼。 通过这次课程设计让我获得了很多的知识,一个题目要求到最后的完整的程序虽不是一个奇迹,但是它毕竟是对自我能力的挑战,每个人需要去查找资料,去自己调试,发现在程序中的错误,同时在与同学的交流之中让我发现了很多的好的思路.。五、参考文献1 谭浩强C程序设计北
7、京:清华大学出版社,20052 刘成等C语言程序设计实验指导与习题集北京:中国铁道出版社,2006六、源程序#includestdio.hstring.hstdlib.h#define N 25 struct student char num20; char name20; int score; studN; void read() /*查看函数*/ void main() /*菜单函数*/ #-*-#n #-*学生成绩分布系统*-#n #-*制作人:石磊磊*学号:200604021163*-#n#-*-#n #-* 欢迎进入学生成绩分布系统 *-#n #-* choose 1:读取数据 *-#n #-* choose 2:按学号或姓名查询成绩 *-#n #-* choose 3:修改成绩 *-#n #-* choose 4:统计各分数段人数 *-#n #-*choose 5:退出系统 *-#n do int ch;*#-*请输入你的选择1-5*-#*nch); switch(ch) case 1:read ();break;check(); case 3:change(); case 4:tongji(); case 5:exit(0); default:error,please press enter to continue! while(1);
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1