![C語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)_第1頁](http://file4.renrendoc.com/view12/M02/24/1B/wKhkGWXPApiAe65zAADGPaaXMzE710.jpg)
![C語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)_第2頁](http://file4.renrendoc.com/view12/M02/24/1B/wKhkGWXPApiAe65zAADGPaaXMzE7102.jpg)
![C語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)_第3頁](http://file4.renrendoc.com/view12/M02/24/1B/wKhkGWXPApiAe65zAADGPaaXMzE7103.jpg)
![C語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)_第4頁](http://file4.renrendoc.com/view12/M02/24/1B/wKhkGWXPApiAe65zAADGPaaXMzE7104.jpg)
![C語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)_第5頁](http://file4.renrendoc.com/view12/M02/24/1B/wKhkGWXPApiAe65zAADGPaaXMzE7105.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 《程序設(shè)計(jì)基礎(chǔ)(C)》課程設(shè)計(jì)報(bào)告學(xué)生成績(jī)管理系統(tǒng)學(xué)生姓名:學(xué)號(hào):20111班級(jí):指導(dǎo)老師:日期:2012年6月21號(hào)C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 成績(jī)?cè)u(píng)定課程設(shè)計(jì)任務(wù)書成績(jī)?cè)u(píng)定課程名稱程序設(shè)計(jì)課程設(shè)計(jì)(C/C++)學(xué)號(hào)姓名班級(jí)設(shè)計(jì)時(shí)間2012年6月15日-6月21日設(shè)計(jì)題目學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)條件硬件:計(jì)算機(jī)軟件:Windows操作系統(tǒng),VisualC++6.0設(shè)計(jì)任務(wù)設(shè)計(jì)一個(gè)學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)要求程序具備菜單功能或詳細(xì)的提示功能,具備數(shù)據(jù)輸入、輸出、添加、刪除、查詢、排序、文件保存、文件讀入中的幾項(xiàng)功能。能力強(qiáng)的同學(xué)可以設(shè)計(jì)表格化輸出。熟練掌握結(jié)構(gòu)體或文件的操作,程序中至少要有一個(gè)自定義結(jié)構(gòu)體和文件。自行設(shè)計(jì)的程序不少于100行,總程序量不少于200行。輸出數(shù)據(jù)要格式美觀。程序要有詳細(xì)的注釋,并畫出程序流程圖及必要的說明文檔,程序設(shè)計(jì)內(nèi)容和文檔內(nèi)容要體現(xiàn)個(gè)性化設(shè)計(jì)思想。進(jìn)度計(jì)劃時(shí)間(日期)設(shè)計(jì)內(nèi)容6月15日教師布置設(shè)計(jì)任務(wù),學(xué)生選題。查閱資料,基本技術(shù)準(zhǔn)備。6月16日設(shè)計(jì)程序框圖和功能6月17日編寫程序6月18日編寫程序6月19日調(diào)試程序6月20日程序演示,撰寫設(shè)計(jì)說明書。6月21日撰寫設(shè)計(jì)說明書,提交報(bào)告,評(píng)定成績(jī)。成績(jī)?cè)u(píng)定辦法總評(píng)成績(jī)=平時(shí)成績(jī)*30%+綜合題設(shè)計(jì)*70%參考資料1、C語言程序設(shè)計(jì)(第四版),譚浩強(qiáng),清華大學(xué)出版社,2010年2、C語言程序設(shè)計(jì)與實(shí)驗(yàn)指導(dǎo)(第四版),譚浩強(qiáng),清華大學(xué)出版社,2010年指導(dǎo)教師(簽字)C程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告目錄TOC\o"1-3"\h\z\u15815一、設(shè)計(jì)目標(biāo) -1-一、設(shè)計(jì)目標(biāo)設(shè)計(jì)一個(gè)C語言程序(成績(jī)管理系統(tǒng)),具體要求:編譯一個(gè)C語言成績(jī)記錄簿,每個(gè)學(xué)生信息包括:學(xué)號(hào)、姓名、C語言成績(jī)。具體功能如下:創(chuàng)建信息鏈表并以磁盤文件保存;讀取磁盤文件并顯示輸出所有學(xué)生的成績(jī)(顯示);按學(xué)號(hào)或姓名查詢成績(jī);修改指定姓名或?qū)W號(hào)的學(xué)生的成績(jī)(編輯);對(duì)學(xué)生的各科成績(jī)進(jìn)行排序;顯示輸出60分以下、60~79、80~89、90分以上各分?jǐn)?shù)段的學(xué)生信息。二、總體設(shè)計(jì)1、程序設(shè)計(jì)組成框圖主菜單主菜單添加新的學(xué)生成績(jī)信息瀏覽所有學(xué)生成績(jī)信息查找學(xué)生成績(jī)信息按學(xué)號(hào)查找按姓名查找修改此同學(xué)成績(jī)信息刪除此同學(xué)成績(jī)信息檢索信息庫添加新的學(xué)生成績(jī)信息刪除所有記錄保存并退出2、程序設(shè)計(jì)流程圖詳細(xì)設(shè)計(jì)功能函數(shù)1函數(shù)的入口:從main()的switch開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為4時(shí)進(jìn)入該函數(shù),將對(duì)學(xué)生的各科成績(jī)進(jìn)行排序。函數(shù)的調(diào)用:由主函數(shù)調(diào)用,由switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)程序執(zhí)行return功能后,則執(zhí)行主函數(shù)main()中的break,跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行循環(huán)結(jié)構(gòu)。功能函數(shù)2函數(shù)的功能:對(duì)學(xué)生各科成績(jī)的統(tǒng)計(jì),統(tǒng)計(jì)各分?jǐn)?shù)段上的人數(shù)。函數(shù)的入口:從main()的switch開關(guān)結(jié)構(gòu)中進(jìn)入,即choice的值為5時(shí)進(jìn)入該函數(shù),將對(duì)學(xué)生的各科成績(jī)進(jìn)行統(tǒng)計(jì)。函數(shù)的調(diào)用:由主函數(shù)調(diào)用,由switch()開關(guān)結(jié)構(gòu)中進(jìn)入,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:當(dāng)程序執(zhí)行return功能后,則執(zhí)行主函數(shù)main()中的break,跳出switch()開關(guān)函數(shù),繼續(xù)執(zhí)行循環(huán)結(jié)構(gòu)。功能函數(shù)主菜單函數(shù)的功能:主要作用是提示用戶操作,體現(xiàn)模塊化思想,主要是顯示出菜單讓用戶選擇進(jìn)行的任務(wù)。函數(shù)的入口:從main()中的do直接進(jìn)入該函數(shù),這時(shí)直接被主函數(shù)調(diào)用。函數(shù)的調(diào)用:由主函數(shù)調(diào)用,并在文中無返回值的空值void函數(shù)。函數(shù)的出口:執(zhí)行完所有的函數(shù)后,自動(dòng)退出函數(shù)。調(diào)試與測(cè)試調(diào)試方法:打開MicrosoftVisualC++,先將各個(gè)功能函數(shù)的內(nèi)容清空,只保留主函數(shù)main(),然后編譯檢驗(yàn)main()函數(shù)中是否有錯(cuò),如果沒有錯(cuò)誤,再連接、運(yùn)行。確認(rèn)main()一切無誤后,然后加入功能menu()函數(shù)等其他函數(shù),由于menu()函數(shù)比較簡(jiǎn)單,所以與其他函數(shù)一起進(jìn)行調(diào)試,其他函數(shù)中主要注意讀取文件,與寫入文件,這都是二進(jìn)制的形式。若menu()函數(shù)與函數(shù)1運(yùn)行沒問題,繼續(xù)加入函數(shù)2,然后依次檢查調(diào)試函數(shù)3、函數(shù)4、函數(shù)5、函數(shù)6。當(dāng)所有的功能函數(shù)都加上且正確無誤時(shí),就可以進(jìn)入下一環(huán)節(jié)程序的測(cè)試。測(cè)試方法:運(yùn)行程序,然后進(jìn)入成績(jī)管理系統(tǒng)的界面,在這里需要做的就是把自己當(dāng)成一個(gè)公司的程序使用者,來對(duì)該程序進(jìn)行使用,看該程序有哪些用著不夠爽,把這些問題一次整理出來,再對(duì)源程序進(jìn)行修改,在這個(gè)過程中也需要對(duì)程序進(jìn)行調(diào)試,不過不必將各個(gè)功能函數(shù)的內(nèi)容清空再進(jìn)行如上述的調(diào)試方法,而是,該一部分運(yùn)行一次,看有無錯(cuò)誤。如:函數(shù)1有錯(cuò)誤,則先修改1函數(shù),一塊一塊的進(jìn)行修改,就是遵循C語言的模塊化設(shè)計(jì)原理,若所有的都改過來了,且運(yùn)行無誤,那就大功告成了。在調(diào)試中遇到的問題:在調(diào)試中,我遇到了好多問題,但最后在老師和同學(xué)的幫助下,都一一解決掉了。問題一:標(biāo)點(diǎn)符號(hào)在輸入的時(shí)候,使用的是中文輸入法,而這種錯(cuò)誤一般都難以發(fā)現(xiàn),讓修改的時(shí)候找不到錯(cuò)在哪里。解決方法:用“替換”。如果程序中的error很多,不管error是什么,先將標(biāo)點(diǎn)替換成英文的標(biāo)點(diǎn)。問題二:調(diào)試時(shí),有的時(shí)候編譯后沒有什么問題,就是在點(diǎn)擊連接link時(shí)出現(xiàn)錯(cuò)誤,但這種錯(cuò)誤讓我不知道該如何修改,只是我們的程序的確是正確的。解決方法:將源程序保存(save),然后關(guān)掉MicrosoftVisualC++6.0,重新啟動(dòng)MicrosoftVisualC++6.0。分析與結(jié)論在設(shè)計(jì)中我實(shí)現(xiàn)了設(shè)計(jì)目標(biāo)的所有內(nèi)容,即創(chuàng)建信息鏈表并以磁盤文件保存;讀取磁盤文件并顯示輸出所有學(xué)生的成績(jī);按學(xué)號(hào)或姓名查詢成績(jī);對(duì)學(xué)生的各科成績(jī)進(jìn)行排序;顯示輸出60分以下、60~79、80~89、90分以上各分?jǐn)?shù)段的學(xué)生信息。該程序的不足:查詢?nèi)喑煽?jī),如果未輸入該成績(jī),則會(huì)默認(rèn)為0;添加課程序號(hào)時(shí),按0無法退出;添加新生學(xué)號(hào)、姓名時(shí),要寫一個(gè)判斷是否繼續(xù)過于繁瑣;缺少批量導(dǎo)入學(xué)生學(xué)號(hào)、姓名模塊;缺少對(duì)所查詢的全班成績(jī)打印到TXT文檔的功能。實(shí)踐心得:通過這次C程序課程設(shè)計(jì),我感受到了編程是一項(xiàng)非常煩瑣周密的活動(dòng),它不但需要一個(gè)人周密的思考問題的能力,處理問題的能力,還需要有足夠的耐心和嚴(yán)謹(jǐn)治學(xué)的作風(fēng),來不得半點(diǎn)馬虎,一點(diǎn)小的錯(cuò)誤就可能導(dǎo)致整個(gè)程序不能運(yùn)行。我初步學(xué)會(huì)了課程設(shè)計(jì)的基本方法,學(xué)會(huì)了怎樣去借鑒別人的方法和經(jīng)驗(yàn),知道如何去查找資料和整合處理這些資料的能力,使我收益最大的是享受到了一種成功的喜悅。因?yàn)镃語言底子比較差,我選擇的是相對(duì)容易的學(xué)生信息管理系統(tǒng)。先開始,比較快速的把大體程序代碼寫出來了,然后是進(jìn)行編譯,這個(gè)環(huán)節(jié)是一個(gè)非常痛苦和艱難的,常常會(huì)因?yàn)橐恍↑c(diǎn)的錯(cuò)誤而在編譯失敗與再次修改的漫漫循環(huán)之路中,但失敗的越多,對(duì)人的考驗(yàn)就越多,在編譯運(yùn)行成功之后的享受成功的喜悅也就越多,另外在調(diào)試程序的過程中不斷的思考和運(yùn)用已經(jīng)學(xué)到的知識(shí),這對(duì)于自己是有很大的提高的。由于所學(xué)的知識(shí)不多,自己的編程經(jīng)驗(yàn)不足,仍存在一些問題,如不能實(shí)現(xiàn)模糊查找等功能。按現(xiàn)有的知識(shí)水平有些東西暫時(shí)還無法解決,還有待于在以后的學(xué)習(xí)中不斷提高和改進(jìn)!參考文獻(xiàn)[1].C語言程序設(shè)計(jì)(第四版),譚浩強(qiáng),清華大學(xué)出版社,2010年[2].C語言程序設(shè)計(jì)與實(shí)驗(yàn)指導(dǎo)(第四版),譚浩強(qiáng),清華大學(xué)出版社,2010年附錄源程序代碼#include<studio.h>#include<stdio.h>#include<string.h>#include<process.h>#include<ctype.h>#defineMAX10voidinput();voidsort();voiddisplay();voidinsert();voiddel();voidaverage();intnow_no=0;structstudent{ charnum[10] charterm[2]; intno; chargrade[5];charname[5];floatscore1;floatscore2;floatscore3; floatscore4;floatsort;floatave;floatsum;};structstudentstu[MAX],*p;voidmain(){charas;start:printf("\n\n\n\n"); printf("\n\t\t*****歡迎使用學(xué)生成績(jī)管理系統(tǒng)*****\n\n"); printf("\n\t\t\t尚德勵(lì)志博學(xué)篤行\(zhòng)n\n"); printf("\n\t\t\t傾情奉獻(xiàn)不懈服務(wù)歡迎使用\n\n");do{printf("\n\t\t\t\t1.錄入學(xué)生信息\n\t\t\t\t2.顯示學(xué)生信息\n\t\t\t\t3.成績(jī)排序信息\n\t\t\t\t4.添加學(xué)生信息\n\t\t\t\t5.刪除學(xué)生信息\n\t\t\t\t6.退出\n");printf("\t\t\t\t選擇功能選項(xiàng):");as=getch();switch(as) {case'1':system("cls");input();break;case'2':system("cls");display();break;case'3':system("cls");sort();break;case'4':system("cls");insert();break;case'5':system("cls");del();break;case'6':system("exit");exit(0);default:system("cls");gotostart; } }while(1);}voidinput(){inti=0;charch;do { printf("\n\n");printf("\t\t\t\t1.錄入學(xué)生信息\n輸入第%d個(gè)學(xué)生的信息\n",i+1);printf("\n輸入編號(hào):");fflush(stdin);gets(stu[i].num);printf("\n輸入學(xué)生所在學(xué)期:");fflush(stdin);gets(stu[i].term);printf("\n輸入學(xué)生學(xué)號(hào):");scanf("%d",&stu[i].no);fflush(stdin);printf("\n輸入學(xué)生班別:");fflush(stdin);gets(stu[i].grade);printf("\n輸入學(xué)生姓名:");fflush(stdin);gets(stu[i].name);printf("\n輸入學(xué)生語文成績(jī):");fflush(stdin);scanf("%f",&stu[i].score1);printf("\n輸入學(xué)員數(shù)學(xué)成績(jī):");fflush(stdin);scanf("%f",&stu[i].score2);printf("\n輸入學(xué)生英語成績(jī):");fflush(stdin);scanf("%f",&stu[i].score3);printf("\n輸入學(xué)生計(jì)算機(jī)成績(jī):");fflush(stdin);scanf("%f",&stu[i].score4);printf("\n\n");i++;now_no=i;printf("%d",now_no);printf("是否繼續(xù)輸入?(Y/N)");ch=getch();system("cls"); }while(ch!='n');system("cls");}voidsort(){structstudenttemp;inti,j;for(i=1;i<now_no;i++){for(j=1;j<=now_no-i;j++) {if(stu[j-1].ave<stu[j].ave) {temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp; } } }}voiddisplay(){inti;charas;do {printf("\n\n\n\n");printf("\t\t學(xué)生信息列表\n");printf("編號(hào)\學(xué)期\t學(xué)號(hào)\t班別\t姓名\t語文\t數(shù)學(xué)\t英語\t計(jì)算機(jī)\t平均成績(jī)\n");for(i=0;i<now_no;i++) {stu[i].sum=stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4;stu[i].ave=stu[i].sum/4;printf("%s\%s\%d\t%s\t%s\t%.2f\t%.2f\t%.2f\t%.2f\t%.2f\n",stu[i].num,stu[i].term,stu[i].no,stu[i].grade,stu[i].name,stu[i].score1,stu[i].score2,stu[i].score3,stu[i].score4,stu[i].ave); }printf("\t\t按任意鍵返回主菜單.");as=getch();gotoexit; }while(as!='n');exit:system("cls");}voidinsert(){charch;do { printf("\n\n"); printf("\n\t\t輸入新插入學(xué)生信息\n"); printf("\n輸入編號(hào):");fflush(stdin);gets(stu[now_no].num) printf("\n輸入學(xué)生所在學(xué)期:");fflush(stdin);gets(stu[now_no].term);printf("\n輸入學(xué)生學(xué)號(hào):");scanf("%d",&stu[now_no].no);fflush(stdin);printf("\n輸入學(xué)生班別:");fflush(stdin);gets(stu[now_no].grade);printf("\n輸入學(xué)生姓名:");fflush(stdin);gets(stu[now_no].name);printf("\n輸入學(xué)生語文成績(jī):");fflush(stdin);scanf("
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學(xué)生玩具創(chuàng)業(yè)計(jì)劃書
- 關(guān)于安裝電合同范本
- 修路拆除建筑合同范本
- 寫過勞動(dòng)合同范本
- 修理修配勞務(wù)合同范本
- 低價(jià)轉(zhuǎn)讓木材設(shè)備合同范例
- 養(yǎng)殖公司轉(zhuǎn)讓合同范例
- 勞務(wù)運(yùn)輸中介合同范本
- 住建部檢測(cè)合同范本
- 代理收放貨合同范本
- 部編版小學(xué)語文四年級(jí)下冊(cè)教師教學(xué)用書(教學(xué)參考)完整版
- 初中生物面團(tuán)發(fā)酵實(shí)驗(yàn)報(bào)告
- 工程項(xiàng)目總投資的構(gòu)成及估算
- 串通招投標(biāo)法律問題研究
- 高原鐵路建設(shè)衛(wèi)生保障
- 顳下頜關(guān)節(jié)盤復(fù)位固定術(shù)后護(hù)理查房
- 新版藥品管理法培訓(xùn)完整版本課件
- 醫(yī)院信息系統(tǒng)HIS知識(shí)培訓(xùn)教學(xué)課件-HIS的主要內(nèi)容
- 硝苯地平控釋片
- 合成聚氨酯原料及助劑生產(chǎn)項(xiàng)目
- 四川省瀘州市2019年中考物理考試真題與答案解析
評(píng)論
0/150
提交評(píng)論