版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì)學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報(bào)告Final approval draft on November 22, 2020重慶科技學(xué)院C語言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告學(xué) 院:電氣與信息工程學(xué)院 專業(yè)班級(jí):自動(dòng)化2013-03學(xué)生姓名:高躍躍 學(xué) 號(hào):21設(shè)計(jì)地點(diǎn)(單位)計(jì)算機(jī)基礎(chǔ)自主學(xué)習(xí)中心設(shè)計(jì)題目:學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)完成日期:2014年09月25日指導(dǎo)教師評(píng)語:成績(五級(jí)記分制):指導(dǎo)教師(簽字):課程設(shè)計(jì)任務(wù)書設(shè)計(jì)題目:學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生姓名高躍躍課程名稱C語言課程設(shè)計(jì)專業(yè)班級(jí)自動(dòng)化2013地 點(diǎn)計(jì)算機(jī)基礎(chǔ)自主學(xué)習(xí)中心起止時(shí)間設(shè)計(jì)內(nèi)容及要求內(nèi)容強(qiáng)化c語言中有關(guān)結(jié)構(gòu)體數(shù)組
2、及外部文件的內(nèi)容,獨(dú)立設(shè)計(jì)學(xué)生成 績管理系統(tǒng),并編程實(shí)現(xiàn)以下功能:1、整個(gè)系統(tǒng)均用C語言實(shí)現(xiàn);2、利用結(jié)構(gòu)體數(shù)組來實(shí)現(xiàn)學(xué)生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入、保存、讀取等 基本功能;4、系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn);5、要求能將學(xué)生成績信息保存在文件中;6、要求能從文件中讀取學(xué)生信息并進(jìn)行相關(guān)處理。設(shè) 計(jì) 參 數(shù)1、每一條記錄包括一個(gè)學(xué)生的學(xué)號(hào)、姓名、3門成績、平均成績。2、輸入功能:進(jìn)入后可以進(jìn)行多條記錄的輸入并保存。3、顯示功能:完成全部學(xué)生或滿足指定條件記錄的顯示。4、查找功能:完成按學(xué)號(hào)或姓名查找學(xué)生記錄,并顯示。5、排序功能:按學(xué)生學(xué)號(hào)或平均
3、成績進(jìn)行排序。6、插入功能:按學(xué)生學(xué)號(hào)或平均成績高低插入一條學(xué)生記錄。7、保存功能:將學(xué)生記錄保存在自定義名稱的文件中。8、讀取功能:將保存在文件中的學(xué)生記錄讀取出來。9、有一個(gè)文本菜單來調(diào)用各個(gè)功能。進(jìn)度要求L布置設(shè)計(jì)題目,講解要求和說明確定設(shè)計(jì)任務(wù),確定具體的功能,熟悉相關(guān)知識(shí) 按功能需求確定程序的主要模塊 扁程實(shí)現(xiàn)程序的功能-調(diào)試并完善程序翼寫課程設(shè)計(jì)報(bào)告-7.提交課程設(shè)計(jì)報(bào)告并答其 它譚浩強(qiáng),C語言程序設(shè)計(jì)(第三版),清華大學(xué)出版社,明1 .本表應(yīng)在每次實(shí)施前一周由負(fù)責(zé)教師填寫二份,院系審批后交院系辦備案,一 份由負(fù)責(zé)教師留用。2 .若填寫內(nèi)容較多可另紙附后。3 .一題多名學(xué)生共享的,
4、在設(shè)計(jì)內(nèi)容、參數(shù)、要求等方面應(yīng)有所區(qū)別。摘要學(xué)生成績管理系統(tǒng)是為了實(shí)現(xiàn)學(xué)校對(duì)學(xué)生成績管理的系統(tǒng)化、規(guī)范化和自動(dòng)化, 從而提高學(xué)校管理效率而設(shè)計(jì)的。它完全取代了原來一直用人工管理的工作方式,避 免了由于管理人員的工作疏忽以及管理質(zhì)量問題所造成的各種錯(cuò)誤,為及時(shí)、準(zhǔn)確、 高效的完成學(xué)生成績管理提供了強(qiáng)有力的工具和管理手段。學(xué)生成績管理系統(tǒng)是一個(gè) 中小型數(shù)據(jù)庫管理系統(tǒng),它界面美觀、操作簡單、安全性高,基本滿足了學(xué)生成績管 理的要求。本系統(tǒng)是在以Microsoft Visual C+作為后臺(tái)來開發(fā)的。學(xué)生成績管理系統(tǒng)在運(yùn) 行階段,效果好,數(shù)據(jù)準(zhǔn)確性高,提高了工作效率,同時(shí)也實(shí)現(xiàn)了學(xué)生成績管理計(jì)算 機(jī)化
5、。關(guān)鍵詞:成績管理系統(tǒng)C語言目錄L軟件需求說明1程序的界面要求1程序的功能12 .程序的分析與設(shè)計(jì)1程序的數(shù)據(jù)結(jié)構(gòu)分析4程序的算法設(shè)計(jì)63 .程序的實(shí)現(xiàn)7主函數(shù)7定義數(shù)據(jù)結(jié)構(gòu)84 .程序試用說明10主頁面11錄入信息頁面185 . 19致謝19參考文獻(xiàn)191.軟件需求說明程序的界面要求整個(gè)系統(tǒng)均用C語言實(shí)現(xiàn):利用結(jié)構(gòu)體數(shù)組來實(shí)現(xiàn)學(xué)生成績的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);系統(tǒng)具有輸入、顯示、查詢、刪除、排序、插入、保存、讀取等基本功 能;系統(tǒng)的各個(gè)功能模塊都用函數(shù)的形式來實(shí)現(xiàn);要求能將學(xué)生成績信息保存在文件中;要求能從文件中讀取學(xué)生信息并進(jìn)行相關(guān)處理。程序的功能每一條記錄包括一個(gè)學(xué)生的學(xué)號(hào)、姓名、3門成績、平均成
6、績。輸入功能:進(jìn)入后可以進(jìn)行多條記錄的輸入并保存。顯示功能:完成全部學(xué)生或滿足指定條件記錄的顯示。查找功能:完成按學(xué)號(hào)或姓名查找學(xué)生記錄,并顯示。排序功能:按學(xué)生學(xué)號(hào)或平均成績進(jìn)行排序。插入功能:按學(xué)生學(xué)號(hào)或平均成績高低插入一條學(xué)生記錄。保存功能:將學(xué)生記錄保存在自定義名稱的文件中。 讀取功能:將保存在文件中的學(xué)生記錄讀取出來。有一個(gè)文本菜單來調(diào)用各個(gè)功能。2.系統(tǒng)分析與設(shè)計(jì)程序的數(shù)據(jù)(結(jié)構(gòu))分析定義結(jié)構(gòu)體本程序需要定義多個(gè)結(jié)構(gòu)體,用于存放學(xué)生的相關(guān)信息typedef struct CStudentchar Name32;int Sno;double dDataStruct;double dM
7、ath;double dEnglish;double aver;CStudent;/*學(xué)生姓名*/*學(xué)號(hào)*/*數(shù)據(jù)結(jié)構(gòu)成績*/*數(shù)學(xué)成績*/*英語成績*/*平均成績*/main ()主函數(shù)主函數(shù)功能比較簡單,用while循環(huán)語句和switch多重選擇語句來顯示主界面和 調(diào)用函數(shù)。在主函數(shù)的前面要寫必須的頭文件,預(yù)定義語句以及全局變量的結(jié)構(gòu)體。del ()刪除函數(shù)在C語言中無法做到刪除和移動(dòng)數(shù)據(jù),所以刪除記錄要先將所有記錄從文件中讀 出,刪除后再將記錄寫回文件中。每讀出一條記錄,按其在文件中的順序做好指針鏈 接關(guān)系,然后查處要?jiǎng)h除的學(xué)生信息,將其在鏈表中刪除,最后再將變動(dòng)的記錄重新 寫回文件中。
8、用指針,else/if結(jié)構(gòu)來實(shí)現(xiàn)查找出要?jiǎng)h除的學(xué)生。insert()插入函數(shù)在插入函數(shù)中利用指針,while循環(huán)和else/if語句來實(shí)現(xiàn)輸入的數(shù)據(jù)按照插入相 應(yīng)的位置。讀取函數(shù)利用指針、鏈表打開已經(jīng)儲(chǔ)存的信息。/*從文檔讀取*/void Read()(char p128= ";FILE *fp;if <(fp=fopen (,/)二二NULL)(printf(,z0pen file %s error! Strike any key to exit!,p);system("pause");exit(O);)SavePos = 0;while(!feof(fp
9、)(fscanf (fp, Z/Name:%sn", exampleSavePos. Name);fscanf (fp, /zSno:%dn', &exampleSavePos. Sno);fscanf (fp, '"Score (DS)%lfnz &exampleSavePos. dDataStruct)fscanf (fp, '"Score (M)%lfnz &exampleSavePos. dMath);fscanf (fp, z,Score (E)%lfn,z, &exampleSavePos. dE
10、nglish);f scanf (fp, z,Score (Average) %lf n', &example ZSavePos. aver) fscanf(fp, ”*n");SavePos+;) fclose(fp);DisplayO ;save ()保存函數(shù)主要利用指針來把信息保存在文件中。/*保存到文檔*/void Save ()int j=0;const charfname128= ”FILE* fp;n)fprintf(fp, Name:%srT, examplej. Name);fprintf (fp, z,Sno:%dnz examplej. Sno)
11、;fprintf (fp, z,Score (DS)%fn', example Lj. dDataStruct);fprintf (fp, z,Score(M)%fnz,, exampleLj. dMath);fprintf (fp, z,Score(E)%fn,z, examplej. dEnglish);fprintf (fp, z,Score(Average)%fn", examplej. dEnglish)fprintf(fp, *n");printf (英語:);輸 至屏幕< name2.2scanf (機(jī)f”, &examplej. dEn
12、glish);printf (平均成績:);scanf (機(jī)f”, feexample j. aver);文件讀取功能void Read()讀取功能運(yùn)用文件指針的方法,與While循環(huán)語句完成。/*從文檔讀取*/char p128= FILE *fp;if (fp=fopen (,“r)=NULL)printf (z,0pen file %s error! Strike any key to exit!z,, p);system("pause");exit(O);SavePos = 0;while(!feof(fp)(fscanf (fp,,zName:%sn,z, exa
13、mpleSavePos. Name);fscanf (fp,,zSno:%dnz,, &exampleSavePos. Sno);fscanf (fp, '"Score (DS)%lfnzz, &exampleSavePos. dDataStruct);fscanf (fp, z,Score (M)%lfn', &example SavePos. dMath);f scanf (fp, z,Score (E) %lf n', &example SavePos. dEnglish);fscanf (fp, z,Score (Ave
14、rage)%lfnzz, &example SavePos. aver) fscanf(fp, ”*n");SavePos+;fclose(fp);DisplayQ ;2. 3插入功能首先建立循環(huán),檢測插入的學(xué)號(hào)是否已存在,若存在則停止插入:若不存 在,則繼續(xù)進(jìn)行輸入學(xué)生信息。void Insert_Score()int i , j, m, flag;i = SavePos;do(flag=l;while(flag)(flag = 0;printf ("請(qǐng)輸入第 %d 位:n”, i+1);printf (請(qǐng)輸入學(xué)號(hào)檢驗(yàn)該生是否已經(jīng)存在n);scanf("
15、%d”, &examplei. Sno);for(j=0;j<i;j+)if(examplei. Sno = examplej. Sno)(printf (已存在該號(hào),請(qǐng)檢查重新錄入八n);flag=l;break; /*重復(fù)立即退該層循環(huán),提高判斷速 度*/Record(i);printf (錄入完畢nn);Sort_Score ();while(0);3. 程序使用說明主頁面將寫好的程序用Microsoft Visual C+打開并運(yùn)行,首先出現(xiàn)的是主頁面,如圖4-1 所示。C:UsersKIMIDesktop、新件夾Gyy.exe償迎便用學(xué)生成績管理系統(tǒng) 嘲整能4、排序5、
16、保存M、刪除 _口、詩甲并顯示除追出程序圖413. 2 錄入信息頁面輸入數(shù)字1,按提示進(jìn)行學(xué)生成績的錄入,并按數(shù)字5保存信息。繼續(xù)錄入 按數(shù)字9,結(jié)束錄入按數(shù)字 如圖4-2C:UsersKIMIDesktop 新建文件夾Gyy.exe成能wlr入序每g排保刪福示顯序y 人”錄:.結(jié);成錄息名號(hào)簟語量1,£R、 士迎學(xué)數(shù)數(shù)英平繼圖4-23. 3 信息查詢頁面返回主頁面,按數(shù)字2,進(jìn)行學(xué)生信息查詢,分為按學(xué)號(hào)查詢和姓名查詢。 如圖4-3-1。C'Users'KIMIXDesktcp'fd牛夾Gyy.exe,2憎息查詢接姓名篁迪£按學(xué)號(hào)查詢圖 4-3-1按
17、數(shù)字1與按數(shù)字2查詢結(jié)果頁面如圖4-3-2所示。y y示 顯序 并程y名0 y生 1g.爽用、入、=a、 7 8 2d12工口人fenp 、 明祥12 3 4 5號(hào) 學(xué)詢?cè)?墓 ft 自QJC:UsersKIMIDesktop 新建文件夾Gyy.exeW春期弱息肩入序存除器信插排保一、1;磷 系 里 J 管 績數(shù)據(jù)結(jié)構(gòu):99.0教學(xué):99.0央語:99.0平均成績:9圖 4-3-2圖 4-3-23.4插入信息頁面返回主頁面,按數(shù)字3,首先檢驗(yàn)該學(xué)號(hào)是否存在,若存在則程序停止錄入,否則繼續(xù)進(jìn)行錄入。如圖4-4-1所示。C :UsersKIMIDes kto p 新建文件夾、G yy.exe騫黔曩
18、春鑫該生是否已經(jīng)存在2013443321空岳隼蜜號(hào)節(jié)摩查重新錄入?鬻 辜春鑫該生是否已經(jīng)存在C:UsersKIMIDeslctop 新建文件夾Gyy.exe顯序并程 寐取出 W讀退在 存 經(jīng) B 否 是 生 該3DIP210 3 口22 第學(xué)33該第X于33入8888如201機(jī)8888屆畢人入44在入入44錄:結(jié);成完 入蕾13H13息名號(hào)遁亍語均入葭人八3插請(qǐng)請(qǐng)E0已請(qǐng)請(qǐng)12a愿學(xué)數(shù)數(shù)英平錄圖 4-4-13. 5排序功能頁面返回主頁面,按數(shù)字4進(jìn)行學(xué)生信息的排序。分為按學(xué)號(hào)排序和按平均成績 排序。如圖4-5-1所示。fW功I旬 一K錄首 期募息息入序存除期統(tǒng) 系 E一 3 管 主貝 *44-*- 戈匕匕目序 bH 一下 #圖 4-5-1信息刪除頁面返回主頁面,按數(shù)字6進(jìn)行學(xué)生信息刪除頁面,分為按學(xué)號(hào)刪除和按姓名刪除,如圖4-6-1所示。圖 4一6-1按學(xué)號(hào)刪除頁而如圖4-6-2所示。統(tǒng) 理 管 績 由匕匕 目A目學(xué)后前人詢示 顯序 并程用口王錄查 期會(huì)息息入序存除事 WV18MS除除.1UU 冊(cè)冊(cè) 號(hào)名姓前按 記清 斜船、s-除刪菜刪要功級(jí)號(hào)人
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度二手房買賣合同智能家居系統(tǒng)升級(jí)與安裝服務(wù)協(xié)議3篇
- 2025版出納責(zé)任擔(dān)保及財(cái)務(wù)安全責(zé)任合同3篇
- 2025年度旅游民宿投資民間擔(dān)保合同范本4篇
- 物流公司2025年度網(wǎng)絡(luò)安全防護(hù)合同3篇
- 2024版技術(shù)研發(fā)合作合同
- 二零二五年度農(nóng)副產(chǎn)品種植基地建設(shè)與投資合同
- 2025版牛羊肉冷鏈物流信息化建設(shè)與運(yùn)營合同4篇
- 2025年度環(huán)保節(jié)能技術(shù)引進(jìn)與應(yīng)用實(shí)施合同2篇
- 二零二五年度模具采購合同與模具生產(chǎn)效率提升合同4篇
- 2025年度個(gè)人肖像權(quán)使用合同
- 鄉(xiāng)村治理中正式制度與非正式制度的關(guān)系解析
- 2024版義務(wù)教育小學(xué)數(shù)學(xué)課程標(biāo)準(zhǔn)
- 智能護(hù)理:人工智能助力的醫(yī)療創(chuàng)新
- 國家中小學(xué)智慧教育平臺(tái)培訓(xùn)專題講座
- 5G+教育5G技術(shù)在智慧校園教育專網(wǎng)系統(tǒng)的應(yīng)用
- 服務(wù)人員隊(duì)伍穩(wěn)定措施
- VI設(shè)計(jì)輔助圖形設(shè)計(jì)
- 淺談小學(xué)勞動(dòng)教育的開展與探究 論文
- 2023年全國4月高等教育自學(xué)考試管理學(xué)原理00054試題及答案新編
- 河北省大學(xué)生調(diào)研河北社會(huì)調(diào)查活動(dòng)項(xiàng)目申請(qǐng)書
- JJG 921-2021環(huán)境振動(dòng)分析儀
評(píng)論
0/150
提交評(píng)論