程序設(shè)計(jì)綜合訓(xùn)練(優(yōu)秀篇)_第1頁
程序設(shè)計(jì)綜合訓(xùn)練(優(yōu)秀篇)_第2頁
程序設(shè)計(jì)綜合訓(xùn)練(優(yōu)秀篇)_第3頁
程序設(shè)計(jì)綜合訓(xùn)練(優(yōu)秀篇)_第4頁
程序設(shè)計(jì)綜合訓(xùn)練(優(yōu)秀篇)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、程序設(shè)計(jì)綜合訓(xùn)練設(shè)計(jì)報(bào)告專 業(yè): 班 級(jí): 學(xué) 號(hào): 姓名: 指導(dǎo)教師:成績: 計(jì)算機(jī)工程學(xué)院 2012年10月(1)題目名稱、內(nèi)容課程管理系統(tǒng)假定有n門課程,每門課程有課程編號(hào),課程名稱,課程性質(zhì),總學(xué)時(shí),授課學(xué)時(shí),實(shí)驗(yàn)或上機(jī)學(xué)時(shí),學(xué)分,開課學(xué)期等信息,學(xué)生可按要求(如總學(xué)分不得少于60)自由選課。試設(shè)計(jì)學(xué)生選修課程系統(tǒng),使之能提供以下功能:1、課程信息錄入功能(課程信息用文件保存,也可不用) 2、課程信息瀏覽功能3、排序:按課程編號(hào)排序4、查詢功能:按課程性質(zhì)查詢5、課程修改、刪除(任選一項(xiàng))(2)解題的基本思路主函數(shù)選擇需要處理的功能,分別再寫出課程錄入自定義函數(shù)、課程瀏覽自定義函數(shù)、課

2、程排序自定義函數(shù)、課程查詢自定義函數(shù)、課程刪除自定義函數(shù)。 (3)設(shè)計(jì)方案該系統(tǒng)包括數(shù)據(jù)錄入、瀏覽、排序、刪除、查詢功能模塊,每個(gè)模塊在程序系統(tǒng)中用一個(gè)自定義函數(shù)來實(shí)現(xiàn),如圖:Main函數(shù)輸入1調(diào)用課程錄入自定義函數(shù)輸入2調(diào)用課程瀏覽自定義函數(shù)輸入3調(diào)用課程排序自定義函數(shù)輸入4調(diào)用課程查詢自定義函數(shù)輸入5調(diào)用課程刪除自定義函數(shù)輸入6退出系統(tǒng)主函數(shù):Choice=0Choice!=0輸出各種提示語句給choice賦值 1 2 3 4 5 6 其它清屏 真choice輸出“重新選擇”退出循環(huán)調(diào)用Shanchu()自定義函數(shù)調(diào)用Find()自定義函數(shù)調(diào)用Paixu()自定義函數(shù)調(diào)用Liulan()自

3、定義函數(shù)調(diào)用Luru()自定義函數(shù)luru()(錄入信息)i=subject(全局變量)輸出各種提示和對(duì)應(yīng)的輸入Subject自增加1 liulan()(瀏覽信息) 假 真 iSubject!=0 輸出提示語句 假 真 真i=0ikechi+1.num 假 kechi與kechi+1 里的所有值交換for i=0 to subject-1輸出各值 find()(課程名稱查找相應(yīng)的信息)輸入要查詢的課程名稱name1for i=0 to subject-1 真 name1里的值= 假 輸出kechi里的所有值 返回i返回-1shanchu()(刪除對(duì)象)調(diào)用find()自定義

