- 1
- 0
- 约1.76万字
- 约 28页
- 2021-02-05 发布于天津
- 举报
笑山皿语言程序设计》课程综合案例 常州信息职业技术学院
笑山皿语言程序设计》课程综合案例 常州信息职业技术学院
第
第 PAGE #页共25页
星沁3《
星沁3《C语言程序设计》课程综合案例 常州信息职业技术学院
第
第 PAGE #页共25页
难易程度
中等
开发语言
C
开发工具
操作系统:Win dows XP
或更咼
开发平台:VC++ 6.0
关键字
学生成绩管理
《C语言程序设计》课程综合案例
案例03学生成绩管理系统
3.1需求分析
在对学生成绩管理系统进行需求分析的过程中,需要确定系统的主要功能,对软件开发的主要目的、 软件的使用领域和有关该软件开发的软硬件环境进行详细的分析。
3.1.1系统概述
学生成绩管理系统主要用于对学生的学号、姓名及各项学科成绩进行增、删、改、查等操作。系统给 用户提供了一个简单的人机界面,使用户可以根据提示输入操作项,调用系统提供的管理功能。
3.1.2系统运行环境
一、 硬件环境
处理器:In tel Pen tium 166 MX 或更高
内存:32MB
硬盘空间:1GB
显卡:SVGA显示适配器
二、 软件环境
操作系统:Win dows 98/ME/2000/XP
3.1.3功能需求描述
输入学生信息:用户根据提示输入学生的学号、姓名、各科成绩,并由系统计算总分和平均分, 并设置名次的初始值为 0。可一次性输入多条学生记录。
查找学生信息:按照学生姓名查找学生信息,如果存在,则提示用户找到并输出查找结果。
插入学生信息:插入在指定学号的记录前,先查找指定学号是否存在,若存在,直接插入在此记 录前,若不存在,则插入在所有记录最后。
4?修改学生信息:提示用户输入要修改的学生学号,查找该学号是否存在,成功则允许修改该学生的姓名、学科成绩等主要内容,并重新计算总分和平均分;失败,显示没找到。
5.删除学生信息:提示用户输入要删除的学生学号,如在,则删除,若没有,则提示相应信息。
6?保存信息至文件: 将所有的学生成绩信息保存到磁盘文件中,以方便用户管理。
7?读文件:将磁盘文件中的数据读到内存以供用户进行查询、修改、删除、添加、排序等操作。
学生成绩排序:根据学生成绩的总分进行降序排列,并将排序结果显示给用户。
计算学生总分和平均分:计算每位学生的总分和平均分,并计算所有学生的总分和平均分。
文件备份:将磁盘文件做一个备份文件,以防止数据意外丢失。
3.2总体设计
3.2.1设计思路
程序设计一般由两部分组成:算法和数据结构,合理地选择和实现一个数据结构和处理这些数据结构
具有同样的重要性。在管理程序中,若使用静态数组保存数据,则会占用连续的存储空间。它的缺点是需 要预先估计记录大小, 如果估计得过大,则浪费空间,如果小了,不容易扩充。特别是当需要动态变化时, 例如插入数据和删除数据等操作需要移动数据,容易出错。所以我们使用单链表结构来管理学生成绩,这 样,不用事先估计学生人数,方便随时插入和删除学生记录,且不必移动数据,实现动态管理。代价是牺 牲一部分空间用来存放表示结点关系的指针。当然,链表的灵活性也带来了管理的复杂性。
3.2.2系统模块结构图
本程序利用单链表存储结构完成对学生成绩的动态管理,其基本功能模块如图 3-1所示。
学生成绩管理系统
输入记录模块更新记录模块统计记录 模块输出记录模-T—?从文件读入从键盘输入查询记录)( 总图3-1基本功能模块图输 出
输入记录
模块
更新记录
模块
统计记录 模块
输出记录模
-T
—?
从文件读入
从键盘输入
查询记录
)( 总
图3-1基本功能模块图
输 出
至
1屏
幕
文件备份
3.2.3数据结构设计
将一个学生当作一个结点,这个结点的类型为结构体,结构体中的域表示学生的属性,每个结点除了
笑血S
笑血S《C语言程序设计》课程综合案例 常州信息职业技术学院
第
第 PAGE #页共25页
笑《
笑《C语言程序设计》课程综合案例 常州信息职业技术学院
第
第 PAGE #页共25页
存放属性外,还存放结点之间的关系,即存放指向后继结点的指针。结点结构如下:
#define N 3 //定义课程门数,可以根据情况设定
typedef struct stude nt// 定义数据结构
{
char no[10]; // 学号
char name[20]; // 姓名
float score[N]; // 各门课成绩
float sum; // 总分
float ave;// 平均分
int order;// 名次
struct student *next;//指向后继结点的指针
}STU;〃结构体类型名
3?2?4功能模块设计
、main()主函数
mai n()函
mai n()函
0-12
程序采用模块化设计,
原创力文档

文档评论(0)