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

下載本文檔

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

文檔簡介

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

2、課程排序自定義函數(shù)、課程查詢自定義函數(shù)、課程刪除自定義函數(shù)。 (3)設(shè)計方案該系統(tǒng)包括數(shù)據(jù)錄入、瀏覽、排序、刪除、查詢功能模塊,每個模塊在程序系統(tǒng)中用一個自定義函數(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(全局變量)輸出各種提示和對應(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()(刪除對象)調(diào)用find()自定

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

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

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

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

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

9、ubject!=0)printf(n 課程編號 課程名稱 課程性質(zhì) 總學(xué)時 授課學(xué)時 實驗學(xué)時 上機(jī)學(xué)時 學(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() /*按課程編號排序*/int i,j;int t7;char a20;fo

10、r(j=0;jsubject-1;j+) /*冒泡法由小到大排序*/for(i=0;ikechi+1.num)t0=kechi.num; /*交換課程編號*/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é)時*/kechi.zxs=kechi+1.zxs;kechi+1.zxs=t1;t2=kechi.jsxs; /*交換授課學(xué)時*/kechi.jsxs=kechi+1.jsxs;kechi+1.jsxs=t2;t3=kechi.sjxs; /*交換實驗學(xué)時*/kechi.sjxs=kechi+1.sjxs;kechi+1.sjxs=t3;t4=kechi.syxs; /*交換上機(jī)學(xué)時*/kechi.syxs=kechi+1.syxs;kechi+1.syxs=t4;t5=kechi.score; /*交換學(xué)分*/kechi.score=kechi+1.score;kechi+1.scor

12、e=t5;t6=kechi.xq; /*交換開課學(xué)期*/kechi.xq=kechi+1.xq;kechi+1.xq=t6;printf(按學(xué)期排序n);printf( 課程編號 課程名稱 課程性質(zhì) 總學(xué)時 授課學(xué)時 實驗學(xué)時 上機(jī)學(xué)時 學(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(請輸入要查詢/刪除的課程名稱:);scanf(%s,name1); for(i=0;isubject;i+) /*需查詢的課程信息輸出*/if(strcmp(name1,)=0)printf(n 課程編號 課程名稱 課程性質(zhì) 總學(xué)時 授課學(xué)時 實驗學(xué)時 上機(jī)學(xué)時 學(xué)分 開課學(xué)期n);printf( %6d %6s %6s %4d %6d %6d %6d %2d %6d n,kechi.num,,kechi.xz,kechi.zxs,kechi.jsxs,

14、kechi.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.

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論