




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/交流学习/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 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);/添加记录;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 caidan();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); break; 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退出 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,const 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( 欢迎进入学生信息排序页面 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);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 ? 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( 欢迎进入学生信息删除页面 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); printf(重新输入(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*num1-1; i+) stui=stui+1; (*num1)-; if(fp=fopen(d:student.dat,w)=NULL) printf(打开失败n); exit(0); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息删除页面 n); printf(n); printf(删除成功n); baocun(stu,*num1); printf(继续删除(yes-y)返回上主菜单(no-n)n); getchar(); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(请输入y或nn); getchar(); scanf(%s,y); Sleep(300); system(cls); if(!strcmp(y,n) main(); if(!strcmp(y,y) shanchuyi(stu,num1);void shanchuquanbu(struct student stu,int *num1) char y20,a20; FILE *fp; printf(n); printf( 欢迎进入学生信息删除页面 n); printf(n); printf(是否全部删除?(yes-y)返回主菜单(no-n)n); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(请输入y或nn); scanf(%s,y); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息删除页面 n); printf(n); if(!strcmp(y,y) fp=fopen(d:student.dat,w); *num1=0; printf(删除完成n); fclose(fp); printf(返回主菜单(yes-y)结束(no-n)n); scanf(%s,a); while(strcmp(a,y)&strcmp(a,n) printf(请输入y或nn); scanf(%s,a); Sleep(300); system(cls); if(!strcmp(a,y) main(); else Sleep(300); system(cls); return; else Sleep(300); system(cls); main(); void shanchu(struct student stu,int *num1) int q; printf(n); printf(删除n); printf(n); printf(1:删除指定信息n); printf(n); printf(2:删除全部信息n); printf(n); printf(n); printf(请输入选择:n); getchar(); scanf(%d,&q); system(cls); switch(q) case 1: shanchuyi(stu,num1); break; case 2: shanchuquanbu(stu,num1); break; int findnum(struct student stu,int n,char *num) int i; for(i=0; i0) printf(n); printf(%-10s%-6s%-6s%-6s%-6s%-6s%-6s,学号,姓名,语文,数学,英语,平均,总成绩n); /printf(n); for(i=0; inum,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,stu-pingjun,stu-zong); else printf(n); printf(%-8s%-6s%-6s%-6s%-6s%-6s%-6s,学号,姓名,语文,数学,英语,平均,总成绩n); printf(n); printf(%-8s%-6s%-6.1lf%-6.1lf%-6.1lf%-6.1lf%-6.1lfn,stu-num,stu-name,stu-yuwen,stu-shuxue,stu-yingyu,stu-pingjun,stu-zong); printf(n); void tianjiayi(struct student stu,int i) int a,b; printf(请输入学生学号n); getchar(); scanf(%s,stui.num); a=jianchaxuehao(stu,stui.num); while(a=0|a=2) if(a=0) printf(输入的学号不合法请重新输入n); if(a=2) printf(输入的学号与已有的重复请重新输入n); scanf(%s,stui.num); a=jianchaxuehao(stu,stui.num); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息添加页面 n); printf(n); printf(请输入该学生姓名n); scanf(%s,); printf(请输入语文成绩n); scanf(%lf,&stui.yuwen); b=jianchachengji(stui.yuwen); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stui.yuwen); b=jianchachengji(stui.yuwen); printf(请输入数学成绩n); scanf(%lf,&stui.shuxue); b=jianchachengji(stui.shuxue); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stui.shuxue); b=jianchachengji(stui.shuxue); printf(请输入英语成绩n); scanf(%lf,&stui.yingyu); b=jianchachengji(stui.yingyu); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stui.yingyu); b=jianchachengji(stui.yingyu); stui.pingjun=(stui.yuwen+stui.shuxue+stui.yingyu)/3; stui.zong=stui.yuwen+stui.shuxue+stui.yingyu;void tianjia(struct student stu,int *num1) char p10=y,y10; printf(n); printf( 欢迎进入学生信息添加页面 n); printf(n); while(!strcmp(p,y) tianjiayi(stu,*num1); (*num1)+=1; printf(是否继续添加(yes-y,no-n)n); getchar(); scanf(%s,p); while(strcmp(p,n)&strcmp(p,y) printf(请输入y或nn); getchar(); scanf(%s,p); Sleep(300); system(cls); baocun(stu,*num1); printf(返回主菜单(yes-y)结束(no-n)n); getchar(); scanf(%s,y); while(strcmp(y,n)&strcmp(y,y) printf(请输入y或nn); getchar(); scanf(%s,y); if(!strcmp(y,y) Sleep(300); system(cls); main(); else return;void xiugai(struct student stu,int n) int in,b,c; char a10,q10; char str20,y10; printf(n); printf( 欢迎进入学生信息修改页面 n); printf(n); printf(请输入要修改学生的学号n); getchar(); scanf(%s,str); c=jianchaxuehao(stu,str); in=findnum(stu,n,str); while(c=0|in0) if(in0|(in0&c=1) printf(此条信息不存在n); if(c=0) printf(输入不合法请重新输入n); printf(重新输入(yes-y)返回主菜单(no-n)n); scanf(%s,a); while(strcmp(a,y)&strcmp(a,n) printf(请输入y或nn); getchar(); scanf(%s,a); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息修改页面 n); printf(n); if(!strcmp(a,n) Sleep(300); system(cls); main(); printf(请输入要修改学生的学号n); scanf(%s,str); c=jianchaxuehao(stu,str); in=findnum(stu,n,str); printf(修改前的信息如下:n); outputone(&stuin,n,1); printf(是否修改姓?(yes-y,no-n)n); getchar(); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(请输入y或nn); getchar(); scanf(%s,y); Sleep(300); system(cls); printf(n); printf( 欢迎进入学生信息修改页面 n); printf(n); if(!strcmp(y,y) printf(请输入姓名n); scanf(%s,); printf(是否修改%s的成绩?(yes-y)返回主菜单(no-n)n,stuin.num); /getchar(); scanf(%s,q); while(strcmp(q,y)&strcmp(q,n) printf(请输入y或nn); getchar(); scanf(%s,q); if(!strcmp(q,y) printf(请输入%s的语文成绩n,stuin.num); scanf(%lf,&stuin.yuwen); b=jianchachengji(stuin.yuwen); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stuin.yuwen); b=jianchachengji(stuin.yuwen); printf(请输入%s的数学成绩n,stuin.num); scanf(%lf,&stuin.shuxue); b=jianchachengji(stuin.shuxue); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stuin.shuxue); b=jianchachengji(stuin.shuxue); printf(请输入%s的英语成绩n,stuin.num); scanf(%lf,&stuin.yingyu); b=jianchachengji(stuin.yingyu); while(b=0) printf(输入错误请重新输入n); scanf(%lf,&stuin.yingyu); b=jianchachengji(stuin.yingyu); if(!strcmp(q,n) Sleep(300); system(cls); main(); baocun(stu,n); printf(添加成功n返回主菜单(yes-y)结束(no-n)n); getchar(); scanf(%s,y); while(strcmp(y,y)&strcmp(y,n) printf(请输入y或nn); getchar(); scanf(%s,y); if(!strcmp(y,y) Sleep(300); system(cls);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年机械制造工程师资格考试试题及答案解析
- 2025年互联网运营总监专业水平检测试题及答案解析
- 2025年村级档案员招聘笔试模拟测试题
- 课件中使用图表的目的
- 小学英语长元音教学课件
- 2025年农业合作社财务专员面试模拟题
- 2025年宠物针灸治疗总结面试题及答案
- 数学可爱的小猫教学课件
- 2025年市级文化馆招聘面试模拟题及答案
- 2025年电梯安全使用题集
- 人教版九年级上册历史期末复习知识点考点背诵提纲详细版
- 护理人员行为规范
- 2025版安全生产法全文
- 2025年中国护腰垫数据监测报告
- 2025年中远海运集团招聘笔试备考题库(带答案详解)
- 新教师职业素养提升培训
- 2025至2030中国工业混合式步进电机行业发展趋势分析与未来投资战略咨询研究报告
- 小学生课件藏文版下载
- 委托协议承办会议协议书
- 养生馆转让协议书
- 外观检验考试试题及答案
评论
0/150
提交评论