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

  • 0
  • 0
  • 0
  • 约1.17万字
  • 2020-10-17 发布

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

文档工具:
    1. 1、本文档共28页,可阅读全部内容。
    2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
    3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
    4. 文档侵权举报电话:19940600175。
    时间: 时间:2010/7/15 时间: 时间:2010/7/15 C语言课程设计报告书一学生成 绩管理 C语言程序设计报告 课题:学生成绩管理 _ _ PAGE # - _ _ PAGE # - - - PAGE #? 一、 需求分析 任务要求: 自学C语言中有关链表及外部文件的内容,设计出学生成绩管理。具 体要求如下: 主要功能: 能按学期、按班级完成对学生成绩的录入、修改 能按班级统计学生的成绩,求学生的总分及平均分,并能 根据学生的平均成绩进行排序 能査询学生成绩,不及格科目及学生名单 能按班级输出学生的成绩单 系统功能需求分析: 1、 定义一个结构体类型,成员包括学期、班级、各科成绩、建立 链表,定义该结构体类型的指针,用于指向各结点; 2、 分别建立具有添输入、修改、查询、总分及平均分、排序等功 能的子函数,完成相应功能,对程序实现模块化。 二、 概要设计 系统总体设计框架: 对程序进行模块化,建立输入、修改、查询、查找和显示功能的 子函数,各子函数中运用链表存储数据。 系统功能模块图: 成绩査询不及格科目一学生名单 成绩査询 不及格科目 一 学生名单 三、详细设计 主要功能模块的算法设计思路如下: 1、 输入信息函数 定义指向结构体变量的指针; 移动指针,找到插入结点; 在要插入的结点输入信息; 返回头指针。 2、 修改信息 定义指向结构体变量的指针; 用指针检验链表中是否有记录,若没记录,出现报错,然后要求重新输入; 根据要修改的编号査找对应结点; 修改信息; 修改成功。 排序函数 定义所要排序的班级和链表的头指针为形参; 调用排序函数,把班级和链表的头指针赋给形参; 在子函数中进行排序; 输出排序结果。 显示学生成绩信息(void Disp (Link 1)) 选择想要査询的项目(学生各科成绩、不及格科目、班级成员); 用指针检验是否有记录; 若无记录,输出提示信息,返回主函数; 若有记录,移动指针,依次输出记录; 5、查询班级成绩信息(void Find (Link 1)) 选择所要查询的班级; 输入班级: 在链表中寻找相应结点; 输出结点信息。 以上各个函数的流程图如下: 主函数 定义程序所需变量 调用CREAT函数创建一个信息链表并返回指针 继续进行操作 1、修改2、统计成绩3、查找信息 4、输出成 信息 并排序 输入所 需修改 学生的 姓名 输入班级 调用add并 赋值给 P->sum 调用 average 函数 并赋值给 P->ave 查 询 分 数 查 查 询 询 科 班 目 级 输入班级序 输 入 姓 名 并 输 出 不 及 输 入 班 级 号 查找班内成 员 逐个输出他 们的各科成 绩 输出排序前 查 学 号 的学生成绩 找 生 并 调用sort进 学 的 输 行排序 生 ■ ■ /X 出 输出排序后 名 班 的学生成绩 及 成 绩 级 成 员 的 名 字 是否继续操作 子函数 排序: f!=p->class p=p->next f==r->class f==s->next->class&&s—>next 交换结构体内各成员的值 求和: int sum i==p->class yes no sum==p->scor_l+ 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 printfC f======================main menu=======================\nn) #define PRIN printf(H Please chose the number:\nH) #define PRI printf(! 1 Sorry,the number you chose is error,please chose again\nn) \*定义一个结构体笛\*学期 \*定义一个结构体笛 \*学期*\ \*班级*\ \*科目一*\ { int term; int class; char name[20]; int score_l; int score_2; int score_3; float ave; int sum; struct student *next; }; \*科目二*\ \*科目二*\ \*科目三*\ \*平均分*\

    文档评论(0)

    • 内容提供方:yilinshanzhuang
    • 审核时间:2020-10-17
    • 审核编号:8013130123003006

    相似文档

    真实处破女系列_亚洲综合色在线视频久_亲嘴亲胸揉胸膜下刺激视频_久久综合色一综合色88中文