版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
}}#iiiclude<stdio.h>#iiiclude<stnng.h>/*strcmp函數(shù)原型包含*/#defiiieN100/*定義最大學(xué)生人數(shù)為100*/stiuctstudent/*學(xué)生結(jié)構(gòu)體定義*/charno[ll];/*學(xué)號,10位*7charname[10];/*姓名,3個漢字*7floatscoie[5];/*儲存5門功課的成績*/floatave;/*儲存平均分*/nityear;/*入學(xué)年*/}stu[N];intnum;mtpaiiduaiii(int);voidoutput();/*通過1的值,判斷信息要查找的信息是否存在*//*輸出學(xué)生成績函數(shù)(公共函數(shù))*/voidiiiit();/*系統(tǒng)初始化函數(shù)*/voidne\\^lle();/*建立新的數(shù)據(jù)文件*/voidread1();voidweiliu();voidnewl();voidxiugai();/*從數(shù)據(jù)文件中讀取數(shù)據(jù)*//*維護(hù)界面函數(shù)*//*新增一個學(xué)生成績函數(shù)*//*修改學(xué)生成績*/intxgcj(int);voiddeleteIQ;voidtongji();/*修改成績*//*刪除學(xué)生信息函數(shù)*//*統(tǒng)計(jì)界面函數(shù)*/voidtongjilQ;voidtongji2Q;voidpaixulQ;voidpamo();/*計(jì)算每個學(xué)生平均分*//*計(jì)算每門課程的平均分*//*排序函數(shù)*//*按學(xué)號排序*/voidpaiaveQ;/*按平均分排序*/voidpaidkcjQ;voidchange(int,int);voidoutputx(int);voidfindIQ;/*按單科成績排序*//*交換結(jié)構(gòu)體數(shù)組中的兩個記錄*//*選擇輸出單科成績徐修樓編/*查找界面函數(shù)*/mtfind(charsno[]);/*按學(xué)號查找*/intfindname(chai-cname[]);/*按姓名查找*/voidfiiidyear(intcyear);/*按入學(xué)年查找*7voidsaveQ;/*保存文件*/voidstop();/*停頓函數(shù)*/voidstop()/*停頓函數(shù)(公共函數(shù))*/{printf(nPressAiivKeyToContmue...\nn);getchQ;}}voidoutput()/*輸出學(xué)生成績函數(shù)(公共函數(shù))*/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()/*系統(tǒng)初始化函數(shù)*/{if(access(Hstu.datH,O))/*判斷文件是否存在*/newfileQ;/*若不存在,新建數(shù)據(jù)文件*/elsereadIQ;/*若存在,讀取數(shù)據(jù)*/}voidne\vfile()/*建立新的數(shù)據(jù)文件*/{iiiti;FILE*fp;if(?=fbpenCstu?d於QvbJ)=NULL)嚴(yán)創(chuàng)建二進(jìn)制文件*/{_priiitf(HChuangJianShiBai!QiiigChongXmYiinXiiigChengXu.\iiH);/*顯示"創(chuàng)建文件失敗,請重新運(yùn)行程序”exit(O);/*終止程序*/}printf(nChuCiYiinXing,JmXingShuJuChuShiHua...\nn);/*顯示“初次運(yùn)行,進(jìn)行數(shù)據(jù)初始化…”*/stop();clrscrQ;pnntf("QrngShuRuXueShengRenShu:”);/*顯示“請輸入學(xué)生人數(shù):”*/scaiifC^d^&num);fbr(i=O:i<num;i++){_priiitf(HQmgShuRuDi%dGeXueShengDeXueHao:Hj+l);/*顯示“請輸入第i+1個學(xué)生的學(xué)號*/getchar();/*吃回車*/gets(stu[i].no);prmtf(HXmgMmg:,r);/*顯示"姓名"*/}}gets(stu[i].name);prmtf("RuXueNiaii:");/*顯示“入學(xué)年”*/scanf(H%d,\&stu[i].year);pimtfC'C-YiiYanCheng顯示“C語言成績”*/scanf(H%f\&stu[i].score[0]);pimtf("GaoShuChengJi:");/*顯示'‘高數(shù)成績”*/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名學(xué)生成績寫入文件*/}fclose(fp);clrscrQ;printf(n=====================\n,r);printf(nGungCaiShuRuDe%dGeShuJu/*顯示“剛才輸入的num個數(shù)據(jù)為:*/printf(n=========—============\ii\n,r);outputQ;}voidread1()/*從數(shù)據(jù)文件中讀取數(shù)據(jù)*/{FILE*fp;num=0;/*num為數(shù)據(jù)文件中實(shí)際存儲的學(xué)生人數(shù)*/fp=fbpen(nstu.datM,HrH);if(fp==NULL)/*數(shù)據(jù)文件不存在*/{_prmtf(HWenJianDaKaiShiBai!ChongXmYunXmgChengXu\iiH);/*顯示“文件打開失??!重新運(yùn)行程序”*/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);/*顯示“現(xiàn)有NUM個學(xué)生的成績「*/pnntf(n=========—=============\n\nn);outputQ;voidweihuQ嚴(yán)維護(hù)界面函數(shù)*/charcl;while(l){clrscrO;clrscrO;WeiHuXinZengWeiHuXinZengShanChuXiuGaiESC.FanHui*E);*\n”);/*新增*/*\n”);/*刪除(按學(xué)號)*//*修改*/*\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()/*新增一個學(xué)生成績函數(shù)*/{prmtf(HQmgShuRuXueHao,);/*顯示“請輸入學(xué)號"*/getchar();嚴(yán)吃回車*/gets(stu[num].no);prmtf("XmgMmg:");/*顯示"姓名:”*/gets(stu[num].name);prmtfC'RuXueNiaii:")y*顯示“入學(xué)年”*/scanf(H%d,\&stu[num].yeai);pnntf(”C-"】YanChengJi:”);/*顯示"C語言成績”*/scanf(H%f\&stu[num].score[OJ);prmtf(HGaoShuCheng顯示"高數(shù)成績”*/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/*顯示“現(xiàn)有NUM個學(xué)生的成績「*/pimtf(H=====================\ii\nH);outputQ;}voidxiugaiQ/*修改學(xué)生成績*/{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/*高數(shù)*/prmtf(n\t\t\t3.WuLi\ir);/*人學(xué)物理*/
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[])/*按學(xué)號查找*/{iiiti;fbr(i=O:i<num;i++)if(strcmp(stu[1].no,sno)=0)/*判斷兩個字符串相等*/returni;/*查找成功*/retuin-1;/*查找失敗*/}voiddelete10/*刪除學(xué)生信息函數(shù)*/{chaicno[ll];intij;piintf(nQiiigShuRuYaoShanChuDeXueShengXueHao:H);/*“請輸入要刪除的學(xué)生學(xué)號”*/gets(cno);i=find(cno);{for(j=ij<num;j++)stu[j]=stu[j+l];
num-;prmtf(HXianYou%dGeXueShengDeCheng/*顯示“現(xiàn)有NUM個學(xué)生的成績「*/outputQ;}else{piintfpqingshumzhengquedexuehao.\n”);stopO;}}voidtongji()嚴(yán)統(tǒng)計(jì)界面函數(shù)*/{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/*計(jì)算每個學(xué)生平均分*/
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/*計(jì)算每門課程的平均分*/{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;血(;;)嚴(yán)排序界面3VclrscrQ;PaiXuPaiXuAnXueHaoAnPmgJunFenAndankechengjiESC?FanHui*E);/*按學(xué)號排序*/*按平均分排序*/*\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()/*按學(xué)號排序*/{/*按學(xué)號從低到高冒泡法排序*/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;/*計(jì)算平均成績*/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語言*//*高數(shù)*/\n”);/*大學(xué)物理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/*交換結(jié)構(gòu)體數(shù)組中的兩個記錄*/{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個字符型元素的一維數(shù)組的指針變量*/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/*查找界面函數(shù)*/{clwc4;clwcno[ll],cname[10];mtij.cyear;while(l){clrscrQ;ChaZhaoAnXueHaoAnXmgMmgAnRuXueNiaiiESC?FanHui/*按學(xué)號查找*//*按姓名查找*/*\n”);/*按入學(xué)年查找*/*\nM);/*返回*/piintf(H\t\t\tQingXuanZe:\iiH);/*請選擇:*/c4=getch();if(c4==27)break;switch(c4)caseT:pnntf(HShuRuXueHao:\iin);/*“輸入學(xué)號「*/gets(cno);i=fiiid(cno);panduani(i);break;case2:pnntf(HShuRuXmg“輸入姓名:”*/gets(cname);i=fiiidiiame(cname);panduani(i);break;casepnntf(HShuRuRUXueNian:\nH);/*a輸入入學(xué)年”*/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);/*“查找到的學(xué)生信息為:"*/printf(HXueHaoXmgMiiigRuXueNianCGaoShuDaWuDiaiiLuMoDian\nM);printf(H================—====================\n,r);fbr(i=O;i<num;i-H-){if(stu[i].year=cyear)嚴(yán)判斷兩個數(shù)值相等*/{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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國常壓儲罐行業(yè)市場前瞻與投資戰(zhàn)略規(guī)劃分析報告
- 2025年18L馬口鐵罐項(xiàng)目可行性研究報告
- 2025年中國食品禮品行業(yè)發(fā)展趨勢及投資前景預(yù)測報告
- 2025年智能體溫計(jì)市場調(diào)研報告
- 2025年配電控制設(shè)備項(xiàng)目評估報告
- 2025農(nóng)場雇傭合同范文
- 2025車位吊牌制作合同書
- 2025場地租賃合同(承租方)
- 2025建筑工程合同與合同
- 2025學(xué)法讓我們健康成長主題校園廣播稿與學(xué)生、幼兒意外傷害保險合同匯編
- ××領(lǐng)導(dǎo)班子及成員分析研判報告(模板)
- 08S305-小型潛水泵選用及安裝圖集
- 視頻監(jiān)控室值班記錄表
- 歌曲《梁?!泛喿V完整版
- 四川2020版清單定額
- 教材編寫工作總結(jié)
- 企業(yè)員工上下班交通安全培訓(xùn)(簡詳共2份)
- 城市高密度建成區(qū)合流制溢流污染系統(tǒng)研究-黃孝河機(jī)場河水環(huán)境綜合治理項(xiàng)目實(shí)踐
- word 公章 模板
- T∕ZSQX 008-2020 建設(shè)工程全過程質(zhì)量行為導(dǎo)則
- ISO-IEC17025-2017實(shí)驗(yàn)室管理體系全套程序文件
評論
0/150
提交評論