C语言课程设计-学生成绩管理系统_第1页
C语言课程设计-学生成绩管理系统_第2页
C语言课程设计-学生成绩管理系统_第3页
C语言课程设计-学生成绩管理系统_第4页
C语言课程设计-学生成绩管理系统_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

}}#iiiclude<stdio.h>#iiiclude<stnng.h>/*strcmp函数原型包含*/#defiiieN100/*定义最大学生人数为100*/stiuctstudent/*学生结构体定义*/charno[ll];/*学号,10位*7charname[10];/*姓名,3个汉字*7floatscoie[5];/*储存5门功课的成绩*/floatave;/*储存平均分*/nityear;/*入学年*/}stu[N];intnum;mtpaiiduaiii(int);voidoutput();/*通过1的值,判断信息要查找的信息是否存在*//*输出学生成绩函数(公共函数)*/voidiiiit();/*系统初始化函数*/voidne\\^lle();/*建立新的数据文件*/voidread1();voidweiliu();voidnewl();voidxiugai();/*从数据文件中读取数据*//*维护界面函数*//*新增一个学生成绩函数*//*修改学生成绩*/intxgcj(int);voiddeleteIQ;voidtongji();/*修改成绩*//*删除学生信息函数*//*统计界面函数*/voidtongjilQ;voidtongji2Q;voidpaixulQ;voidpamo();/*计算每个学生平均分*//*计算每门课程的平均分*//*排序函数*//*按学号排序*/voidpaiaveQ;/*按平均分排序*/voidpaidkcjQ;voidchange(int,int);voidoutputx(int);voidfindIQ;/*按单科成绩排序*//*交换结构体数组中的两个记录*//*选择输出单科成绩徐修楼编/*查找界面函数*/mtfind(charsno[]);/*按学号查找*/intfindname(chai-cname[]);/*按姓名查找*/voidfiiidyear(intcyear);/*按入学年查找*7voidsaveQ;/*保存文件*/voidstop();/*停顿函数*/voidstop()/*停顿函数(公共函数)*/{printf(nPressAiivKeyToContmue...\nn);getchQ;}}voidoutput()/*输出学生成绩函数(公共函数)*/intij;pnntf(n=========—======—==========—=========,nn);printf(nXueHaoXingMingRuXueNianCGaoShuDaWuDiaiiLuMoDian'iT);pnntf(n=========—======—==========—=========,nn);fbr(i=O:i<num;i++){priiitf(H%-lls%-1Os%-11d*\stu[1].no,stu[i].name?stu[i].yeai);fbr(j=O;j<5j++)printf(H%-7.1f\sni[i].score[j]);pnntfW);}stop();}voiduut()/*系统初始化函数*/{if(access(Hstu.datH,O))/*判断文件是否存在*/newfileQ;/*若不存在,新建数据文件*/elsereadIQ;/*若存在,读取数据*/}voidne\vfile()/*建立新的数据文件*/{iiiti;FILE*fp;if(®=fbpenCstu・d於QvbJ)=NULL)严创建二进制文件*/{_priiitf(HChuangJianShiBai!QiiigChongXmYiinXiiigChengXu.\iiH);/*显示"创建文件失败,请重新运行程序”exit(O);/*终止程序*/}printf(nChuCiYiinXing,JmXingShuJuChuShiHua...\nn);/*显示“初次运行,进行数据初始化…”*/stop();clrscrQ;pnntf("QrngShuRuXueShengRenShu:”);/*显示“请输入学生人数:”*/scaiifC^d^&num);fbr(i=O:i<num;i++){_priiitf(HQmgShuRuDi%dGeXueShengDeXueHao:Hj+l);/*显示“请输入第i+1个学生的学号*/getchar();/*吃回车*/gets(stu[i].no);prmtf(HXmgMmg:,r);/*显示"姓名"*/}}gets(stu[i].name);prmtf("RuXueNiaii:");/*显示“入学年”*/scanf(H%d,\&stu[i].year);pimtfC'C-YiiYanCheng显示“C语言成绩”*/scanf(H%f\&stu[i].score[0]);pimtf("GaoShuChengJi:");/*显示'‘高数成绩”*/scanf(H%f\&stu[i].sco代[1]);prmtf(HDaWuCheng显示“人物成绩”*/scanf(H%f\&stu[i].score[2]);printff'DianLuChengJi:");/*显示"电路成绩”*/scanf(H%f\&stu[i].sco代[3]);prmtf(HMoDiaiiCheng显示“模电成绩"*/scanf(H%f\&stu[i].sco代[4]);f\vrite(&sni[i]4,sizeof(sti-uctstudent).fp);/*把第i+1名学生成绩写入文件*/}fclose(fp);clrscrQ;printf(n=====================\n,r);printf(nGungCaiShuRuDe%dGeShuJu/*显示“刚才输入的num个数据为:*/printf(n=========—============\ii\n,r);outputQ;}voidread1()/*从数据文件中读取数据*/{FILE*fp;num=0;/*num为数据文件中实际存储的学生人数*/fp=fbpen(nstu.datM,HrH);if(fp==NULL)/*数据文件不存在*/{_prmtf(HWenJianDaKaiShiBai!ChongXmYunXmgChengXu\iiH);/*显示“文件打开失败!重新运行程序”*/exit(O);}while(!feof(fp)){fiead(&stu[num],l,siz亡obstructstudent),fp);num+-r;}num-;fclose(fp);pnntf(n=========—=============\nn);printf(nXiaiiYou%dGeXueShengDeChengJi:\iT,num);/*显示“现有NUM个学生的成绩「*/pnntf(n=========—=============\n\nn);outputQ;voidweihuQ严维护界面函数*/charcl;while(l){clrscrO;clrscrO;WeiHuXinZengWeiHuXinZengShanChuXiuGaiESC.FanHui*E);*\n”);/*新增*/*\n”);/*删除(按学号)*//*修改*/*\nH);/*返回*7prmtf(Hprmtf(H\t\t\tQmgXuanZe:\nM);/*请选择:*/cl=getchQ;if(cl==27)break;switch(cl){caseT:newl();break;case2:delete1();casexiugaiQ;break;default:priiitf(HXuanZenYouWu.QmgChongXuan!\iT);/*"选择有误,请重选!*/}}}voidnew1()/*新增一个学生成绩函数*/{prmtf(HQmgShuRuXueHao,);/*显示“请输入学号"*/getchar();严吃回车*/gets(stu[num].no);prmtf("XmgMmg:");/*显示"姓名:”*/gets(stu[num].name);prmtfC'RuXueNiaii:")y*显示“入学年”*/scanf(H%d,\&stu[num].yeai);pnntf(”C-"】YanChengJi:”);/*显示"C语言成绩”*/scanf(H%f\&stu[num].score[OJ);prmtf(HGaoShuCheng显示"高数成绩”*/scanf(H%f\&stu[num].score[1]);prmtf(HDaWuChengJi:n);/*显示“人物成绩”*/scanf(H%f\&stu[num].score[2]);printff'DianLuChengJi:");/*显示"电路成绩"*/scanf(H%f\&stu[num].score[3]);prmtf(nMoDiaiiCheng显示"模电成绩”*/scanf(H%f\&stu[num].score[4]);num-H-;prmtf(H\ji==================—==\nH);prmtf(nXianYou%dGeXueShengDeCheng/*显示“现有NUM个学生的成绩「*/pimtf(H=====================\ii\nH);outputQ;}voidxiugaiQ/*修改学生成绩*/{charxg[ll];inti;priiitf(H\iiQmgshuruvaoxiugaixueshengdexuehao:\n\iiH);gets(xg);fbr(i=O;i<num;i-H-)if(sticmp(sni[i].no,xg)=0)bieak;if(i==num){printf(H\iiShujuwenjianwugaishengxixi!\ji\nQingchongxmshu111xuehao.^u\iin);stopQ;return;}X旳(1);}intxgcj(intx)/*修改成绩*7{chai-xueke[5][10]={HCyuyan,7,GaoshuTWu0「Duu山TJModmn”};chai(*p)[10],c;p=xueke;他(;;){clrscrO;pnntff\nj;prmtf(n\t\t\tChengJiE);prmtf(n\t\t\tl.CYuYan\n”);/*C语言*/prmtf(n\t\t\t2.GaoShu/*高数*/prmtf(n\t\t\t3.WuLi\ir);/*人学物理*/

