C語言課程信息管理系統(tǒng)課程設(shè)計報告_第1頁
C語言課程信息管理系統(tǒng)課程設(shè)計報告_第2頁
C語言課程信息管理系統(tǒng)課程設(shè)計報告_第3頁
C語言課程信息管理系統(tǒng)課程設(shè)計報告_第4頁
C語言課程信息管理系統(tǒng)課程設(shè)計報告_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計課程設(shè)計報告專 業(yè):班 級:姓 名:指導(dǎo)教師:二零一二年十二月二十六日目錄一、設(shè)計題目 2二、設(shè)計目的 2三、設(shè)計內(nèi)容 23.1 需求分析23.2 概要設(shè)計33.3 詳細(xì)設(shè)計63.5 編寫過程中遇到的問題及解決辦法 73.6 調(diào)試結(jié)果8163.6課程設(shè)計總結(jié)四、參考書目 17附錄A程序源代碼18一、設(shè)計題目:課程信息管理系統(tǒng)二、設(shè)計目的1、熟練掌握C語言課程中所學(xué)的理論知識;2、通過綜合C語言的基本知識來解決實(shí)際問題;3、加強(qiáng)分析和解決問題的能力。三、設(shè)計內(nèi)容3.1 需求分析設(shè)計對n門課程進(jìn)行管理的課程信息管理系統(tǒng),每門課程有課程編號,課程名稱,課 程性質(zhì)(B為必修,X為選修),

2、總學(xué)時,學(xué)分等。系統(tǒng)功能包括:1、系統(tǒng)以菜單方式工作,密碼登陸。2、課程信息的錄入功能(增加數(shù)據(jù))。用數(shù)組數(shù)據(jù)類型賦初值的方法把課程信息送到各個 數(shù)組中(但注意要是合法數(shù)據(jù)),然后把它們輸出顯示。3、課程信息的刪除(刪除數(shù)據(jù))。任意輸入一門課程的編號,將它所有的信息從數(shù)組中刪 除。4、課程信息的瀏覽功能(查找數(shù)據(jù))。任意輸入一門課程的編號,打印出所有相關(guān)數(shù)據(jù)。要求能多次查找。5、課程信息的刪除(修改數(shù)據(jù))。任意輸入一門課程的編號,打印出所有相關(guān)信息后,可對某一項(xiàng)信息進(jìn)行修改并保存。6、課程信息的計算并排序。計算所有課程的總學(xué)分及平均學(xué)分(aver ,單精度,輸出一位小數(shù)) ,將包括所有數(shù)據(jù)的數(shù)

3、組元素按價格從高到低的順序排序打印出來。3.2 概要設(shè)計程序流程圖:模塊分解:void pasd(); /聲明密碼函數(shù)聲明部分(1)主函數(shù)模塊void zhujie(); /聲明zhujie()函數(shù)zhujie(); /調(diào)用zhujie()函數(shù)調(diào)用部分聯(lián)系聲明部分:pasd();聯(lián)系void yewu();/調(diào)用密碼函數(shù)聲明業(yè)務(wù)函數(shù)(2)密碼模塊J調(diào)用部分:yewu(); /調(diào)用業(yè)務(wù)函數(shù)聯(lián)系聯(lián)系void inputcouinfo(void); /聲明輸入函數(shù)void updatecouinfo(void); /聲明修改函數(shù)void addcouinfo(void); /聲明添加函數(shù)聲明部分/聲

4、明查詢函數(shù)聲明排序函數(shù)void ordercouinfo(void); /(3)業(yè)務(wù)模塊void delcouinfo(void); /聲明刪除函數(shù)rinputcouinfo(); /調(diào)用輸入函數(shù)Y、case '1'findcouinfo();break; /調(diào)用課程信息查詢調(diào)用部分 case '2':delcouinfo();break; 調(diào)用課程信息刪除case '3':updatecouinfo();break; /調(diào)用課程信息修改case '4':ordercouinfo();break; /調(diào)用課程信息排序case &#

