數(shù)據(jù)結(jié)構(gòu)課程設(shè)計總結(jié)(模板)
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計報告
題目:班級:姓名:學(xué)號:指導(dǎo)教師:劉延嶺日期:201*年1月8日一、課程設(shè)計目標(biāo)1、問題描述2、問題分析二、概要設(shè)計
1、方案確定2、程序設(shè)計模塊設(shè)計連接圖3、模塊功能描述三、詳細設(shè)計1、方法設(shè)計2、程序流程圖四、程序清單五、程序測試與運行結(jié)果六、課程設(shè)計總結(jié)七、成績評定指導(dǎo)教師評語:指導(dǎo)教師:成績評定:界面設(shè)計功能實現(xiàn)操作演示答辯效果設(shè)計報告創(chuàng)新總分注:界面設(shè)計10%,功能實現(xiàn)35%,操作演示20%,答辯效果20%,設(shè)計報告10%,創(chuàng)新5%。
格式要求:A4紙打印,左右頁邊距2.5cm。表格中正文文字均為宋體小四號字,表格中的標(biāo)題加粗,行間距20磅。左側(cè)裝訂。圖、表格要有編號和標(biāo)題。程序清單采用TimesNewRoman字體,五號字。
擴展閱讀:數(shù)據(jù)結(jié)構(gòu)課程設(shè)計總結(jié)(模板)
《數(shù)據(jù)結(jié)構(gòu)》課程設(shè)計報告
題目:
班級:計算機系1001班姓名:王彩娟劉爽學(xué)號:4236指導(dǎo)教師:劉延嶺日期:201*年7月3日一、課程設(shè)計目標(biāo)1、問題描述以棧模擬停車場,以隊列模擬車場外的便道,按照從終端讀入的輸入數(shù)據(jù)序列進行模擬管理。每一組輸入數(shù)據(jù)包括三個數(shù)據(jù)項:汽車“到達”或“離去”信息、汽車牌照號碼以及到達或離去的時刻。對每一組輸入數(shù)據(jù)進行操作后的輸出信息為:若是車輛到達,則輸出汽車在停車場或便道上的停車位置;若是車輛離去,則輸出汽車在停車場內(nèi)停留的時間和應(yīng)交納的費用。2、問題分析汽車的模擬輸入信息格式可以是:(到達/離去,汽車牌照號碼,到達/離去的時刻)。例如,(‘A’,1,5)表示1號牌照車在5這個時刻到達,而(‘D’,5,20)表示5號牌照車在20這個時刻離去。整個程序可以在輸入信息為(‘E’,0,0)時結(jié)束。本題可用棧和隊列來實現(xiàn)。二、概要設(shè)計1、方案確定//頭文件#include#include#include//函數(shù)返回狀態(tài)代碼#defineOK1#defineERROR0#defineTRUE1#defineFALSE0#defineINFEASIBLE-1#defineOVERFLOW-#defineSIZE5//停車場位置數(shù)typedefintStatus;//棧,模擬停車場typedefstructCar1{//車intnumber;//汽車車號intar_time;//汽車到達時間}CarNode;typedefstruct{//停車場CarNode*base;//停車場的堆棧底CarNode*top;//停車場的堆棧頂intstacksize;}Park;//隊列,模擬便道typedefstructCar2{//車intnumber;//汽車車號intar_time;//汽車到達時間structCar2*next;}*CarPtr;typedefstruct{//便道CarPtrfront;//便道的隊列的對頭CarPtrrear;//便道的隊列的隊尾intlength;}Shortcut;StatusInitStack(Park&P){//初始化停車場P.base=(CarNode*)malloc(SIZE*sizeof(Car1));if(!P.base)exit(OVERFLOW);P.top=P.base;P.stacksize=0;returnOK;}StatusPush(Park&P,CarNodee){//車進入停車場*P.top++=e;++P.stacksize;returnOK;}StatusPop(Park&P,CarNode&e){//車離開停車場if(P.top==P.base)printf("停車場為空。");else{e=*--P.top;--P.stacksize;}returnOK;}StatusInitQueue(Shortcut&S){//初始化便道S.front=S.rear=(CarPtr)malloc(sizeof(Car2));if(!S.front||!S.rear)exit(OVERFLOW);S.front->next=NULL;S.length=0;returnOK;}StatusEnQueue(Shortcut&S,intnumber,intar_time){//車進入便道CarPtrp;p=(CarPtr)malloc(sizeof(Car2));if(!p)exit(OVERFLOW);p->number=number;p->ar_time=ar_time;p->next=NULL;S.rear->next=p;S.rear=p;++S.length;returnOK;}StatusDeQueue(Shortcut&S,CarPtr&w){//車離開便道if(S.length==0)printf("通道為空。");else{w=S.front->next;S.front->next=S.front->next->next;--S.length;}returnOK;}StatusArrival(Park&P,Shortcut&S){//對進站車輛的處理intnumber,ar_time;printf("請輸入車牌號:");scanf("%d",&number);printf("進場的時刻:");scanf("%d",&ar_time);if(P.stacksizewhile(P.stacksize){Pop(P,e);if(e.number==number){flag=0;money=(le_time-e.ar_time)*2;ar_time=e.ar_time;break;}Push(P1,e);}while(P1.stacksize){Pop(P1,e);Push(P,e);}//車從停車場中出if(flag==0){if(S.length!=0){DeQueue(S,w);m.ar_time=le_time;m.number=w->number;Push(P,m);free(w);printf("車牌號為%d的車已由便道進入停車場\\n",m.number);}printf("停車費為%d,占用車位數(shù)為%d\\n",money,P.stacksize);}else{printf("停車場不存在牌號為%d的車\\n",number);}returnOK;}intmain(){intm=1;charflag;//選項ParkP,Q;ShortcutS;InitStack(P);InitStack(Q);InitQueue(S);while(m){printf("\\n停車場管理程序\\n");printf("===============================================\\n");printf("**A汽車進車場**\\n");printf("****\\n");printf("**D汽車出車場**\\n");printf("****\\n");printf("**E退出程序**\\n");printf("===============================================\\n");printf("請選擇(A,D,E):");scanf("%c",&flag);switch(flag){case"A":case"a":Arrival(P,S);break;//車進入停車場case"D":case"d":Leave(P,Q,S);break;//車離開停車場case"E":case"e":m=0;break;default:printf("Inputerror!\\n");break;}while(flag!="\\n")scanf("%c",&flag);}}2、程序設(shè)計模塊設(shè)計連接圖3、模塊功能描述①此停車場管理系統(tǒng),主要分為以下若干模塊:首先定義用來模擬停車場的堆棧以及用來模擬通道的鏈隊列為全局變量,然后編寫主函數(shù),在此主函數(shù)中實現(xiàn)對其它各個模塊的調(diào)用。在主函數(shù)中首先調(diào)用option()函數(shù),出現(xiàn)歡迎用戶使用的主界面,然后提示用戶進入此停車場管理系統(tǒng)后,再出現(xiàn)一個供用戶選擇的界面,在用戶的選擇過程中,程序又分別調(diào)用車輛的到達、車輛的離開、停車場內(nèi)停放車輛的信息以及退出程序這四個函數(shù)模塊。其中,在車輛的離開那個模塊函數(shù)中又調(diào)用了打印離開車輛信息的函數(shù),在停車場內(nèi)停放車輛信息的那個模塊函數(shù)中,又分別調(diào)用了顯示停車場上車輛信息的函數(shù)以及顯示便道上車輛信息的函數(shù)。最后,從調(diào)鼐的這四個函數(shù)中回到主函數(shù)結(jié)束整個程序的運行。②在以上各個模塊中,出現(xiàn)的調(diào)用的函數(shù)為:voidInitStack(SeqStackCar*s);intInitQueue(LinkQueueCar*Q);option();intArrival(SeqStackCar*Enter,LinkQueueCar*W);voidLeave(SeqStackCar*Enter,SeqStackCar*Temp,LinkQueueCar*W);voidPRINT(CarNode*p);voidList(SeqStackCarS,LinkQueueCarW);voidList1(SeqStackCar*S);voidList2(LinkQueueCar*W);4、模塊間關(guān)系三、詳細設(shè)計1、方法設(shè)計對于此停車場管理系統(tǒng)的實現(xiàn),就是用兩個堆棧來分別模擬停車場以及停車場內(nèi)車輛為其它車輛讓路時退出停車的臨時停放地點。至于通道上車輛的停放則用一個鏈隊列來實現(xiàn),此時,通道上車輛的離開或者進入停車場只需改變此鏈隊列上的結(jié)點而已。對于要對停車場內(nèi)的車輛根據(jù)其停放時間收取相應(yīng)的停車費用,可以記錄下車輛進入以及離開停車場的時間,再用時間差乘以相應(yīng)的單價并且打印出最后的費用就可以實現(xiàn)了。2、程序流程圖四、程序清單五、程序測試與運行結(jié)果停車場主界面:車子進入停車場:車子出停車場:車子不想進停車場六、課程設(shè)計總結(jié)
在這一個星期中,自己用vc++做了一個停車場管理的應(yīng)用系統(tǒng),分別實現(xiàn)了系統(tǒng)的各大功能。在這次項目中,很用心去做,但是,在項目中也出現(xiàn)了很多的問題,最大的問題就是對程序設(shè)計框架結(jié)構(gòu)的不了解,在實現(xiàn)代碼與功能的連接時經(jīng)常會出現(xiàn)各種不同的錯誤,在實現(xiàn)一些功能時系統(tǒng)常常會報錯。許多錯誤不知從哪修改,以致托了整個設(shè)計的后腿。課程設(shè)計中,既回顧了很多以前的東西,也發(fā)現(xiàn)了很多的問題,以前都沒遇見過的,收獲很大。通過本次數(shù)據(jù)結(jié)構(gòu)的課程設(shè)計,我學(xué)習(xí)了很多在上課沒懂的知識,更鞏固了課堂中學(xué)習(xí)有關(guān)于哈夫曼編碼的知識,此次停車場管理的應(yīng)用系統(tǒng)的設(shè)計讓自己對數(shù)據(jù)結(jié)構(gòu)的了解更深入,可以把它同實際相結(jié)合,同時,又讓我們學(xué)會了如何更好的從網(wǎng)上查找資料,還有同班上同學(xué)的交流。雖然我對數(shù)據(jù)結(jié)構(gòu)有了一定的掌握,但是到了真正使用,做課設(shè)的時候還是遇到了許多的問題。在仔細研究過課設(shè)要求和功能需求后,我有了初步的想法。在整個設(shè)計過程中,通過怎樣對把各個管理信息連接起來的分析,鍛煉了對事情的分析能力,通過怎樣解決過程中出現(xiàn)的問題,提高了我們查找文獻的能力、對網(wǎng)絡(luò)資源的利用能力和和其他同學(xué)的交流溝通能力。而且,經(jīng)歷這次的課程設(shè)計,也學(xué)會了自學(xué)和分工協(xié)作。編寫程序是件細心活,稍不留神就會出錯,這就必須要求我們對待事情要認(rèn)真!在編寫程序的過程中,錯誤不斷出現(xiàn),不同的類型(如少寫了一個符號,寫錯了字母,用錯了函數(shù)等等)層出不窮,這考驗我們待事細心,耐心,能不能堅持到底,不能半途而廢。每一次的課程設(shè)計,都是讓我們對原有的知識從了解表面到深入本質(zhì),從個體學(xué)習(xí)到整體把握的跳躍,對新知識的汲取,更是把課本的知識應(yīng)用到實際中,讓我們了解了我們的學(xué)習(xí)有什么用,能夠解決什么樣的問題,增加了自信和學(xué)習(xí)的動力。總之,通過這次的課程設(shè)計,我們收獲匪淺首先由衷感謝老師提供這樣一個鍛煉自己的機會,感受到學(xué)來的知識不只是用來完成試卷的。一向慣于獨立思考的自己學(xué)會了積極的同同學(xué)、朋友交流,取長補短,共同進步。課程設(shè)計使自己發(fā)現(xiàn)考試并不是最重要,最重要的是能運用所學(xué)的知識。在整個課程設(shè)計的學(xué)習(xí)過程中,不再是用學(xué)到的知識解題,而是在實際運用時遇到什么學(xué)什么,重在把知識應(yīng)用于實際。七、成績評定指導(dǎo)教師評語:指導(dǎo)教師:成績評定:界面設(shè)計功能實現(xiàn)操作演示答辯效果設(shè)計報告創(chuàng)新總分注:界面設(shè)計10%,功能實現(xiàn)35%,操作演示20%,答辯效果20%,設(shè)計報告10%,創(chuàng)新5%。
格式要求:A4紙打印,左右頁邊距2.5cm。表格中正文文字均為宋體小四號字,表格中的標(biāo)題加粗,行間距20磅。左側(cè)裝訂。圖、表格要有編號和標(biāo)題。程序清單采用TimesNewRoman字體,五號字。
友情提示:本文中關(guān)于《數(shù)據(jù)結(jié)構(gòu)課程設(shè)計總結(jié)(模板)》給出的范例僅供您參考拓展思維使用,數(shù)據(jù)結(jié)構(gòu)課程設(shè)計總結(jié)(模板):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請聯(lián)系我們及時刪除。