DianLuMoDianEsc.FailHui\n”)DianLuMoDianEsc.FailHui\n”);/*电路*//*模电*/\n\iT);/*返回上级*/priiitf(n\tQingxuanzeyaoxiugaidechengji(press.5.Esc):\nM);c=getchQ;if(c==27)bieak;elseif(c>=*r&&c<=,5,)k=c-49;prmtf(n\iiQingshuru%schengji:\n役p+k);scanf(H%f\&stu[x].score[k]);pnntff'XnXiugaihougaixueshengxiiixiwei:\nn);prmtf(nXueHaoXiiigMiiigRuXueNianCGaoShuDaWuDiaiiLuMoDiaii\iin);prmtf(H===================—=================\nM);prmtf(,,%-lls%-10s%-lld,\stu[x].no,stu[x].naine,stu[x].yeai);for(j=Oj<5J++)printf(H%-7.1f\stu[x].score[j]);prmtf(H\nn);}elseprintf(H\iiXuanZenYouWu.QmgChongXuan!\u\iiH);stop();}}mtfind(charsno[])/*按学号查找*/{iiiti;fbr(i=O:i<num;i++)if(strcmp(stu[1].no,sno)=0)/*判断两个字符串相等*/returni;/*查找成功*/retuin-1;/*查找失败*/}voiddelete10/*删除学生信息函数*/{chaicno[ll];intij;piintf(nQiiigShuRuYaoShanChuDeXueShengXueHao:H);/*“请输入要删除的学生学号”*/gets(cno);i=find(cno);{for(j=ij<num;j++)stu[j]=stu[j+l];