5、39;5':addcouinfo(); break; /調(diào)用課程信息添加數(shù)據(jù)結(jié)構(gòu)的說明:#define n1 20/#define m1 5/char couinfon1m116;/char password="123456"/int a, i,j,t=0,c=0,n=4,m=5;/密碼模塊:控制課程個數(shù)的存儲空間控制課程屬性個數(shù)的存儲空間空間定義全局?jǐn)?shù)組原密碼定義全局變量char p9;/定義密碼數(shù)組Pi=8/控制退格pi=13/回車控制strcmp(p,password)=0/密碼匹配字符串比較函數(shù)int n=3;/業(yè)務(wù)模塊:密碼輸入次數(shù)控制始開清屏函數(shù)syst

6、em("cls");/3.3詳細(xì)設(shè)計密碼模塊:刪除模塊:定義變量數(shù)組 ch群 y16; char y116;(1)在調(diào)試函數(shù)的過程時,一般高級語言要求函數(shù)實(shí)參與形參個數(shù)與類型一致,但在言編譯在該點(diǎn)檢查不嚴(yán)格。沙現(xiàn)實(shí)參與形參類型不£10寸,編短祟吸力籥餌艮錯<T Y與Y1是否相 二>皿“ 二期h、J-i因此,錯誤隱含了下來,給神序調(diào)試帶來了困難 解決方法是:一開始,我自己仔細(xì)查找自己的程序的錯誤,但最終在老師的幫助下,找到 了程序的錯誤。并將其改正,使程序正常運(yùn)行(2)當(dāng)要求從鍵盤讀入一字符串時,若選用輸入的函數(shù)不當(dāng)時,則容易造成錯誤,并很難發(fā) 現(xiàn)。解決

7、方法:自己認(rèn)真并且反復(fù)檢查以及老師的幫助。3.5 調(diào)試結(jié)果界面3.6 課程設(shè)計總結(jié)課程管理信息系統(tǒng)心得課程設(shè)計是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識,發(fā)現(xiàn),提出,分析和解決實(shí)際問題,鍛煉實(shí)踐 能力的重要環(huán)節(jié),是對我們的實(shí)際工作能力的具體訓(xùn)練和考察過程.隨著科學(xué)技術(shù)發(fā)展的日 新月異,當(dāng)今計算機(jī)應(yīng)用在生活中可以說得是無處不在。因此作為二十一世紀(jì)的大學(xué)來說 掌握程序開發(fā)技術(shù)是十分重要的,而 C語言又是最常見,功能最強(qiáng)大的一種高級語言,因 此做好C語言課程設(shè)計是十分必要的。 回顧起此次課程設(shè)計,至今我們?nèi)愿锌H多,的確, 自從拿到題目到完成整個編程,從理論到實(shí)踐,在整整半個月的日子里,可以學(xué)到很多很 多的東西,同

8、時不僅可以鞏固了以前所學(xué)過的知識,而且學(xué)到了很多在書本上所沒有學(xué)到 過的知識。通過這次課程設(shè)計使我們懂得了理論與實(shí)際相結(jié)合是很重要的,只有理論知識 是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實(shí)踐相結(jié)合起來,從理論中得出結(jié)論,才能真正 為社會服務(wù),從而提高自己的實(shí)際動手能力和獨(dú)立思考的能力。 在設(shè)計的過程中遇到問題, 可以說得是困難重重,這畢竟第一次做的,難免會遇到過各種各樣的問題,同時在設(shè)計的 過程中發(fā)現(xiàn)了自己的不足之處, 對一些前面學(xué)過的知識理解得不夠深刻, 掌握得不夠牢固, 通過這次課程設(shè)計之后,我們把前面所學(xué)過的知識又重新溫故了一遍。我做的是課程管理信息系統(tǒng),雖然是很簡單的一個小的程序,但對我

