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

学生成绩管理系统.docx

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1 问题描述 学生成绩管理系统 学生成绩管理系统 学生信息包括学期、学号、班级、姓名,和语文、数学、英语、计算机四门课成绩。并按班级、学期查询学生成绩,并能录入、修改,求学生平均成绩和总成绩,输出不及格科目,按班级输出成绩单,按班级对学生成绩进行排序。 2 系统分析 2.1 题目要求 学生成绩管理系统设计 学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)。 主要功能: (1) 能按学期、按班级完成对学生成绩的录入、修改 (2) 能按班级统计学生的成绩,求学生的总分及平均分,设计并输出统计报表 (3) 能查询学生成绩,不及格科目及学生名单 (4) 能按班级输出学生的成绩单 (5) 能按班级,按课程,对学生成绩进行排序。 要求:使用二进制文件方式存储数据,系统以菜单方式工作 2.2算法设计 (1)创建主菜单 (2)实现学生成绩信息录入 (3)实现学生成绩信息修改 (4)实现学生成绩信息查询 (a)按学期、班级查询学生的成绩 (b)按学号查询学生的成绩 (c)查询不及格的科目和学生名单 (5)实现学生成绩成绩统计 (a)按班级统计学生的总分、平均分 (b)按班级、课程对学生的总分进行排序 (6)实现学生成绩信息浏览 2.3流程图 2.4关键问题 难点:指针p、函数。 解决:head=NULL无条件循环 指针p指向新开辟的单元 指针p是否为空 是 否 输入学号p-num 输出 p-num是否为@ 内存 是 否 溢出 输入姓名p-name 停止 for(i=0;i3;i++) 输入 输入成绩 返回 p-sum=s; 菜单 p-average=(float)s/3; 主 函 数: int main() 新建函数:infor *init() 输入函数 :infor *creat() 显示函数: struct infor *view(struct infor *head) 删除函数: infor *delete(infor *head) 按名字寻找函数: void lookup(infor *head) 保存函数: void save(infor *head) 按总分排序函数: infor *sort(infor *head) 计算总分和均分函数: void zong(struct infor *head) 修改函:void change(struct infor *head) 按学号排序函数: infor *index(infor *h) 3 系统实现 3.1 题目一 (源代码) #includestdio.h #includestdlib.h #include string.h #define N 4 struct infor { int term; // 定义学期(1或2) int no; //学号 int clas; //定义班级(1或2班) char name[9]; //姓名 float chinese; //定义四门成绩 float english; float math; float computer; struct infor *link; }; int n=0 ; //****************************************************************************** //函数功能:创建链表,录入学生的相关信息,此函数返回一个指向链表头的指针 //****************************************************************************** struct infor *creat() { struct infor *head=NULL,*p=NULL,*q=NULL; char c; fflush(stdin); printf(是否要输入信息(y/n):); scanf(%c,c); p=q=(struct infor *)malloc(sizeof(struct infor)); q=head; while(p!=NULLc==y) { n++; p=(struct infor *)malloc(sizeof(struct infor)); printf(请输入要录入学生信息的学期:)

文档评论(0)

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

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

1亿VIP精品文档

相关文档