1、c语言#include malloc.h#include stdio.h#include stdlib.h#include string.hstruct scorenode int number;/*学号*/ char name10;/*姓名*/ char kcname10;/*课程名称*/ char bianhao5;/*课程编号*/ int credit;/*学分*/ float phyps;/*大学物理平时成绩*/ float physy;/*大学物理实验成绩*/ float phyjm;/*大学物理卷面成绩*/ float vfps;/*VF平时成绩*/ float vfsy;/*VF
2、实验成绩*/ float vfjm;/*VF卷面成绩*/ float mathps;/*高等数学平时成绩*/ float mathsy;/*高等数学实验成绩*/ float mathjm;/*高等数学卷面成绩*/score7;struct scorenode change;struct scorenode paixu7;struct imformatiom char sex10; int fanghao; char phone20;imf7;float shifen7;/*实得学分数组*/float zonghe7;/*综合成绩数组*/char a10;char filepn10;/*文件路径
3、以及文件名*/float t;int n;/*录入的学生数*/int k;int i;int j;int x;int y;int u;int xuehao1;int xuehao2;/*全局变量本程序中的函数均可以使用它*/*=*/*=*/*=*/*=*/int creat()/*录入学生基本信息*/ system(cls); printf(请输入学生资料,输0退出!n); printf(请输入要输入的学生人数(应为非负数):); scanf(%d,&n); if(n0) for(i=0;in;i+) printf(nn); printf(请按顺序输入学生学号(学号应大于0):);/*输入学号
4、,学号应大于0*/ scanf(%d,&scorei.number); if(scorei.number0) /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/ printf(输入错误,请重新输入学生学号:); scanf(%d,&scorei.number); printf(请输入学生姓名:); scanf(%s,&scorei.name);/*输入学生姓名*/ printf(请输入大学物理课程编号:); scanf(%s,&scorei.bianhao); printf(请输入该编号的课程名称:); scanf(%s,&scorei.kcname); printf(请输入该科的学
5、分:); scanf(%d,&scorei.credit); printf(请输入大学物理平时成绩(0100):); scanf(%f,&scorei.phyps);/*输入大学物理平时成绩,成绩应在0-100*/ while(scorei.phyps100) printf(输入错误,请重新输入大学物理平时成绩); scanf(%f,&scorei.phyps); /*输入错误,重新输入大学物理平时成绩直到正确为止*/ printf(请输入大学物理实验成绩(0100,无实验则为-1):); scanf(%f,&scorei.physy);/*输入大学物理实验成绩,成绩应在0-100,无实验则为
6、-1*/ if(scorei.physy=-1) printf(该科无实验成绩n); else while(scorei.physy100) printf(输入错误,请重新输入大学物理实验成绩); scanf(%f,&scorei.physy); /*输入错误,重新输入大学物理实验成绩直到正确为止*/ printf(请输入大学物理卷面成绩(0100):); scanf(%f,&scorei.phyjm);/*输入大学物理卷面成绩,成绩应在0-100*/ while(scorei.phyjm100) printf(输入错误,请重新输入大学物理卷面成绩); scanf(%f,&scorei.phy
7、jm); /*输入错误,重新输入大学物理卷面成绩直到正确为止*/ printf(请输入VF课程编号:); scanf(%s,&scorei.bianhao); printf(请输入该编号的课程名称:); scanf(%s,&scorei.kcname); printf(请输入该科的学分:); scanf(%d,&scorei.credit); printf(请输入VF平时成绩(0100):); scanf(%f,&scorei.vfps);/*输入VF平时成绩,成绩应在0-100*/ while(scorei.vfps100) printf(输入错误,请重新输入VF平时成绩); scanf(%
8、f,&scorei.vfps); /*输入错误,重新输入VF平时成绩直到正确为止*/ printf(请输入VF实验成绩(0100,无实验则为-1):); scanf(%f,&scorei.vfsy);/*输入VF实验成绩,成绩应在0-100,无实验则为-1*/ if(scorei.vfsy=-1) printf(该科无实验成绩n); else while(scorei.vfsy100) printf(输入错误,请重新输入VF实验成绩); scanf(%f,&scorei.vfsy); /*输入错误,重新输入VF实验成绩直到正确为止*/ printf(请输入VF卷面成绩(0100):); sca
9、nf(%f,&scorei.vfjm);/*输入VF卷面成绩,成绩应在0-100*/ while(scorei.vfjm100) printf(输入错误,请重新输入VF卷面成绩); scanf(%f,&scorei.vfjm); /*输入错误,重新输入VF卷面成绩直到正确为止*/ printf(请输入高等数学课程编号:); scanf(%s,&scorei.bianhao); printf(请输入该编号的课程名称:); scanf(%s,&scorei.kcname); printf(请输入该科的学分:); scanf(%d,&scorei.credit); printf(请输入高等数学平时成
10、绩(0100):); scanf(%f,&scorei.mathps);/*输入高等数学平时成绩,成绩应在0-100*/ while(scorei.mathps100) printf(输入错误,请重新输入高等数学平时成绩); scanf(%f,&scorei.mathps); /*输入错误,重新输入高等数学平时成绩直到正确为止*/ printf(请输入高等数学实验成绩(0100,无实验则为-1):); scanf(%f,&scorei.mathsy);/*输入高等数学实验成绩,成绩应在0-100,无实验则为-1*/ if(scorei.mathsy=-1) printf(该科无实验成绩n);
11、else while(scorei.mathsy100) printf(输入错误,请重新输入高等数学实验成绩); scanf(%f,&scorei.mathsy); /*输入错误,重新输入高等数学实验成绩直到正确为止*/ printf(请输入高等数学卷面成绩(0100):); scanf(%f,&scorei.mathjm);/*输入高等数学卷面成绩,成绩应在0-100*/ while(scorei.mathjm100) printf(输入错误,请重新输入高等数学卷面成绩); scanf(%f,&scorei.mathjm); /*输入错误,重新输入高等数学卷面成绩直到正确为止*/ print
12、f(输入学生人数为%d个n,n); if(n=0) printf(输入学生人数为0个n); return EOF; system(pause); return 0;/*=*/*=*/int write()/*从文件读入学生资料函数*/ int m=0; FILE *fp; system(cls); printf(请输入文件路径及文件名:); scanf(%s,filepn);/*输入文件路径及名称*/ if(fp=fopen(filepn,r+)=NULL) printf(不能打开文件!n); return 0; printf(n); printf(学号 姓名 性别宿舍号码 电话号码 n);
13、printf(n); for(i=0;!feof(fp)&!ferror(fp);i+) fscanf(fp,%d%s%s%d%sn,&scorei.number,&scorei.name,&imfi.sex,&imfi.fanghao,&imfi.phone); printf( %d %s %s %d %s n,scorei.number,scorei.name,&imfi.sex,imfi.fanghao,imfi.phone); printf(n); /*文件读入与显示*/ printf(n);/*表格下线*/ system(pause); fclose(fp);/*结束读入,关闭文件*
14、/ return 0;/*=*/*=*/*=*/void save()/*保存B.txt函数*/ FILE *fp; printf(资料保存到B.txt文件中.n); if(fp = fopen(B.txt,w)=NULL) printf(保存出错!n); exit(0); for(i=0;in;i+) fprintf(fp,学 号:%dt姓 名:%sn,scorei.number,scorei.name); fprintf(fp,课程编号:%st课程名称:%st平时成绩:%.0ft实验成绩:%.0ft卷面成绩:%.0fn,scorei.bianhao,scorei.kcname,scorei
15、.phyps,scorei.physy,scorei.phyjm); fprintf(fp,课程编号:%st课程名称:%st平时成绩:%.0ft实验成绩:%.0ft卷面成绩:%.0fn,scorei.bianhao,scorei.kcname,scorei.vfps,scorei.vfsy,scorei.vfjm); fprintf(fp,课程编号:%st课程名称:%st平时成绩:%.0ft实验成绩:%.0ft卷面成绩:%.0fn,scorei.bianhao,scorei.kcname,scorei.mathps,scorei.mathsy,scorei.mathjm); printf(保存
16、完毕); fclose(fp); system(pause); system(cls);/*=*/*=*/*=*/void search2()/*学生个人信息查询*/ int b; printf(按学号查询请按1t按姓名查询请按2n); scanf(%d,&b); switch(b) case 1: printf(请输入一个学号:); scanf(%d,&xuehao2); for(i=0;i0) u=1; printf(n); printf(学号 姓名 性别宿舍号码 电话号码 n); printf(n); printf( %d %s %s %d %s n,scorei.number,scor
17、ei.name,&imfi.sex,imfi.fanghao,imfi.phone); printf(n);/*表格下线*/ else u=0; if(u=0) printf(输入的学号不存在,重新查询); system(pause); ; break; case 2: printf(请输入学生姓名:); scanf(%s,a); for(i=0;i字符串比较函数*/ u=1; printf(n); printf(学号 姓名 性别宿舍号码 电话号码 n); printf(n); printf( %d %s %s %d %s n,scorei.number,scorei.name,&imfi.s
18、ex,imfi.fanghao,imfi.phone); printf(n);/*表格下线*/ else u=0; system(pause); ; break; /*=*/*=*/void search3()/*查询同宿舍学生的信息*/ int sushe; printf(请输入宿舍号码:); scanf(%d,&sushe); for(i=0;i0) u=1; printf(n); printf(学号 姓名 性别宿舍号码 电话号码 n); printf(n); printf( %d %s %s %d %s n,scorei.number,scorei.name,&imfi.sex,imfi
19、.fanghao,imfi.phone); printf(n); else u=0; if(u=1) printf(n); system(pause);/*=*/*=*/void del()/*删除函数*/ int xuehaodel; printf(请输入要在A.txt中删除的学生的学号:); scanf(%d,&xuehaodel); for(i=0;in;i+) if(xuehaodel=scorei.number) u=1; for(i=xuehaodel-1;in;i+) scorei=scorei+1; imfi=imfi+1; n-; /*=*/*=*/int menu(k)/*菜单选择界面函数*/ system(cls); printf(tttt学生管理系统n); printf(ttt作者:戴思途 班级:08电气2班 学号:3108001054nn); printf(ttt); for(i=0;i15;i+) printf(); printf(nn); printf(ttt 1先从文件A.txt中调入资料nntt
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1