1、锻炼我们的能力。1.2 国内外研究的现状 在国计算机内外,计算机的应用已延伸到各个领域,为了利用计算机解决生活中的实际问题,许多大小型应用软件应运而生。例如在各所学校,为了管理数目众多的学生的成绩,学生成绩管理系统软件成为各所学校必不可少的一项资源。但由于学生成绩管理系统应用十分普遍,所以从总体上来看针对此类的程序设计大都已经成熟,只是特定的处理功能需求根据实际需要而设计,所以就个人来说,无论以生活应用或是自我能力的提升作为出发点,去设计学生成绩管理系统都是很有必要的。1.3 任务与分析 本课题主要的目的是利用c语言编写程序,实现学生成绩管理功能。由于学生成绩管理具有学生成绩的录入、学生信息的
2、显示和保存到文件、查询、修改和统计学生成绩鞥功能。那么首先我们可以定义一个结构体student,其中包含学生学号、姓名、性别、3门课成绩、总分、;然后通过相应的函数实现学生成绩管理的各种功能。1.4 系统流程图二 需求分析2.1 系统要求:能满足对学生成绩的管理,并已文档存储。能够至少处理一个班的学生成绩。2.2数据查询:按学号、按姓名或按总名次查询。2.3数据修改:删除或重新录入指定学号、姓名、名次的学生的基本信息(学号、姓名等)以及课程信息(分数)。2.4数据排序:按照学号、姓名、名次并选择进行升序还是降序进行排列。2.5统计信息:可分别统计A、B、C、这三门课程的最高分、最低分与平均分。
3、2.6打开文件:读取已保存的文件。2.7保存文件:保存正在编辑的文件。2.8显示记录:显示正在编辑的数据的记录。2.9退出系统:推出此系统。三 程序运行平台VC+6.0具体操作如下:打开VC+6.0,点击文件点击新建点击文件选择c+ Source File,同时输入文件名,建立保存目录点击确定,创建源文件成功。编写程序,再编译,链接,执行等。四 总体设计1 数据描述:学生基本内容数据表:名称类型大小是否是关键字序号(num)整形4字节是名字(name)字符串20字节否性别(sex)5字节年龄(age)生日(data a)结构体12字节地址(address)50字节电话(tel)11字节分数(s
4、core c)14字节 学生日数据表:年(year)4月(month)日(day)学生各科成绩表:高数(gao)英语(ying)大物(wu)总分(total)2主要功能描述1. 录入学生信息,包括:姓名,学号,性别,年龄,电话,生日,家庭地址,分数。2. 输出学生的信息,信息是指先本次操作的的内容。3. 更新学生信息,包括:更新本次录入的信息和添加新的数据。4查询学生信息,包括:按学号,按姓名,按各科成绩及格的学生。5. 排名信息,包括:按学号排名,按成绩排名。6. 统计学生的信息。7. 删除学生信息,包括:按学号删除,按姓名删除。8. 保存本次操作的为文件。9. 查询文件中的学生信息内容。3
5、ER图五 详细设计针对要处理的学生信息和数据格式的实际情况,本程序使用了结构体型数据、全局变量和宏定义,用结构体型数据存放学生的各种信息,存储在结构体的数组内,所以只能处理,内存当中的信息,用宏定义使程序更加简洁也使程序更容易更改#define MY1 printf(学号t姓名t性别t年龄t生日)#define MY2 printf(n%d %6s %4st%2d %8d%2d%2d n,si.num,si.name,si.sex,si.age,si.a.year,si.a.month,si.a.day)#define MY3 printf(家庭住址 联系方式 高数 英语 大物 总成绩#def
6、ine MY4 printf(n%4s %4s %2d %2d %2d %2dn,si.address,si.tel,si.c.gao,si.c.ying,si.c.wu,si.c.total)#define MAX 501. 主程序界面2录入学生信息:函数为:putin_message();输入:姓名,学号,性别,年龄,电话,生日,家庭住址,分数;输出:NULL;功能:录入学生信息; putin_message() system(cls); printf(nn*输入学生信息*nn printf(n*学生信息输入完毕*n 3输出学生的信息,信息是指先本次操作的的内容。函数名:out_messa
7、ge();输 入 :NULL输 出 :学生信息功 能 :显示操作内容void out_message()printf(n*学生信息表*nn4更新学生信息renew_message();更新调用函数insert_message(),revise_message()renew_message() printf(nnn*更新学生信息*nn insert_message();插入新的学生信息 insert_message()revise_message();更改的学生信息,可以修改,学号,姓名等基本信息。/*修改学生信息*/ revise_message()5查询学生信息inquire_num();查
8、询学号函数,被inquire_message()调用。int inquire_num()inquire_name ();查询姓名函数,被inquire_message()调用。 int inquire_name()inquire_gao ();查询成绩函数,被inquire_jige()调用。 int inquire_gao()inquire_ying (); int inquire_ying() inquire_wu ();查询姓名函数,被inquire_jige()调用。int inquire_wu() inquire_jige();int inquire_jige()/*查询学生信息模块
9、*/ inquire_message()6排名信息,包括:按学号排名,按成绩排名rank_num();查询姓名函数,被rank_message()调用。int rank_num() rank_score();int rank_score()rank_message();排名,被main()调用。int rank_message()7.统计学生的信息count_nn();统计学生信息,被main()调用。int count_nn()8.删除学生信息,包括:按学号删除,按姓名删除del_num();统计学生信息,被del_message()调用。del_num()del_name();统计学生信息
10、,被del_messege()调用。int del_name()del_message(); del_message()删除操作:9保存本次操作的为文件save_message();将学生信息保存到文件,被main()调用。save_message(int sum)10查询文件中的学生信息内容putout_message();文件信息将学生信息保存到文件的信息输出,被main()调用。void putout_message()文件内容:显示内容:六 总结经过两个多星期的折腾,总算把程序设计给完成了,这是一个坚苦而又漫长的过程,学习C语言已经接近三年了,虽然是一个小型学生成绩系统设计,看着自己的
11、成果,那几个熬夜的晚上还是很值得的,很欣慰! 在本次设计的全过程中,我对三年所学的知识有了一个比较系统的认识和理解。涉及了各方面的知识,大大扩展了我的知识面,同时是我学会了如何使用所学的知识去解决一些实际的问题。 在设计中我深知自己掌握的知识还远远不够,掌握的一些理论知识应用到实践中去,总会出现这样或那样的问题,不是理论没有掌握好,而是光知道书本上的知识是远远不够的,一定要把理论知识和实践结合起来。把学到的知识应用到时间中去,多做多练,才可以把理论的精华发挥出来。知识不是知道,了解就好,一定要去应用它,发展它,让它在现实生活中得到充分的应用,从而解决一些问题,这才是学习的根本目的。而且知识又不
12、是单一的,它是互相联系的,学科与学科之间都有着内在的联系。计算机是一门非常复杂且庞大的学科,一项课题往往需要多项技术才可以完成的。在设计阶段,通过对课题的深入分析与研究,迫使我对技术有了一定的了解。在遇到问题时,得到了指导老师与同学的悉心帮助,使我感受到集体的力量是无穷的。 通过这次设计,我学会了和别人配合工作,因为一个人所学的知识不可能面面俱到的,只有通过合作,发挥自己的优点,体现团队精神,才能使工作做得更为出色。通过这次设计,我学到了许多书本上学不到的知识,增强了自己的动手能力。即将大三结束,我十分珍惜这次锻炼的机会,我按部就班的完成了自己的设计任务,但由于自己的知识水平有限,仍然存在很多
13、的不足之处,恳请老师多多指教!当今的社会是竞争的社会,而人才的竞争则是竞争的焦点,课程设计对于我们这些没有接触过实际项目的同学来说,是离校前很好的一次锻炼,使我们各方面的能力都有了很大的提高,为我们踏出校门,走上社会增强了能力与自信! 计算机技术的高速发展,使我深深地认识到只有不断的加强学习,才能在计算机技术方面不至于被淘汰,今后,我还要加强学习,努力使自己成为一位专业的计算机人员,为我自己所从事的工作服务。参考文献(1) C程序设计(第三版) 作者:谭浩强 著 出版社:清华大学出版社(2)C程序设计题解与上机指导(第三版) 谭浩强 主编出版社:(3)C语言程序设计 - 张磊 出版社:高等教育出版社 4C语言最新编程技巧200例 作者:鲁沐浴,电子工业出版社
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1