num-;prmtf(HXianYou%dGeXueShengDeCheng/*显示“现有NUM个学生的成绩「*/outputQ;}else{piintfpqingshumzhengquedexuehao.\n”);stopO;}}voidtongji()严统计界面函数*/{iiiti;while(l){clrscrQ;TongJiXueShengPingJunFenKeChengPmgJunFenwhile(l){clrscrQ;TongJiXueShengPingJunFenKeChengPmgJunFenESC・FanHuipiintf(H\t\t\tQingXuaiiZe:\iiH);/*请选择:*/c2=getch();“!”);/*ESC・FanHuipiintf(H\t\t\tQingXuaiiZe:\iiH);/*请选择:*/c2=getch();if(c2==27)break;switch(c2)caseT:tongjilQ;printf(n\irjiXueShengPmgJunFenW^iW);pnntf(n==—======—==—=======—===\iin);piintf(nXueHaoXiiigMingRuXueNianPingJuiiFen\iiH);pnntf(n==—=====================\iin);fbr(i=O:i<num;i++)-10s%-11d%-10.2f\nM,stu[i].no,stu[i].naine,stu[i].year,stu[i].ave);stop();break;case2:tongji2();break;default:printf(nXuanZenYouWu.QuigChongXuan?\iiH);/*u选择有误,请重选!M*/}}}voidtongjilQ/*计算每个学生平均分*/

