网站大量收购独家精品文档,联系QQ:2885784924

C语言 门生成绩管理系统.doc

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言 门生成绩管理系统

第一章 设计内容、任务及具体要求 1.1内容和要求 强化学习C语言中有关链表及外部文件的内容,独立设计学生成绩管理系统,并编程实现以下功能: 1、整个系统均用C语言实现; 2、利用指针、链表来实现学生成绩的数据结构设计; 3、系统具有输入、显示、查询、删除、排序、插入,保存、读取基本功能; 4、系统的各个功能模块都用函数的形式来实现; 5、可以将学生成绩信息保存在文件中。 6、可以将学生信息从文件中读取出来。 1.2实现功能 1、每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。 2、输入功能:可以一次完成无数条记录的输入。 3、显示功能:完成全部学生记录的显示。 4、查找功能:完成按姓名查找学生记录,并显示。 5、排序功能:按学生平均成绩进行排序。 6、插入功能:按平均成绩高低插入一条学生记录。 7、保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。 8、读取功能:将保存在文件中的学生记录读取出来。 9、有一个清晰美观界面来调用各个功能 第二章 设计的总体思路 2.1系统功能 系统将可以实现以下功能: 1、每一条记录包括一个学生的学号、姓名、3门成绩、平均成绩。 2、输入功能:可以一次完成无数条记录的输入。 3、显示功能:完成全部学生记录的显示。 4、查找功能:完成按姓名查找学生记录,并显示。 5、排序功能:按学生平均成绩进行排序。 6、插入功能:按平均成绩高低插入一条学生记录。 7、保存功能:将学生记录保存在任何自定义的文件中,如保存在:c:\score。 8、读取功能:将保存在文件中的学生记录读取出来。 9、有一个清晰美观界面来调用各个功能 2.2系统的总体框架 图2-2 系统总体框架图 2.3系统的总体流程图 图2-3 系统总体流程图 注:此图为概图、程序较多无法一一展示 第三章 功能模块的具体设计 3.1 定义结构体 本程序需要定义多个结构体,用于存放学生的相关信息。 struct student//定义结构体 { int number; char name[10]; float score; float yuwen; float yingyu; float shuxue; float sum; float ave; struct student *next; }; typedef struct student score; int n,k; 3.2 main( )主函数 主函数功能比较简单,用while循环语句和switch多重选择语句来显示主界面和调用函数。在主函数的前面要写必须的头文件,预定义语句以及全局变量的结构体。 3.3 add()函数 利用while循环结构和else/if语句来实现增加信息的功能。先定义5个指针*p0,*p1,*p2,*p3,*max,开始运行,当学生学号小于0时返回add函数,重新开始,而当输入0时返回菜单函数。当输入学号符合要求时,函数向下运行,令p3=head,用else/if语句判断输入的学号是否重复,如果是则重新输入,如果不是,函数继续向下运行。接下来利用指针来储存依次输入的语文、英语、数学成绩。而用while 结构来保证输入的成绩在0~100之间,如果不是则重新输入。 3.4 del()删除函数 在C语言中无法做到删除和移动数据,所以删除记录要先将所有记录从文件中读出,删除后再将记录写回文件中。每读出一条记录,按其在文件中的顺序做好指针链接关系,然后查处要删除的学生信息,将其在链表中删除,最后再将变动的记录重新写回文件中。用指针,while循环和else/if结构来实现查找出要删除的学生。 3.5 insert()插入函数 在插入函数中利用指针,和else/if语句来实现输入的数据按照插入相 应的位置,流程图如下所示: 图3-5 插入函数流程图 3.6 load() 读取函数 利用指针、链表打开已经储存的信息,主要的流程图如下所示: 图3-6 load()函数流程图 3.7 save()保存函数 函数比较简单,主要利用指针来把信息保存在文件中,流程图如下所示: 图3-7 save()函数流程图 3.8 taxis()排序函数 先用if判断是否存在信息,如果没有则返回,如果已经存在则继续运行函数。利用while循环语句和switch多重选择语句来实现是按照哪一种方式排名, 在用for,if语句来实现排名。 3.9 mesu() 菜单函数 用do/while循环语句和switch多重选择语句调用各个功能函数,流程图如下所示: 图3-9

文档评论(0)

yxutcangfp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档