4、函數(shù),值賦給k k!= -1 真 假 for i=k to subject-2kechi+1里的值對(duì)應(yīng)的賦值給kechi 輸出沒有這門課程subject自減1(4)程序調(diào)試 1、出現(xiàn)的問題解決方法:仔細(xì)檢查,不時(shí)地加入輸出語句。 2、出現(xiàn)的問題沒有了信息提示。解決方法:將主函數(shù)中的信息提示調(diào)到循環(huán)體。3.出現(xiàn)的問題選擇處理功能后感覺信息太多沒有清屏。解決方法:加入了清屏功能的自定義函數(shù)。(5)測試課程錄入課程瀏覽課程排序課程查詢課程刪除系統(tǒng)退出(6)總結(jié)當(dāng)看到這系統(tǒng)之前,感覺這是一個(gè)不可能完成的作業(yè),系統(tǒng)艾,多高檔的東西啊,但等我坐下來認(rèn)真分析時(shí),才發(fā)現(xiàn)這系統(tǒng)并沒有想象中的那么難,也是由我們平

5、時(shí)做的簡單程序段組成的。雖然程序段簡單但也有些細(xì)節(jié)性錯(cuò)誤搞得我頭大,弄得我一度想放棄。這系統(tǒng)花了我不少時(shí)間,編系統(tǒng)的過程讓我很帶勁兒,感覺回到了高中,但回想起來總覺得缺少了些什么沒有讓我腦子里充滿色彩,這提醒到我我不適合做程序員,這是我第一次編系統(tǒng)可能也是最后一次吧。不過通過這次編系統(tǒng)有幾點(diǎn)還是要必須肯定的:這次實(shí)訓(xùn)讓我對(duì)之前一竅不通的結(jié)構(gòu)體有了一定的了解大事也是由小事組成編程讓我更會(huì)思考問題細(xì)節(jié)決定成敗虛心向別人求教??傊?dāng)自己做完這課程管理系統(tǒng),我感覺非常充實(shí),途中雖然有時(shí)候感覺有點(diǎn)茫然,有點(diǎn)累,但我覺得收獲是巨大的,并且在以后的學(xué)習(xí)生活中也用得到,所以感覺很欣慰,很有成就感。當(dāng)然我能有

6、這么好的收獲很大程度上還是首先因?yàn)槲覀冇蟹浅?yōu)秀的陳老師,她花了自己工作以外的時(shí)間給我們講結(jié)構(gòu)體和鏈表(算然我這次編系統(tǒng)沒有用到鏈表,但在考試的時(shí)候起了非常大的用處),其次是高中就有了良好的基礎(chǔ),我心中充滿了感激之情,無法用言語表達(dá),感謝您,陳老師!您辛苦了! 祝您身體健康,事業(yè)有成,萬事如意?。?)附錄#include#include#define N 100struct kech /*定義結(jié)構(gòu)體*/char name10; /*課程名稱*/char xz20; /*課程性質(zhì)*/int num; /*課程編號(hào)*/int zxs; /*總學(xué)時(shí)*/int jsxs; /*授課學(xué)時(shí)*/int sy

7、xs; /*實(shí)驗(yàn)學(xué)時(shí)*/int sjxs; /*上機(jī)學(xué)時(shí)*/int score; /*學(xué)分*/int xq; /*開課學(xué)期*/kechN; int subject=0;void luru() /*錄入課程信息*/int i=subject;printf(/*請(qǐng)輸入課程信息*/n);printf(課程編號(hào):); /*輸入課程編號(hào)*/scanf(%d,&kechi.num); printf(課程名稱:); /*輸入課程名稱*/scanf(%s,);printf(課程性質(zhì):); /*輸入課程性質(zhì)*/scanf(%s,kechi.xz);printf(總學(xué)時(shí):); /*輸入總學(xué)時(shí)

8、*/scanf(%d,&kechi.zxs);printf(授課學(xué)時(shí):); /*輸入授課學(xué)時(shí)*/scanf(%d,&kechi.jsxs);printf(實(shí)驗(yàn)學(xué)時(shí):); /*輸入實(shí)驗(yàn)學(xué)時(shí)*/scanf(%d,&kechi.syxs);printf(上機(jī)學(xué)時(shí):); /*輸入上機(jī)學(xué)時(shí)*/scanf(%d,&kechi.sjxs);printf(學(xué)分:); /*輸入學(xué)分*/scanf(%d,&kechi.score);printf(開課學(xué)期:); /*輸入開課學(xué)期*/scanf(%d,&kechi.xq); subject+;void liulan() /*瀏覽課程信息*/ int i;if (su

9、bject!=0)printf(n 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)學(xué)時(shí) 上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期n); /*輸出信息*/for(i=0;isubject;i+)printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,kechi.syxs,kechi.sjxs,kechi.score,kechi.xq);elseprintf(沒有數(shù)據(jù));void paixu() /*按課程編號(hào)排序*/int i,j;int t7;char a20;for

