C语言课程设计-学生成绩管理系统

#include

#include

/* strcmp函数原型包含*/ #define N 100

/*定义最大学生人数为100*/

struct student /*学生结构体定义*/ {

char no[11]; /*学号,10位*/

char name[10];/*姓名,3个汉字*/ float score[5];/*储存5门功课的成绩*/ float ave;/*储存平均分*/ int year;/*入学年*/ }stu[N]; int num;

int panduani(int); /*通过i的值,判断信息要查找的信息是否存在*/ void output(); /*输出学生成绩函数(公共函数)*/ void init(); /*系统初始化函数*/ void newfile(); /*建立新的数据文件*/

void read1(); /*从数据文件中读取数据*/ void weihu(); /*维护界面函数*/

void new1(); /*新增一个学生成绩函数*/ void xiugai(); /*修改学生成绩*/ int xgcj(int); /*修改成绩*/

void delete1(); /*删除学生信息函数*/ void tongji(); /*统计界面函数*/

void tongji1(); /*计算每个学生平均分*/ void tongji2(); /*计算每门课程的平均分*/ void paixu1(); /*排序函数*/ void paino(); /*按学号排序*/ void paiave(); /*按平均分排序*/ void paidkcj(); /*按单科成绩排序*/

void change(int,int); /*交换结构体数组中的两个记录*/ void outputx(int); /*选择输出单科成绩 徐修楼编*/ void find1(); /*查找界面函数*/ int find(char sno[]); /*按学号查找*/ int findname(char cname[]);/*按姓名查找*/ void findyear(int cyear); /*按入学年查找*/ void save(); /*保存文件*/ void stop(); /*停顿函数*/

void stop() /*停顿函数 (公共函数)*/ {

printf(\ getch(); }

精选

void output() /*输出学生成绩函数(公共函数)*/ {

int i,j;

printf(\ printf(\ XingMing RuXueNian C GaoShu DaWu DianLu MoDian\\n\

printf(\ for(i=0;i

printf(\ for(j=0;j<5;j++)

printf(\ printf(\ }

stop(); }

void init() /*系统初始化函数 */ {

if(access(\ /*判断文件是否存在*/

newfile(); /*若不存在,新建数据文件*/ else

read1(); /*若存在,读取数据*/ }

void newfile() /*建立新的数据文件 */ { int i;

FILE *fp;

if((fp=fopen(\创建二进制文件*/ {

printf(%un Xing Cheng Xu.\\n\ /*显示“创建文件失败,请重新运行程序”*/

exit(0); /*终止程序*/ }

printf(\显示“初次运行,进行数据初始化...”*/ stop(); clrscr();

printf(\显示“请输入学生人数:”*/ scanf(\ for(i=0;i

printf(\显示“请输入第i+1个学生的学号:”*/ getchar(); /*吃回车*/ gets(stu[i].no);

printf(\显示“姓名:”*/

精选

gets(stu[i].name);

printf(\显示“入学年”*/ scanf(\

printf(\显示“C语言成绩”*/ scanf(\

printf(\显示“高数成绩”*/ scanf(\

printf(\显示“大物成绩”*/ scanf(\

printf(\显示“电路成绩”*/ scanf(\

printf(\显示“模电成绩”*/ scanf(\

fwrite(&stu[i],1,sizeof(struct student),fp); /*把第i+1名学生成绩写入文件*/ }

fclose(fp); clrscr();

printf(\

printf(\ /*显示“刚才输入的 num 个数据为:”*/ printf(\ output(); }

void read1() /*从数据文件中读取数据 */ {

FILE *fp;

num=0; /*num为数据文件中实际存储的学生人数*/ fp=fopen(\

if(fp==NULL) /*数据文件不存在*/ {

printf(\显示“文件打开失败!重新运行程序”*/

exit(0); }

while(!feof(fp)) {

fread(&stu[num],1,sizeof(struct student),fp); num++; }

num--; fclose(fp);

printf(\

printf(\显示“现有 NUM个学生的成绩:”*/ printf(\ output(); }

精选

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4