9、一個初學(xué)者來說卻是 一個很大的困難。更加是第一次做這樣的課程設(shè)計,所以第一天下午在機(jī)房做了一個下午 卻絲毫沒有進(jìn)展,最主要是不知從何開始,這個時候才知道上課老師們不厭其煩的教導(dǎo)是 多么的寶貴,這個時候才后悔上課的時候沒有認(rèn)真的聽講。可是現(xiàn)在一切都晚了,還好時 間還算是充裕,只好拿出書本重新復(fù)習(xí)一下。特別是函數(shù)調(diào)用和數(shù)組的部分,幾乎是一片 空白。不過經(jīng)過幾天的努力,大體上把課本上的知識點(diǎn)看了一遍,知識點(diǎn)也都基本是撐握 了,所以下一步就是開始正式的編程序了。不過畢竟是個新手,還是不知如何下手,于是 就在網(wǎng)上下了一篇類似的程序,經(jīng)過仔細(xì)的研究,終于讀懂了C語言編程的基本過程和方法。經(jīng)過一波三折,終于

10、開始正式編程編程是一件很枯燥很無聊的事情,但是出于完成作業(yè),得到學(xué)分的壓力,還必須強(qiáng)迫自己堅持下去,按照老師所說的模塊化思想,分部分的進(jìn)行編寫。而且編程是一件高精度、 模范化的事情,稍有疏乎都會影響全局,也可能因?yàn)槟骋惶幍男〉腻e誤而導(dǎo)致整個程序的 無法運(yùn)行。無論如何是自己的勞動成果,是自己經(jīng)過努力得到的成績,同時也是學(xué)習(xí)C語言的一次實(shí)踐作業(yè),自己進(jìn)步的證明。通過這次課程設(shè)計,使我對 C語言有了更進(jìn)一步的認(rèn)識和了解,要想學(xué)好它要重在實(shí) 踐,要通過不斷的上機(jī)操作才能更好地學(xué)習(xí)它,我也發(fā)現(xiàn)我的好多不足之處,首先是自己 在指法上還不行,經(jīng)常按錯字母,通過學(xué)習(xí)也有所改進(jìn);再有對C語言的一些標(biāo)準(zhǔn)庫函數(shù)不太

11、了解,還有對函數(shù)調(diào)用的正確使用不夠熟悉,還有對C語言中經(jīng)常出現(xiàn)的錯誤也不了解,通過實(shí)踐的學(xué)習(xí),我認(rèn)識到學(xué)好計算機(jī)要重視實(shí)踐操作,不僅僅是學(xué)習(xí)C語言,還是其它的語言,以及其它的計算機(jī)方面的知識都要重在實(shí)踐,所以后在學(xué)習(xí)過程中,我會更 加注視實(shí)踐操作,使自己便好地學(xué)好計算機(jī)。在課程設(shè)計過程中,收獲知識,提高能力的同時,我也學(xué)到了很多人生的哲理,懂得怎么 樣去制定計劃,怎么樣去實(shí)現(xiàn)這個計劃,并掌握了在執(zhí)行過程中怎么樣去克服心理上的不 良情緒。因此在以后的生活和學(xué)習(xí)的過程中,我一定會把課程設(shè)計的精神帶到生活中,不 畏艱難,勇往直前!四.參考書目:1譚浩強(qiáng),C程序設(shè)計教程,北京,清華大學(xué)出版社,2007

12、年2康莉,零基礎(chǔ)學(xué)C語言,北京,機(jī)械工業(yè)出版社,2010年3方風(fēng)波,C語言程序設(shè)計,北京,地質(zhì)出版社,2006年附錄A源程序代碼#include <stdio.h>#include <conio.h>#include <string.h>#define n1 20/#define m1 5/char couinfon1m116;/char d16, b6;char password="123456"/int a, i,j,t=0,c=0,n=4,m=5;/ 主函數(shù)模塊void main()void pasd();void zhujie()