intij;fbr(i=O;i<num;i-H-){stu[i].ave=O;foi(j=0j<5j-H-)stu[i]・ave+=stu[i].score[j];stu[1].ave=stu[i]・ave/5;}}voidtongji20/*计算每门课程的平均分*/{intij;floatsum;floatavec[5];/*储存每门课的平均分*/for(j=0;j<5j++){sum=O;fbr(i=O;i<num;i-H-)sum+=stu[i].scoiejj];avec[j]=sunVnuni;}pnntf(n\ii\iiGeKePmgJunFenWei:\nM);/*“各科平均分:”*/pnntf(n=========—=========='jim);printf(nCGaoShuDaWuDianLuMoDiaii\nM);pnntf(n=========—=========='jim);fbr(i=O;i<5;i++)prmtf(H%-7.If\avec[i]);stop();}voidpaixulQ{charc3;血(;;)严排序界面3VclrscrQ;PaiXuPaiXuAnXueHaoAnPmgJunFenAndankechengjiESC・FanHui*E);/*按学号排序*/*按平均分排序*/*\nH);/*按单科成绩排序*/\n”);/*返回*/printf(H\t\QingXuanZe(press1.2.3.Esc):\nH)^*请选择:*/c3=getch();if(c3=27)break;switch(c3){caseT:paino();bwak;case^^paiaveQ^reak;case'S^paidkcjQibreak:default:printf(n\iiXuanZenYouWikQmgChongXuan!\n\nn);/*选择有误,请重选!*/stopQ;}}}voidpamo()/*按学号排序*/{/*按学号从低到高冒泡法排序*/inti,j,k;fbr(i=O;i<num;i++)fbr(j=0:j<num-l-ij++)if(sticmp(sni[j].no,stu[j+l].no)>0)change(jj+l);printf(n,uiPaiXuHouWei:\jin);/*“排序后为「outputQ;}voidpaiaveQ/*按平均分排序*/{/*按平均分从高到低冒泡法排序*/mtij;stmctstudenttemp;tongjilQ;/*计算平均成绩*/fbr(i=O;i<num;i++)血(j=0;j<num-i打卄)if(stu[j]・ave<stu[j+1].ave)change(j,j+l);printf(n\ii\tPaiXuHouWei^r1);/*“排序后为「*/printfCl\t=====—======================\nM);piintf^^XtXueHaoXmgMiiigRuXueNianAv亡Painiiiig'di");printfCl\t=====—======================\nM);fbr(i=O;i<num;i++)pnntf(n\t%-lls%」0s%・lld%・6.2f%4d\iT;stu[i]・no,stu[i].name,stu[i].year,stu[i].avej+l);stop();}voidpaidkcjQ/*按单科成绩排序*/

charc;血(;;){clrscr();pnntff\nj;prmtf(n\t\t\tprmtf(n\t\t\tprmtf(ncharc;血(;;){clrscr();pnntff\nj;prmtf(n\t\t\tprmtf(n\t\t\tprmtf(n\t\t\tprmtf(n\t\t\tprmtf(n\t\t\tprmtf(n\t\t\tDanKeChengJiCYuYanGaoShuWuLiDianLuMoDianEsc.FailHui\n”);\n”);/*C语言*//*高数*/\n”);/*大学物理3V\n");/*电路*//*模电3*7\n\n”);/*返回上级*/priiitf(n\tQingxuanze(piess.5.Esc):\nn);c=getchQ;if(c==27)bieak;elseif(c>=T‘&&c<=,5,){k=c-49;fbr(i=O;i<num;i-H-)血(J=O;j1-i;j++)if(stu[j]・score[k]<stu[j+1].score[k])change(jj+l);outputx(k);}elsepruitf(n\iiXuanZenYouWu.QmgChongXuan!^nH);stopQ;}}voidchange(int/*交换结构体数组中的两个记录*/{stmctstudenttemp;temp=stu[i];stu[i]=stu[j];stu[j]=temp;}voidoutputx(intk)/*选择输出单科成绩*/{chaixueke[5][10]={MCyuyan^nGaoshu\HWuli^,,Dianlu^nModianM};chai(*p)[10];/*定义一个指向包含10个字符型元素的一维数组的指针变量*/iiiti;

p=xueke;pnntf(n\ii\tPaiXuHouWei:\iiH);pnntf(n\t==========================\nM);printf(n\tXueHaoXmgMiiigRuXueNian%sPaipnntf(n\t====—==========—==========\nM);fbr(i=O;i<num;i++)printf(n\t%-lls%-1Os%-11d%-6.1f%5d\n”,stu[i].no,stu[i].name,stu[1].year,stu[i]・score[k],i+1);}voidfiiidlO/*查找界面函数*/{clwc4;clwcno[ll],cname[10];mtij.cyear;while(l){clrscrQ;ChaZhaoAnXueHaoAnXmgMmgAnRuXueNiaiiESC・FanHui/*按学号查找*//*按姓名查找*/*\n”);/*按入学年查找*/*\nM);/*返回*/piintf(H\t\t\tQingXuanZe:\iiH);/*请选择:*/c4=getch();if(c4==27)break;switch(c4)caseT:pnntf(HShuRuXueHao:\iin);/*“输入学号「*/gets(cno);i=fiiid(cno);panduani(i);break;case2:pnntf(HShuRuXmg“输入姓名:”*/gets(cname);i=fiiidiiame(cname);panduani(i);break;casepnntf(HShuRuRUXueNian:\nH);/*a输入入学年”*/scanf(”%cT、&cyeaQ;fiiidyeai(cyeai);stop();break;default:printf(nXuanZenYouWu.QingChongXuan?\iiH);/*“选择有误,请重选!°*/}}}intfindname(chai-cname[])/*按姓名查找*/{iiiti;fbr(i=O:i<num;i++)if(strcmp(stu[i].name,cname)=O)/*判断两个字符串相等*/returni;/*查找成功*/return-1;/*查找失败*/}voidfiiidyeai(intcyear){intij.flag=O;fbr(i=O;i<num;i++)if(stu[i].year=cyear){flag=l;break;}if(flag==O){priiitf(nYaoChaZhaoDeXueShengBuCunZai\iiH);stop();}else{printf(HChaZhaoDaoDeXueShengXinXiWei:\nM);/*“查找到的学生信息为:"*/printf(HXueHaoXmgMiiigRuXueNianCGaoShuDaWuDiaiiLuMoDian\nM);printf(H================—====================\n,r);fbr(i=O;i<num;i-H-){if(stu[i].year=cyear)严判断两个数值相等*/{pimtf(M%-lls%-1Os%-11cT,stu[i].no,stu[i].name.stu[i].yeai);for(j=0;j<5J++)printf(H%-7.1f\stu[i].score[j]);}}}}intpaiiduaiu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论