10、(j=0;jsubject-1;j+) /*冒泡法由小到大排序*/for(i=0;ikechi+1.num)t0=kechi.num; /*交換課程編號(hào)*/kechi.num=kechi+1.num;kechi+1.num=t0;strcpy(a,); /*交換課程名稱*/strcpy(,kechi+1.name);strcpy(kechi+1.name,a);strcpy(a,kechi.xz); /*交換課程性質(zhì)*/strcpy(kechi.xz,kechi+1.xz);strcpy(kechi+1.xz,a); t1=kechi.zxs; /*交換

11、總學(xué)時(shí)*/kechi.zxs=kechi+1.zxs;kechi+1.zxs=t1;t2=kechi.jsxs; /*交換授課學(xué)時(shí)*/kechi.jsxs=kechi+1.jsxs;kechi+1.jsxs=t2;t3=kechi.sjxs; /*交換實(shí)驗(yàn)學(xué)時(shí)*/kechi.sjxs=kechi+1.sjxs;kechi+1.sjxs=t3;t4=kechi.syxs; /*交換上機(jī)學(xué)時(shí)*/kechi.syxs=kechi+1.syxs;kechi+1.syxs=t4;t5=kechi.score; /*交換學(xué)分*/kechi.score=kechi+1.score;kechi+1.score

12、=t5;t6=kechi.xq; /*交換開課學(xué)期*/kechi.xq=kechi+1.xq;kechi+1.xq=t6;printf(按學(xué)期排序n);printf( 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)學(xué)時(shí) 上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期n); /*輸出交換后的課程信息*/for(i=0;isubject;i+)printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,kechi.syxs,kechi.sjxs,kechi.score,kechi.

13、xq);int find() /* 查找功能*/int i;char name110;printf(請(qǐng)輸入要查詢/刪除的課程名稱:);scanf(%s,name1); for(i=0;isubject;i+) /*需查詢的課程信息輸出*/if(strcmp(name1,)=0)printf(n 課程編號(hào) 課程名稱 課程性質(zhì) 總學(xué)時(shí) 授課學(xué)時(shí) 實(shí)驗(yàn)學(xué)時(shí) 上機(jī)學(xué)時(shí) 學(xué)分 開課學(xué)期n);printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,k

14、echi.syxs,kechi.sjxs,kechi.score,kechi.xq);return i;return -1;void shanchu()int i;int k=find();if (k!=-1)for (i=k;isubject-1;i+)strcpy(,kechi+1.name);strcpy(kechi.xz,kechi+1.xz);kechi.num=kechi+1.num;kechi.zxs=kechi+1.zxs;kechi.jsxs=kechi+1.jsxs;kechi.syxs=kechi+1.syxs;kechi.sjxs=kechi+1.s

15、jxs;kechi.score=kechi+1.score;kechi.xq=kechi+1.xq;subject-;printf(/*刪除成功*/);elseprintf(/*沒有這個(gè)課程名稱*/);void ScreenClear() system(pause);system(cls);void main()int choice=0;while(choice!=6)printf(/*歡迎使用本系統(tǒng),請(qǐng)根據(jù)需要進(jìn)行操作!*/n);printf(/*主菜單*/n);printf(1.課程錄入n);printf(2.課程瀏覽n);printf(3.課程排序n);printf(4.課程查詢n);printf(5.課程刪除n);print

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論