




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
}}#iiiclude<stdio.h>#iiiclude<stnng.h>/*strcmp函數(shù)原型包含*/#defiiieN100/*定義最大學生人數(shù)為100*/stiuctstudent/*學生結構體定義*/charno[ll];/*學號,10位*7charname[10];/*姓名,3個漢字*7floatscoie[5];/*儲存5門功課的成績*/floatave;/*儲存平均分*/nityear;/*入學年*/}stu[N];intnum;mtpaiiduaiii(int);voidoutput();/*通過1的值,判斷信息要查找的信息是否存在*//*輸出學生成績函數(shù)(公共函數(shù))*/voidiiiit();/*系統(tǒng)初始化函數(shù)*/voidne\\^lle();/*建立新的數(shù)據文件*/voidread1();voidweiliu();voidnewl();voidxiugai();/*從數(shù)據文件中讀取數(shù)據*//*維護界面函數(shù)*//*新增一個學生成績函數(shù)*//*修改學生成績*/intxgcj(int);voiddeleteIQ;voidtongji();/*修改成績*//*刪除學生信息函數(shù)*//*統(tǒng)計界面函數(shù)*/voidtongjilQ;voidtongji2Q;voidpaixulQ;voidpamo();/*計算每個學生平均分*//*計算每門課程的平均分*//*排序函數(shù)*//*按學號排序*/voidpaiaveQ;/*按平均分排序*/voidpaidkcjQ;voidchange(int,int);voidoutputx(int);voidfindIQ;/*按單科成績排序*//*交換結構體數(shù)組中的兩個記錄*//*選擇輸出單科成績徐修樓編/*查找界面函數(shù)*/mtfind(charsno[]);/*按學號查找*/intfindname(chai-cname[]);/*按姓名查找*/voidfiiidyear(intcyear);/*按入學年查找*7voidsaveQ;/*保存文件*/voidstop();/*停頓函數(shù)*/voidstop()/*停頓函數(shù)(公共函數(shù))*/{printf(nPressAiivKeyToContmue...\nn);getchQ;}}voidoutput()/*輸出學生成績函數(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ù)據文件*/elsereadIQ;/*若存在,讀取數(shù)據*/}voidne\vfile()/*建立新的數(shù)據文件*/{iiiti;FILE*fp;if(?=fbpenCstu?d於QvbJ)=NULL)嚴創(chuàng)建二進制文件*/{_priiitf(HChuangJianShiBai!QiiigChongXmYiinXiiigChengXu.\iiH);/*顯示"創(chuàng)建文件失敗,請重新運行程序”exit(O);/*終止程序*/}printf(nChuCiYiinXing,JmXingShuJuChuShiHua...\nn);/*顯示“初次運行,進行數(shù)據初始化…”*/stop();clrscrQ;pnntf("QrngShuRuXueShengRenShu:”);/*顯示“請輸入學生人數(shù):”*/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:");/*顯示'‘高數(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名學生成績寫入文件*/}fclose(fp);clrscrQ;printf(n=====================\n,r);printf(nGungCaiShuRuDe%dGeShuJu/*顯示“剛才輸入的num個數(shù)據為:*/printf(n=========—============\ii\n,r);outputQ;}voidread1()/*從數(shù)據文件中讀取數(shù)據*/{FILE*fp;num=0;/*num為數(shù)據文件中實際存儲的學生人數(shù)*/fp=fbpen(nstu.datM,HrH);if(fp==NULL)/*數(shù)據文件不存在*/{_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);/*顯示“現(xiàn)有NUM個學生的成績「*/pnntf(n=========—=============\n\nn);outputQ;voidweihuQ嚴維護界面函數(shù)*/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()/*新增一個學生成績函數(shù)*/{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顯示"高數(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個學生的成績「*/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/*高數(shù)*/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/*刪除學生信息函數(shù)*/{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/*顯示“現(xiàn)有NUM個學生的成績「*/outputQ;}else{piintfpqingshumzhengquedexuehao.\n”);stopO;}}voidtongji()嚴統(tǒng)計界面函數(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/*計算每個學生平均分*/
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語言*//*高數(shù)*/\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/*交換結構體數(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/*按學號查找*//*按姓名查找*/*\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)嚴判斷兩個數(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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 化妝品購銷合同范例
- 農村淘寶勞務聘用合同范例
- 醫(yī)療設備服務合同范例
- 勞務合同范例有竟
- 鄉(xiāng)村院落租房合同范例
- 分揀員合作合同范例
- 單位店面出售合同范例
- 北京定制開發(fā)合同范例
- 單位房屋建筑合同范例
- 企業(yè)收購二手房合同范例
- 公務員登記表
- 食品公司電商部門組織架構
- 母線槽安裝檢驗批質量驗收記錄
- 肩關節(jié)鏡下肩袖修補術的護理查房ppt
- 管道開挖施工方案修復
- 高速公路工程質量管理體系及保證措施
- 菠菜色素提取和分離
- 中鐵工程項目內部控制管理手冊(492頁)
- 氣瓶充裝安全及培訓課件PPT幻燈片
- 防雷檢測專業(yè)技術人員能力認定考試題庫完整
- 計算機考試Excel操作題原題及操作步驟82435
評論
0/150
提交評論