程序基本框架结构图
按 学 号 排 序
学生成绩管理系统 录入 学生 显示学生 成绩排序 成绩查询 删除学生 追加学生 修改学生 退出系统 按姓名排序 按平均分排序 退 出 按姓名查询 按性别查询 按学号查询 按平均分查询 退 出 按学号删除 按姓名删除 退 出
程序设计说明书
源代码清单
#include \#include \#include \
typedef struct student /*定义结构体类型*/ { long num;
char name[9]; char sex[3]; int math; int english; int cjia; int sum; double aver; }STU;
void input() /*输入,将学生数据写入磁盘*/ { int i,n; STU a; /*用来存放一个学生数据*/ FILE *fp;
system(\ /*清屏*/ if((fp=fopen(\打开文件*/ { printf(\打开失败!\\n\ printf(\请输入要输入的学生人数:\ scanf(\输入学生人数*/ for(i=0;i
printf(\请输入学生英语成绩:\ scanf(\ while<0||>100) {printf(\请输入正确的英语成绩:\ scanf(\
printf(\请输入学生C语言成绩:\ scanf(\ while<0||>100) {printf(\请输入正确的C语言成绩:\ scanf(\ =++; =; fwrite(&a,sizeof(STU),1,fp); } fclose(fp); printf(\按任意键继续\ getchar(); getchar(); /*程序暂停,保留屏幕*/ }
void list() /*显示函数*/
{ STU a; /*结构体a存放一个学生数据*/ FILE *fp; system(\
if((fp=fopen(\ {printf(\打开文件失败!\\n\
printf(\学号\\t姓名\\t性别\\t数学\\t英语\\tC语言\\t总分\\t平均分\\n\ while(fread(&a,sizeof(STU),1,fp)!=0)
printf(\ fclose(fp);
printf(\按任意键继续\ getchar(); getchar(); }
void chose1() /*按学号排序,子函数*/ { int i,j,n=0;
STU a[100],t; /*结构体数组a存放100个学生,t与a为同类型结构体*/ FILE *fp; system(\
if((fp=fopen(\ { printf(\打开文件失败\\n\
while(fread(&a[n],sizeof(STU),1,fp)!=0) /*从文件中读取数据*/ n++;
C语言——学生成绩数据库管理系统



