.
目录
题目要求
设计目的
总体设计
详细设计
调试与测试
源程序
总结 .
——学生成绩管理程序
· 2 · 2 · 3 · 3 · 12 · 14 · 30
学生成绩管理程序
.
一. 题目要求
1. 问题描述:
对在校学生几门课程的考试成绩进行统一管理.每个学生记录包括学号,,年龄,数学,英语,物理成绩,默认以学号为序存放.
2. 要求:
(1)一个文件按以班为单位存储学生记录. (2)将允许的操作分为四种,以A,B ,C,D,E,F为标志: A:插入一个学生记录; B:修改学生记录; C:删除一个学生记录; D:查找一个学生记录; E:浏览学生成绩: F:退出
3. 计算学生的总成绩.
4. 按学号排序输出全班学生成绩表 .
.
.
二. 设计目的
根据题目要求,由于学生信息是存放在文件中,所以应提供文件的输入,输出等操作;在程序中需要浏览学生的信息,应提供显示,查找,排序等操作;另外还应提供键盘式选择菜单实现功能选择.
三. 总体设计
根据上面的需求分析,可以将这个系统分为以下模块:输入模块,修改模块,删除模块,查找模块,显示模块.
学生成绩管理系统 数据输入
数据显示 数据修改 数据删除 数据查找 四. 详细设计
1. 主函数:
主函数一般设计得比较简单,只提供输入,处理和输出部分的函数调用,其中各功能模块用菜单方式选择.
流程图:
显示一系列功能模块 .
.
N
输入n,判断n是否是A--F
Y
根据n的值调用各功能模块函数 [程序]:
//#include \ int menu_select() { char c; printf(\
printf(\增加学生记录 printf(\查询学生记录 printf(\修改学生记录 printf(\学生纪录排序 printf(\退出系统 |\\n\ printf(\ printf(\请选择(0-8):\ c=getchar(); getchar(); return (c-'0'); }
2. 输入模块:
.
5.统计信息 |\\n\ 6.打开文件 |\\n\ 7.保存文件 |\\n\ 8.显示记录 |\\n\ .
[分析]:
单独看各数据信息,学号,姓名是字符型,可以采用字符型数组;分数为整数,采用整数;数据信息存放在文件中,一条记录对应一个学生,既符合习惯又方便信息管理.
如果要存放若干学生信息就用结构体数组:
void addrecord(student stud[]) {
int i=0,j,num; char str[5]; if(numstus!=0) {
printf(\已有记录存在是否覆盖?(y/n)\\n\ gets(str);
if(str[0]=='Y'||str[0]=='y') i=0;
else i=numstus; }
printf(\请输入增加的学生信息条目数:\ scanf(\ if(i==0)
.