




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言大作業(yè)目錄 3.4主要源程序代碼 8 (報(bào)告正文部分):績(jī)管理系統(tǒng),便應(yīng)運(yùn)而生。運(yùn)用所學(xué)的C語(yǔ)言知識(shí),構(gòu)建簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng),不僅將知識(shí)用于實(shí)際的方法,進(jìn)一步提高個(gè)人綜合能力的提高。還能夠?yàn)橹蟮膶I(yè)實(shí)同時(shí)明確學(xué)生對(duì)成績(jī)管理系統(tǒng)的功能需求和性能需求,并將這些需要用規(guī)范的C語(yǔ)言和規(guī)范的結(jié)構(gòu)完整準(zhǔn)確的表達(dá)清楚,由此達(dá)到對(duì)學(xué)生管理系統(tǒng)軟件的理解和對(duì)C語(yǔ)言的知識(shí)規(guī)范使用。C程,從實(shí)際應(yīng)用出發(fā),運(yùn)用ViusalC++6.0編寫學(xué)生成績(jī)管理系統(tǒng)。①信息錄入錄入學(xué)生信息(包括姓名、學(xué)號(hào)、各科成績(jī))。②信息查詢輸入學(xué)號(hào),查詢與學(xué)號(hào)相對(duì)應(yīng)的信息(包括成績(jī)),并按可選的自定義規(guī)③信息刪除與修改④計(jì)算學(xué)生成績(jī)通訊錄信息結(jié)構(gòu),并采用鏈表結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行存3.1需求分析①信息錄入錄入學(xué)生信息(包括姓名、學(xué)號(hào)、各科成績(jī))。②信息查詢輸入學(xué)號(hào),查詢與學(xué)號(hào)相對(duì)應(yīng)的信息(包括成績(jī)),并按可選的自定義規(guī)③信息刪除與修改④計(jì)算學(xué)生成績(jī)通訊錄信息結(jié)構(gòu),并采用鏈表結(jié)構(gòu)對(duì)數(shù)據(jù)進(jìn)行存功修改功能:完成對(duì)單個(gè)學(xué)生成績(jī)的修改。4查找功能:按學(xué)號(hào)完成對(duì)單個(gè)學(xué)生信息查找,并顯示。序功能:按學(xué)生成績(jī)進(jìn)行排序,并顯示。6保存功能:能夠?qū)⑤斎氲男畔⒈4妫⒛茏x取7有一個(gè)清晰美觀界面來(lái)調(diào)用各個(gè)功能擇功能,鏈接其他模塊的工作,以及包含StudentInsertudentSearchelect菜單選擇函數(shù)菜單選擇函數(shù)輸入記錄函數(shù)顯示記錄函數(shù)查找顯示函數(shù)修改記錄函數(shù)刪除記錄函數(shù)排序記錄函數(shù)匹配學(xué)號(hào)函數(shù)保存記錄函數(shù)讀取記錄函數(shù)退出函數(shù).3.Student_Sort_Average&Student_Sort_Mark1:按學(xué)生的平均分或者學(xué)3.1Student_Display:輸出多名學(xué)生的按平均分或者英語(yǔ)成績(jī)排名的名單4.Read:運(yùn)用fread將文件從已保存文件里讀出Writefprintffwritemain函數(shù)塊的算法設(shè)計(jì)思路:學(xué)生成績(jī)管理系統(tǒng)的設(shè)計(jì)一開始由主程序界面設(shè)計(jì)出發(fā),運(yùn)用case函數(shù)鏈接8信StudentInsertStudentSearchStudentSelectStudentDelete,Student_MofyStudentSortAverageStudentSortMarkStudentDisplayReadWrit.e等函數(shù),實(shí)現(xiàn)學(xué)生成績(jī)查詢與管理功能首先用while(1)控制,保障在每次菜他函數(shù),實(shí)現(xiàn)對(duì)學(xué)生成績(jī)管理系統(tǒng)的各個(gè)功能的操子模塊程序當(dāng)中,首先編寫的是輸入程序主要運(yùn)用scanf函數(shù)接受用戶輸入的信息修改,學(xué)生信息刪除都建立在學(xué)號(hào)匹配的Student_Search函數(shù)上,運(yùn)用for和if函數(shù)對(duì)輸入的學(xué)號(hào)依次對(duì)以保存的1.Student_Search:運(yùn)用printf輸入相應(yīng)的學(xué)號(hào)結(jié)構(gòu)體的信息。3.Student_Delete:首先輸出相應(yīng)的學(xué)號(hào)結(jié)構(gòu)體的信息,然后運(yùn)用for函數(shù),然后就編寫排序Student_Sort_Average,Student_Sort_Mark1排序模塊,同樣比,然后賦值進(jìn)行排序的目的。在這兩個(gè)函數(shù)的基礎(chǔ)上Student_Display函數(shù)就intf接下來(lái)則編寫Read和Write函數(shù),后者主要運(yùn)用fprintf和fwrite將用戶輸入的數(shù)據(jù)寫進(jìn)去txt文檔,fprintf實(shí)踐當(dāng)中產(chǎn)生的txt文檔更加方便用戶直接的要運(yùn)用fread函數(shù),主要用于讀取fwrite寫出txt文檔。.主要源程序代碼存儲(chǔ)結(jié)構(gòu)設(shè)計(jì)說(shuō)明:程序首先輸入學(xué)生信息,存儲(chǔ)過(guò)程序子模塊來(lái)讀取存儲(chǔ)的文件信息。因此,特意加入fprintf函數(shù),對(duì)學(xué)生的信完整源程序清單:#include<windows.h>/*延時(shí)程序所在的頭文件*/#include<stdlib.h>#include<stdio.h>#include<string.h>dent{DefloatMark1;floatMark2;floatMark3;kaverktot}student[1000];/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/tStudentp/*輸入記錄函數(shù)*/voidStudentInsert(){while){rintfscanfsstudent[num].ID);rscanfsstudentnumNamerscanffstudentnumMark);rscanffstudentnumMark);rscanffstudentnumMark);getchar();//清除回車符studentnumMarkavestudentnumMarkstudentnum].Mark2+student[nstudent[num].Mark_tot={}}}/*尋找匹配學(xué)號(hào)*/hcharname{fori0;i<num;i++){dentiIDname{}}}/*查找顯示函數(shù)*/voidStudentSelect{while){eprintf("請(qǐng)輸入要查詢的學(xué)生的學(xué)號(hào):");nfsnameamendex{printf("學(xué)生不存在!\n");Sleep(2000);/*讓錯(cuò)誤警告顯示延時(shí)一秒*/b}{printf("你要查詢的學(xué)生信息為:\n");/*rintfsssssssn","數(shù)學(xué)","物理","平均成績(jī)","總分");顯示單條學(xué)生記錄*/printf----------------------------------------printf("%10s%10s%8.2f%8.2f%8.2f%10.2f%10.2f\n",(*p).ID,(*p).Name,(*p).MarkpMarkpMarkpMarkavepMarktot}{}}}/*刪除記錄函數(shù)*/voidStudentDelete){while){printf("請(qǐng)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào):");nfsiddndex{tfnSleep(2000);/*讓錯(cuò)誤警告顯示延時(shí)一秒*/}{printf("你要?jiǎng)h除的學(xué)生信息為:\n");/*顯示單條學(xué)生記錄*/","數(shù)學(xué)","物理","平均成績(jī)","總分");printf----------------------------------------printf("%10s%10s%8.2f%8.2f%8.2f%10.2f%10.2f\n",(*p).ID,(*p).Name,(*p).MarkpMarkpMarkpMarkavepMarktotprintf是否真的要?jiǎng)h除?(y/n)");{for(p;p<&student[num-1];p++){pp把后邊的對(duì)象都向前移動(dòng)}num--;}}printf("是否繼續(xù)刪除y/n)");{}}}/*修改記錄函數(shù)*/voidStudentModify){while){printf("請(qǐng)輸入要修改的學(xué)生的學(xué)號(hào):");nfsiddndex{tfnSleep(2000);/*讓錯(cuò)誤警告顯示延時(shí)一秒*/}{printf("你要修改的學(xué)生信息為:\n");/*顯示單條學(xué)生記錄*/","數(shù)學(xué)","物理","平均成績(jī)","總分");printf----------------------------------------printfssffff%10.2f\n",student[index].ID,studemestudentindexMarkstudentindexMarkstudentindexMarkstudentindexMark_ave,student[index].Mark_tot);scanfsstudent[index].ID);ntfscanfsstudentindexName;ntfscanffstudentindexMark);ntfscanffstudentindexMark);ntfscanffstudentindexMark);studentindexMarkavestudentindexMarkstudentindex.Mark2+stutindexMark=indexMarktot=studentindexMarkstudentindexMarkstudent[index].Mark3;}{}}}/*按平均值排序記錄函數(shù)*/voidStudentSortAverage{udenttmpfori0;i<num;i++){for(j=1;j<num-i;j++){tjMarkavestudentjMarkave{tmp=student[j-1];udentjstudentjjtmp}}}}/*按英語(yǔ)值排序記錄函數(shù)*/voidStudentSortMark1(){udenttmpfori0;i<num;i++){for(j=1;j<num-i;j++){dentjMarkstudentjMark{tmp=student[j-1];udentjstudentjjtmp}}}}/*顯示記錄函數(shù)*/voidStudentDisplay){printf("%10s%10s%8s%8s%8s%10s%10s\n","學(xué)號(hào)","姓名","英語(yǔ)","數(shù)學(xué)","物理","平均成績(jī)","總分");printf----------------------------------------forpstudent;p<&student[num];p++){printfssffff%10.2f\n",(*p).ID,(*p).Name,(*p).MarkpMarkpMarkpMarkavepMarktot}}/*將學(xué)生信息從文件讀出*/voidRead){DatabasetxtrbNULL{}if(fread(&num,sizeof(i),1,fp)!=1)/*將fp文件中每項(xiàng)四個(gè)字節(jié)的i寫入到num當(dāng)中*/{}{forii<num;i++){fread(&student[i],sizeof(structStudent),1,fp);/*讀取fp文件里面每項(xiàng)的全部?jī)?nèi)容寫入到結(jié)構(gòu)體當(dāng)中*/}}closefptf}/*將學(xué)生信息寫入文件*/idWrite{DatabasetxtwbNULL{}enumsizeofifp{將輸入學(xué)生的num指針以每項(xiàng)4printf寫入文件錯(cuò)誤!\n");}fori0;i<num;i++){if(fwrite(&student[i],sizeof(structStudent),1,fp)!=1)/*從結(jié)構(gòu)體學(xué)生信息當(dāng)中獲取資料填寫到fp文件當(dāng)中*/{printfn");}}closefpfprintf(fp,"%8s","學(xué)號(hào)");fprintf(fp,"%8s","英語(yǔ)");fprintf(fp,"%8s","數(shù)學(xué)");fprintf(fp,"%8s","物理");.fprintf(fp,"%12s\n","總分");fprintffp==========================================================for(i=0;i<num;i++,p++){fprintf(fp,"%8s",(*p).ID);fprintffp,"%8s",(*p).Name);fprintffp"%8.1lf",(*p).Mark1);fprintffp"%8.1lf",(*p).Mark2);fprintffp"%10.1lf",(*p).Mark3);fprintffp%12.1lf",(*p).Mark_ave);fprintffp%10.1lf\n",(*p).Mark_tot);fprintffp====================================================================\n");closefpprintf("文件已保存到\"學(xué)生成績(jī).txt\"");}/*菜單選擇函數(shù)*/voidmain{while){printf("\n===========廣石化學(xué)生成績(jī)管理系統(tǒng)rintfnrintfnrintfnrintfnrintfnprintf("7.保存到txt文本\n");printf("8.退出\n");fdchoiceice{case:ertnfdchoiceice{case:veragelayrtMarklay}ttefyrite}}}應(yīng)的函數(shù)輸入不能解決問題。后來(lái)找,通過(guò)加入while(1)和break這一組對(duì)應(yīng)的函數(shù)解決問題。通過(guò)if來(lái)判斷輸入的字符,判讀是否要結(jié)束子程序或者主程序,是的就通過(guò)b
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45169-2025增材制造金屬制件殘余應(yīng)力聲束控制法
- GB/T 45142-2025海洋溢油污染生態(tài)修復(fù)監(jiān)測(cè)和效果評(píng)估技術(shù)指南
- GB/T 45221-2025化學(xué)品EASZY試驗(yàn)利用轉(zhuǎn)基因tg(cyp19a1b:GFP)斑馬魚胚胎通過(guò)雌激素受體檢測(cè)內(nèi)分泌活性物質(zhì)
- 鄉(xiāng)村地基出售合同范本
- 2025年鐵嶺考貨運(yùn)從業(yè)資格證
- 2025年永州貨運(yùn)從業(yè)資格證怎么考試
- 加工合同范本道客
- 買車庫(kù)出售合同范本
- it購(gòu)銷合同范本
- 醫(yī)院業(yè)務(wù)合同范本
- 基于核心素養(yǎng)的學(xué)習(xí)觀和教學(xué)觀
- 感染性腹瀉及其防控措施
- 第二篇-安全操作規(guī)程
- 《多維度兒童智力診斷量表》MIDSC的編制
- 罪犯教育學(xué)課程
- 紀(jì)檢監(jiān)察辦案談話應(yīng)注意的問題研討
- 超實(shí)用工程結(jié)算單excel模板
- 一年級(jí)小學(xué)生新學(xué)期開學(xué)計(jì)劃
- ISO9001-2015質(zhì)量手冊(cè)和全套程序文件
- 醫(yī)療器械產(chǎn)品放行程序
- 07j306排水溝圖集標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論