1、 课 程 设 计 报 告 课程名称课程名称 C C 语言程序设计语言程序设计 课题名称课题名称 班级成绩管理系统班级成绩管理系统 专专 业业 通信工程通信工程 班班 级级 学学 号号 姓姓 名名 指导教师指导教师 年年 月月 日日 一、设计内容与设计要求 1.课程设计目的 全面熟悉、掌握 C 语言基本知识,增强对不同的问题运用和灵活选择合 适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析 结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际 问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数 据结构和数据库等课程)的实验以及课程设计打下较扎实的基
2、础。 2.课题题目 班级成绩管理系统 3.设计要求 (1)掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程 序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。 具体要求如下: 设计课题题目:每位同学根据自己学号除以 5 所得的余数加一选择相应 题号的课题。原则上不予换提,私自换题者不记成绩。 (2)根据自己对应的课题完成以下主要工作:完成系统需求分析:包括 系统设计目的与意义;系统功能需求;输入输出的要求。完成系统概要设 计:程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每 个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这 些数据是
3、什么样的结构,它们之间有什么关系等。完成系统详细设计:包 括采用 C 语言定义相关的数据类型;写出各模块的类 C 码算法;画出函数的 调用关系图。调试分析、设计体会、测试数据:准备典型的测试数据和测 试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调 试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。 关键源程序(带注释) 按规定格式完成课程设计报告,将其打印稿(A4 纸)上交给老师存档。 不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。 二、进度安排 目录目录 1.系统需求分析与简介 1 1.1 原始问题描述 . 1 2.程序结构概要 1 2.1
4、程序的模块结构 . 1 2.2 各模块的功能 . 2 3.具体细节设计与描述 3 3 .1 采用 C 语言定义相关的数据类型 3 32 显示主界面的函数 4 33 成绩录入函数 4 34 成绩显示函数 5 3 .5 成绩保存函数 6 36 成绩排序函数 6 37 成绩修改函数 7 38 成绩统计函数 8 4.系统调试中存在的问题 9 5.运行结果显示. 10 6.学习的心得体会. 14 7.附录. 15 7.1 源代码 15 7.2 参考书目 20 8 附表. 21 1.1.系统需求系统需求分析分析与简介与简介 1.11.1 原始原始问题描述问题描述 对一个有 N 个学生的班级,每个学生有 M
5、 门课程。该系统实现对班级成绩的 录入、显示、修改、排序、保存等操作的管理。 1.2 功能需求 (1)本系统采用一个结构体数组,每个数据的结构应当包括:学号、姓 名、M 门课程名称。 (2)本系统显示这样的菜单: 请选择系统功能项: 1. 成绩录入 2. 成绩显示 3. 成绩保存 4. 成绩排序 5. 成绩修改(要求先输入密码) 6. 成绩统计 (1) 显示每门课程成绩最高的学生的基本信息 (2) 显示每门课程的平均成绩 (3) 显示超过某门课程平均成绩的学生人数 0. 退出系统 (3)执行一个具体的功能之后,程序将重新显示菜单。 (4)将学生成绩保存到文件中。 2.2.程序结构概要程序结构概要 2.12.1 程序的模块程序的模块结构结构 整个系统除了主函数外,另外还有 7 个函数,实现七大功能:成绩录入功 能、成绩显示功能、成绩保存功能、成绩排序功能、成绩修改功能、成绩统计功 能、退出系统功能。 用图可表示如如下: 2.22.2 各模块的功能各模块的功能 (1)主函数 main() 利用 while(1)输出函数主界面和 swithch(t)实现选择函数以及各函数的 调用,系统根据输入的数字选项来调用相应的函数。 用 switch(t)开关语句,进入“功能选择”的界面,在这个界面里有显 示 系统的七大功能,执行完每一个函数功能后,返回菜单。 (2