c语言课程设计报告书--学生成绩管理.doc

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE 1 C 语言程序设计报告 课题:学生成绩管理 时间: 一、需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具体要求如下: 1.主要功能: (1)能按学期、按班级完成对学生成绩的录入、修改 (2)能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序 (3)能查询学生成绩,不及格科目及学生名单 (4)能按班级输出学生的成绩单 系统功能需求分析: 1、定义一个结构体类型,成员包括学期、班级、各科成绩、建立链表,定义该结构体类型的指针,用于指向各结点; 2、分别建立具有添输入、修改、查询、总分及平均分、排序等功能的子函数,完成相应功能,对程序实现模块化。 二、概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的子函数,各子函数中运用链表存储数据。 系统功能模块图: 输入学生信息 输入学生信息 成绩管理 成绩查询 添加信息 修改记录 求总分平均分排序 输出结果 成绩查询 不及格科目 学生名单 三、详细设计 主要功能模块的算法设计思路如下: 1、输入信息函数 (1)定义指向结构体变量的指针; (2)移动指针,找到插入结点; (3)在要插入的结点输入信息; (4)返回头指针。 2、修改信息 (1)定义指向结构体变量的指针; (2)用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; (3)根据要修改的编号查找对应结点; (4)修改信息; (5)修改成功。 3、排序函数 (1)定义所要排序的班级和链表的头指针为形参; (2)调用排序函数,把班级和链表的头指针赋给形参; (3)在子函数中进行排序; (4)输出排序结果。 4、显示学生成绩信息(void Disp(Link l)) (1)选择想要查询的项目(学生各科成绩、不及格科目、班级成员); (2)用指针检验是否有记录; (3)若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find(Link l)) (1)选择所要查询的班级; (2)输入班级: (3)在链表中寻找相应结点; (4)输出结点信息。 以上各个函数的流程图如下: 主函数 定义程序所需变量 调用CREAT函数创建一个信息链表并返回指针 继续进行操作 1、修改信息 2、统计成绩并排序 3、查找信息 4、输出成绩 输入所需修改学生的姓名 输入班级 查询 分数 查询科目 查询班级 输入班级序号 调用add并赋值给P-sum 查找班内成员 调用average函数 输入姓名并查找学生 输出不及格学生的姓名及成绩 输入班级序号并输出班级成员的名字 逐个输出他们的各科成绩 并赋值给P-ave 输出排序前的学生成绩 调用sort 进行排序 输出排序后的学生成绩 是否继续操作 子函数 排序: f!=p-class p=p-next f==r-class f==s-next-classs-next 交换结构体内各成员的值 求和: int sum i==p-class yes no sum==p-scor_1+ p-scor_2+ p-scor_3 return(sum) 求平均数: float ave int sum sum==add(I,P) ave==sum/3.0 return (ave) 四、主要源程序代码 #include stdio.h #include malloc.h #include string.h #define NULL 0 #define LEN sizeof (struct student) #define PRINT printf(======================main menu=======================\n) #define PRIN printf(Please chose the number:\n) #define PRI printf(Sorry,the number you chose is error,please chose again\n) struct student \*定义一个结构体*\ { int term; \*学期*\ int class; \*班级*\ char name[20]; \*姓名*\ int score_1; \*科目一*\ int score_2; \*科目二*\ in

文档评论(0)

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

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

1亿VIP精品文档

相关文档