内容发布更新时间 : 2024/12/26 18:13:34星期一 下面是文章的全部内容请认真阅读。
何调试程序也非常重要,通过这个程序可学到以前调试程序没有的经验。
第3章 模块设计
将学生成绩管理系统划分为以下几个模块
3.1 主模块
功能概述:
1. 提供系统菜单的显示功能
2. 提供打开文件,并导入文件记录的功能 3. 提供保存文件信息的功能
3.2 添加学生信息
功能:
1. 根据输入的相关信息,将学生信息添加到单向链表中
3.3 显示学生信息
功能:
1. 将链表中的所有信息完全显示
3.4 排序学生信息
功能:
(排序分为升序和降序两种排序方式) 1. 根据学号进行排序 2. 根据姓名进行排序 3. 根据单科成绩进行排序 4. 根据平均分进行排序
3.5 查找学生信息
功能:
(查找学生信息包含根据输入学号进行查找和根据输入的姓名进行查找两种方式,并根据返回的学生信息,进行以下三种操作)
1. 查询学生信息,直接返回找到的信息
2. 修改学生信息,根据找到的学生信息,对其进行修改
3. 删除学生信息,根据找到的相关学生信息,从链表中删除这条记录第4
章 主要数据结构
程序设计中用到的学生信息结构体类型 在单独的头文件stu.\
定义shouldsave全局变量,判断是否需要保存资料(0为不保存,1为保存)
int shouldsave = 0; 各相关函数的声明
extern void append_record(); 添加记录 extern void show_record(); 输出全部记录 extern void delete_record(); 删除记录 extern void change_record(); 更改记录 extern void inquire_record(); 查询记录
extern void sort_record(); 记录排序第5章 流程图
文件数据输出文件数据输入C语言学籍管理系统录系入统学主生菜信单息添加学生信息修排改序学生信息显示学生信息查找学生信息退出系统按学号排序按姓名排序按各科成绩排序按平均分排序按学号查询按姓名查询 查询学生信息删除学生信息修改学生信息
图1.1
第6章 源代码
6.1 数据结构与函数声明的头文件
stu.\录入文件的数据格式
int shouldsave = 0;判断是否需要保存资料的全局变量 extern void append_record(); 添加记录 extern void show_record(); 输出全部记录 extern void delete_record(); 删除记录 extern void change_record(); 更改记录 extern void inquire_record(); 查询记录 extern void sort_record(); 记录排序 #endif
6.2 主控程序模块
main.c源文件: #include\{
void save();
void menu();
void openfile(); 用于打开文件,形成链表 int sel;
openfile(); 用于打开文件信息,输出到链表里 while(1) {
menu(); fflush(stdin);
}
scanf(\读取输入的sel switch(sel) {
case 0:save();break;
case 1:append_record();break; * 增加学生 * case 2:show_record();break;* 显示学生 * case 3:delete_record();break;* 删除学生 * case 4:change_record();break;* 修改学生 * case 5:inquire_record();break;* 查询学生 * case 6:sort_record();break;排序
default: printf(\输入无效,请重新输入\\n\
} }
void save() {
STU *p=NULL; FILE *fp;
char *filename=\static int count=0; if(shouldsave) {
printf(\资料已更改,是否保存?(y or n)\\n\ fflush(stdin);
char y_n;
scanf(\