学生信息管理系统C语言版.doc
《学生信息管理系统C语言版.doc》由会员分享,可在线阅读,更多相关《学生信息管理系统C语言版.doc(19页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、/交流学习/QQ:1194758555#include#include#include#include#includeint k,n;struct student double yuwen; double shuxue; double yingyu; double zong; double pingjun; char name20; char num20; stu1000;void jiazai(struct student stu,int *num1);void baocun(struct student stu,int n);void find(struct student stu,int
2、 n);int findnum(struct student stu,int n,char *num);/查找学号;void shanchu(struct student stu,int *num1);void shanchuyi(struct student stu,int *num1);/删除一条记录;void shanchuquanbu(struct student stu,int *num1);void tianjiayi(struct student stu,int i);/添加一记录;void tianjia(struct student stu,int *num1);/添加记录;
3、void xiugai(struct student stu,int n);/修改一条记录;void output(struct student stu,int n,int x);/打印信息;void paixu(struct student stu,int n);/排序;int jianchaxuehao(struct student stu,char *num);/检查学号的合法性;int jianchachengji(double num);/检查成绩的合法性;void outputone(struct student *stu,int i,int x);/输出一条信息void caid
4、an();int main() int q; jiazai(stu,&n); caidan(); scanf(%d,&q); while(q6) printf(输入错误请重新输入n请输入0-6的数字n); scanf(%d,&q); Sleep(300); system(cls); switch(q) case 1 : tianjia(stu,&n); break; case 2: xiugai(stu,n); break; case 3: paixu(stu,n); break; case 4: find(stu,n); break; case 5: shanchu(stu,&n); bre
5、ak; case 6: output(stu,n,0); break; case 0: exit(0); return 0;void caidan() printf(n); printf(欢迎进入学生信息管理系统n); printf(n); printf( 1添加学生成绩 n); printf(n); printf( 2修改学生成绩 n); printf(n); printf( 3排序 n); printf(n); printf( 4查找 n); printf(n); printf( 5删除 n); printf(n); printf( 6输出 n); printf(n); printf( 0
6、退出 n); printf(n); printf(n); printf(请输入选择:n);void jiazai(struct student stu,int *num1) FILE *fp; int i; if(fp=fopen(d:student.dat,r)=NULL) *num1=0; return; for(i=0; fread(&stui,sizeof(struct student),1,fp)!=0; i+) *num1=i; fclose(fp);void paixu(struct student stu,int n) int xuehao(const void *a,cons
7、t void *b); int yuwen(const void *a,const void *b); int shuxue(const void *a,const void *b); int yingyu(const void *a,const void *b); int zongchengji(const void *a,const void *b); int (*cmp)(const void *a,const void *b)= xuehao,yuwen,shuxue,yingyu,zongchengji; int a; printf(n); printf( 欢迎进入学生信息排序页面
8、n); printf(n); printf(n); printf( 0:按学号降序排序 n); printf(n); printf( 1:按语文成绩降序排序 n); printf(n); printf( 2:按数学成绩降序排序 n); printf(n); printf( 3:按英语成绩降序排序 n); printf(n); printf( 4:安总成绩降序排序 n); printf(n); printf(请输入选择:n); scanf(%d,&a); Sleep(300); system(cls); qsort(stu,n,sizeof(stu0),cmpa); output(stu,n,0
9、);int xuehao(const void *a,const void *b) if(strcmp(struct student *)a)-num,(struct student *)b)-num)0) return -1; else return 1;int yuwen(const void *a,const void *b) return (struct student *)a)-yuwen yuwen ? 1 : -1;int shuxue(const void *a,const void *b) return (struct student *)a)-shuxue shuxue ?
10、 1 : -1;int yingyu(const void *a,const void *b) return (struct student *)a)-yingyu yingyu ? 1 : -1;int zongchengji(const void *a,const void *b) return (struct student *)a)-zong zong ? 1 : -1;void shanchuyi(struct student stu,int *num1) int i,in,c; char y20; FILE *fp; char str20; printf(n); printf( 欢
11、迎进入学生信息删除页面 n); printf(n); printf(请输入需要删除的学号n); scanf(%s,str); c=jianchaxuehao(stu,str); while(c=0) printf(输入的学号不合法请重新输入n); scanf(%s,str); c=jianchaxuehao(stu,str); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息删除页面 n); printf(n); in=findnum(stu,*num1,str); while(in0) printf(该学生的信息不存在n); print
12、f(重新输入(yes-y)返回主菜单(no-n)n); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(请输入y或nn); scanf(%s,y); if(!strcmp(y,n) Sleep(300); system(cls); main(); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息删除页面 n); printf(n); printf(请输入需要删除的学号n); scanf(%s,str); in=findnum(stu,*num1,str); for(i=in; i*num
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统 语言版
限制150内