13、;zhujie();/Console Input/Output(控制臺輸入輸出 )控制課程個數(shù)的存儲空間控制課程屬性個數(shù)的存儲空間空間定義全局?jǐn)?shù)組原密碼定義全局變量/聲明密碼函數(shù)聲明zhujie() 函數(shù)調(diào)用zhujie() 函數(shù)pasd();/調(diào)用密碼函數(shù)void zhujie()printf(" n");printf("*n");printf("*n");printf("* * * * *歡迎進(jìn)入課程管理信息系統(tǒng)* * * *n");printf(" *n");printf(" *

14、weicome to the course informationmanagement system*n");printf("*n");printf(" * *n"); *n");printf("*刪除課程信息printf("* *n"); *n");printf("printf("printf("printf("printf("printf(" *n");*n");*n");*添加課程信息* *n&quo

15、t;);printf(" * *n");*修改課程信息*printf(" *printf(" * *n");printf(" * *n");*查詢課程信息*printf(" * * *n");printf("*n");printf(" n");)/密碼模塊void pasd(void)/定義密碼函數(shù)(void yewu();/聲明業(yè)務(wù)函數(shù)int i;char p9;int n=3;/doprintf("please enter password:n&quo

16、t;); /for(i=0;i<6;i+)pi=getch();if (pi=8)/i=i-2;printf("b b");else密碼輸入次數(shù)控制輸入密碼控制退格printf("*");if(pi=13) break;/回車控制p6='0'/ 密 碼 匹 配if(strcmp(p,password)=0)strcmp(p,password)/printf("n");c=1;調(diào)用業(yè)務(wù)函數(shù)yewu();/break;elseprintf("please enter password again:n&quo

17、t;);n-;while(n>0);聲明輸入函數(shù)聲明添加函數(shù)聲明查詢函數(shù)聲明排序函數(shù)聲明刪除函數(shù)/ 業(yè)務(wù)模塊void yewu()/定義業(yè)務(wù)函數(shù)void inputcouinfo(void); /void addcouinfo(void);/void findcouinfo(void);/void ordercouinfo(void);/void delcouinfo(void);/聲明修改函數(shù)void updatecouinfo(void); /char d;system("cls");if (c=1)inputcouinfo();/調(diào)用輸入函數(shù)printf(&qu

18、ot;t 課程信息查詢請輸入 : 1 nt 課程信息刪除請輸入 : 2 nt 課程信息修改請輸入 : 3 nt 課程信息排序請輸入 : 4 nt 課程信息添加請輸入: 5n");printf(" 您是否進(jìn)行其他操作, 否輸入0, 否則輸入其他:");scanf("%d",&a);for (i=0;i+)if(a!=0)printf(" 請輸入要操作的選項(xiàng): ");scanf("%s",&d);switch(d)case'1':findcouinfo();break;/ 調(diào)用

19、課程信息查詢函數(shù)case'2':delcouinfo();break;/ 調(diào)用課程信息刪除函數(shù)case'3':updatecouinfo();break;/ 調(diào)用課程信息修改函數(shù)case/ 調(diào)用課程信息排序函數(shù)case/ 調(diào)用課程信息添加函數(shù)default: break;/ 課程信息輸入模塊void inputcouinfo(void)/'4':ordercouinfo();break;'5':addcouinfo();定義課程信息輸入函數(shù)int x=1;break;printf("ttt*n");printf

20、("n是否進(jìn)行添加, “否”請輸入 0, 進(jìn)行輸入其他printf("ttt*n");printf(" 請注意:性質(zhì)為必修(B) 或選修 (X)n");printf("tt 課程號 名稱 性質(zhì) 總學(xué)時 學(xué)分 n");for (i=0;i<n;i+)printf(" 輸入課程編號%d:",x+);for (j=0;j<m;j+)scanf("%s",&couinfoij);printf(" 課程號 名稱 性質(zhì) 總學(xué)時 學(xué)分 n");for (i=0

21、;i<n;i+)for (j=0;j<m;j+)printf("%st",couinfoij);printf("n");課程信息添加函void addcouinfo(void)/數(shù)int d,t,z;printf("ttt*n");printf("ttt歡迎進(jìn)入信息添加系統(tǒng) !n");printf("ttt*n");for(d=1;d+)n");scanf("%d",&t);if(t!=0)printf("請輸入要添加的第d個課程信息:

22、n”,d);printf("課程號 名稱 性質(zhì) 總學(xué)時 學(xué)分 n");z=n+;for (j=0;j<m;j+)scanf("%s",&couinfozj);printf("%st",couinfozj);else break;system("cls");printf("t 課程查詢請輸入 : 1 nt 課程刪除請輸入: 2 nt 課程修改請輸入 : 3 nt課程排序請輸入 : 4 nt 課程添加請輸入: 5n");/課程信息查詢函void findcouinfo(void)數(shù)ch

23、ar y16;int d,t,z;printf("ttt*n");printf("ttt 歡迎進(jìn)入信息查詢系統(tǒng)!n");printf("ttt*n");for(d=1;d+)printf("n 是否進(jìn)行查詢, “否” 請輸入 0n");scanf("%d",&t);if(t!=0)printf(" 請輸入要查詢的課程號:");scanf("%s",&y);printf("課程號 名稱 性質(zhì) 總學(xué)時 學(xué)分 n");for(

24、i=0;z=i,i<n1;i+)if(strcmp(y,couinfoi0)=0)for (j=0;j<m;j+)printf("%st",couinfoij);break;if(z=n) printf(" 沒有此課程號信息 n");else break ;system("cls");printf("t 課程查詢請輸入 : 1 nt 課程刪除請輸入: 2 nt 課程修改請輸入 : 3 nt課程排序請輸入 : 4 nt 課程添加請輸入: 5n");void delcouinfo(void)/課程信息刪除函

25、數(shù)char y16;char y116;int d,x,z;printf("ttt*n");printf("ttt 歡迎進(jìn)入信息刪除系統(tǒng)!n");printf("ttt*n");for(d=1;d+)printf(" 是否進(jìn)行刪除信息,否請輸入 : 0 進(jìn)行輸入其他數(shù)字: n");scanf("%d",&x);if(x!=0)printf("請輸入要刪除的課程號: ");scanf("%s",&y);printf("請再次輸入要刪

26、除的課程號: ");scanf("%s",&y1);printf("課程號 名稱 性質(zhì) 總學(xué)時 學(xué)分 n");if (strcmp(y,y1)=0)for (i=0;i<n;i+)if (strcmp(y,couinfoi0)=0)z=i;printf(" 要刪除的課程信息是n");for (j=0;j<m;j+)printf("%st",couinfoij);t+;printf("n");for (i=z;i<n-t;i+)for (j=0;j<m;j

27、+)strcpy(couinfoij,couinfoi+1j);if(z=n) printf(" 沒有此課程號信息n");else break;printf(" 課程號名稱 性質(zhì) 總學(xué)時 學(xué)分 n");for (i=0;i<n-t;i+)for (j=0;j<m;j+)printf("%st",couinfoij);printf("n");system("cls");printf("t 課程查詢請輸入: 1 nt 課程刪除請輸入 : 2 nt 課程修改請輸入 : 3 nt課

28、程排序請輸入 : 4 nt 課程添加請輸入: 5n");/ 課程修改函數(shù)void updatecouinfo(void)char h16,h116,h216;int d,b,x,z,e,f;printf("ttt*n");printf("ttt 歡迎進(jìn)入信息修改系統(tǒng)!n");printf("ttt*n");for(d=1;d+)n");printf(" 是否進(jìn)行信息修改,否請輸入 : 0 進(jìn)行輸入其他數(shù)字:scanf("%d",&x);if(x!=0)printf("

29、請輸入要修改的課程號: ");scanf("%s",&h);printf("請再次輸入要修改的課程號: ");scanf("%s",&h1);if (strcmp(h,h1)=0)for(i=0;z=i,i<n;i+)if (strcmp(h,couinfoi0)=0)printf(" 要修改的課程信息是n");for (j=0;j<m;j+)printf("%st",couinfoij);printf("n請 輸 入 你 要 修 改 第 幾 項(xiàng)n");scanf("%d",&b);printf("請輸入你要修改的內(nèi)容n");scanf("%s",&h2);strcpy(couinfoib-1,h2);for(e=0;e+)否請輸入 0 ,否則輸入其他:");scanf("%d",&f);if(f!=0)printf("n 請輸入你要修改第幾項(xiàng) n");scanf("%d",&b);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

提交評論