版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include"stdio.h"/*定义学生结构体 */structStudent{charID[20];charName[20];floatMark1;/*计算机*/floatMark2;/*英语*/floatMark3; /*数学*/floatZongfen;/*总分*/floatAverage;};/*平均分*//*声明学生数组及学生数量 */structStudentstudents[2000];intnum=0;/*求总分*/float Zong(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3);}/*求平均值*/floatAvg(structStudentstu){return(stu.Mark1+stu.Mark2+stu.Mark3)/3;}/*通过学号返回数组下标 */intStudent_SearchByIndex(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*通过姓名返回数组下标 */intStudent_SearchByName(charname[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].Name,name)==0){returni;}}return-1;}/*通过学号返回数组下标 */intStudent_SearchID(charid[]){inti;for(i=0;i<num;i++){if(strcmp(students[i].ID,id)==0){returni;}}return-1;}/*显示单条学生记录 */voidStudent_DisplaySingle(intindex){printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩");printf("-------------------------------------------------------------\n");rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average);}voidStudent_DisplaySingle1(intindex){printf("-------------------------------------------------------------\n");rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[index].ID,students[index].Name,students[index].Mark1,students[index].Mark2,students[index].Mark3,students[index].Zongfen,students[index].Average);}/*插入学生信息 */voidStudent_Insert(){while(1){printf("请输入学号:");scanf("%s",&students[num].ID);getchar();printf("请输入姓名:");scanf("%s",&students[num].Name);getchar();printf("请输入计算机成绩:");scanf("%f",&students[num].Mark1);getchar();printf("请输入英语成绩:");scanf("%f",&students[num].Mark2);getchar();printf("请输入数学成绩:");scanf("%f",&students[num].Mark3);getchar();students[num].Average=Avg(students[num]);students[num].Zongfen=Zong(students[num]);num++;printf("是否继续?(y/n)");if(getchar()=='n'){break;}}}voidexit();/*修改学生信息 */voidStudent_Modify(){floatmark1,mark2,mark3;while(1){charid[20];intindex;printf("请输入要修改的学生的学号 :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("学生不存在!\n");}else{printf("你要修改的学生信息为 :\n");Student_DisplaySingle(index);printf("-- 请输入新值--\n");printf("请输入学号:");scanf("%s",&students[index].ID);getchar();printf("请输入姓名:");scanf("%s",&students[index].Name);getchar();printf("请输入成绩:");scanf("%f",&students[index].Mark1);getchar();printf("请输入成绩:");scanf("%f",&students[index].Mark2);getchar();printf("请输入成绩:");scanf("%f",&students[index].Mark3);getchar();students[index].Zongfen=Zong(students[index]);students[index].Average=Avg(students[index]); }printf("是否继续?(y/n)");if(getchar()=='n'){break;}}}/*删除学生信息 */voidStudent_Delete(){inti;while(1){charid[20];intindex;printf("请输入要删除的学生的学号 :");scanf("%s",&id);getchar();index=Student_SearchByIndex(id);if(index==-1){printf("学生不存在!\n");}else{printf("你要删除的学生信息为 :\n");Student_DisplaySingle(index);printf("是否真的要删除 ?(y/n)");if(getchar()=='y'){for(i=index;i<num-1;i++){students[i]=students[i+1];}num--;}getchar();}printf("是否继续?(y/n)");if(getchar()=='n'){break;}}}/*按姓名或学号查询 */voidStudent_Select(){intsel;printf("1-------------------- 按姓名查询\n");printf("2-------------------- 按学号查询\n");scanf("%d",&sel);if(sel==2){while(1){charid[20];intindex;printf("请输入要查询的学生的学号 :");scanf("%s",&id);getchar();index=Student_SearchID(id);if(index==-1){printf("学生不存在!\n");}else{printf("你要查询的学生信息为 :\n");Student_DisplaySingle(index);}printf("是否继续?(y/n)");if(getchar()=='n'){break;}}}elseif(sel==1){while(1){charname[20];intindex;printf("请输入要查询的学生的姓名 :");scanf("%s",&name);getchar();index=Student_SearchByName(name);if(index==-1){printf("学生不存在!\n");}else{printf("你要查询的学生信息为 :\n");Student_DisplaySingle(index);}printf("是否继续?(y/n)");if(getchar()=='n'){break;}}}elseprintf("信息错误!\n");}/*排序*/voidStudent_SortByAverage(){inta,sel;printf("1--------------------printf("2--------------------printf("3--------------------printf("4--------------------printf("5--------------------printf("6--------------------printf("7--------------------
按学号排序\n");按姓名排序\n");按计算机排序\n");按英语排序\n");按数学排序\n");按总分排序\n");按平均分排序\n");scanf("%d",&sel);if(sel==1){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(strcmp(students[j-1].ID,students[j].ID)>0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==2){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(strcmp(students[j-1].Name,students[j].Name)>0){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==3){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark1>students[j].Mark1){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==4){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark2>students[j].Mark2){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==5){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Mark3>students[j].Mark3){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==6){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Zongfen>students[j].Zongfen){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseif(sel==7){inti,j;structStudenttmp;for(i=0;i<num;i++){for(j=1;j<num-i;j++){if(students[j-1].Average>students[j].Average){tmp=students[j-1];students[j-1]=students[j];students[j]=tmp;}}}}elseprintf("信息错误!\n");}/*显示学生信息 */voidStudent_Display(){inti;printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩"); printf("-------------------------------------------------------------\n");for(i=0;i<num;i++){rintf("%10s%10s%8.0f%8.0f%8.0f%8.0f%10.2f\n",students[i].ID,students[i].Name,students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Zongfen,students[i].Average);}}/*将学生信息从文件读出 */voidIO_ReadInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","rb"))==NULL){printf("不能打开文件!\n");return;}if(fread(&num,sizeof(int),1,fp)!=1){num=-1;}else{for(i=0;i<num;i++){fread(&students[i],sizeof(struct Student),1,fp);}}fclose(fp);}/*将学生信息写入文件 */voidIO_WriteInfo(){FILE*fp;inti;if((fp=fopen("Database.txt","wb"))==NULL){printf("不能打开文件!\n");return;}if(fwrite(&num,sizeof(int),1,fp)!=1){printf("写入文件错误!\n");}for(i=0;i<num;i++){if(fwrite(&students[i],sizeof(struct Student),1,fp)!=1){printf("写入文件错误!\n");}}fclose(fp);}/*统计不同分数段的学生 */voidStudent_TJ(){while(1){inta,sel;floatm,n;printf("1--------------------
按计算机统计不同分数段的学生
\n");printf("2--------------------
按英语统计不同分数段的学生
\n");printf("3--------------------
按数学统计不同分数段的学生
\n");printf("4--------------------
按总分统计不同分数段的学生
\n");printf("5--------------------
按平均分统计不同分数段的学生
\n");scanf("%d",&sel);printf("输入所需查询的分数段 [m,n]");scanf("%f%f",&m,&n);printf("%10s%10s%8s%8s%8s%8s%10s\n","学号","姓名","计算机","英语","数学","总分","平均成绩");if(sel==1){intj;for(j=0;j<=num;j++){if(students[j].Mark1>=m&&students[j].Mark1<=n)Student_DisplaySingle1(j);}}elseif(sel==2){intj;for(j=0;j<=num;j++){if(students[j].Mark2>=m&&students[j].Mark2<=n)Student_DisplaySingle1(j);}}elseif(sel==3){intj;for(j=0;j<=num;j++){if(students[j].Mark3>=m&&students[j].Mark3<=n)Student_DisplaySingle1(j);}}elseif(sel==4){intj;for(j=0;j<=num;j++){if(students[j].Zongfen>=m&&students[j].Zongfen<=n)Student_DisplaySingle1(j);}}elseif(sel==5){intj;for(j=0;j<=num;j++){if(students[j].Average>=m&&students[j].Average<=n)Student_DisplaySingle1(j);}}elseprintf("信息错误!\n");printf("是否继续?(y/n)");a=getchar();if(ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于2025年的银行年度工作心得总结(3篇)
- 2025年幼儿园食堂餐饮从业人员食品安全知识培训考核试题及答案
- 新能源汽车产业项目环境影响报告书
- 2026届上海市复兴中学高一化学第一学期期中教学质量检测模拟试题含解析
- 风电场项目风险控制方案
- 聚酰胺生产项目风险评估报告
- 2025年工会考试面试题及答案
- 2025年毛料知识测试题目及答案
- 2026届安徽省定远县中化学高三上期末联考模拟试题含解析
- 2026届江西省上饶市横峰中学、铅山一中、余干一中高一化学第一学期期末调研试题含解析
- (新版)M9执照英语易考易错高频考试题库500道(含答案)
- 华为集团薪酬管理制度
- 2025年事业单位招聘考试《公共基础知识》试题库审定版
- 2024年3月青少年机器人技术等级考试理论综合试卷五级真题(含答案)
- 消化内科消化道出血护理流程探讨
- 甲方代表述职报告
- 产后恶露排出不畅的中医外治方案
- 2025年中国氧化镁现状分析及市场前景预测
- 2025年智能衣架市场分析现状
- 妊娠晚期催产素引产课件
- TCECS 1460-2023 零碳建筑及社区技术规程
评论
0/150
提交评论