版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、c+單向鏈表的排序河北聯(lián)合大學(xué)2011-2012第 2 學(xué)期 軟 件 設(shè) 計(jì) 基 礎(chǔ) - C + + 課程設(shè)計(jì)報(bào)告設(shè)計(jì)名稱: 設(shè)計(jì)一個(gè)處理單向鏈表的程序:鏈表的排序姓名 : 王 學(xué) 增學(xué)號(hào) :201005100206專業(yè)班級(jí): 土木工程 1 班學(xué)院: 建筑工程學(xué)院設(shè)計(jì)時(shí)間: 2012-5-31設(shè)計(jì)地點(diǎn): 機(jī)房指導(dǎo)教師評(píng)語:教師評(píng)定:自評(píng)成績; 75指導(dǎo)教師簽字:年月日年月日軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 4頁,共22頁目錄1.課程設(shè)計(jì)目的2.課程設(shè)計(jì)任務(wù)與要求3.課程設(shè)計(jì)說明書4.課程設(shè)計(jì)成果5.程序調(diào)試過程6.設(shè)計(jì)問題的不足和改進(jìn)方案7.課程設(shè)計(jì)心得8.參考文獻(xiàn)軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)
2、計(jì)報(bào)告第 5頁,共22頁1課程設(shè)計(jì)目的軟件設(shè)計(jì)基礎(chǔ) -C+ 課程設(shè)計(jì)是這門課程的實(shí)踐性教學(xué)環(huán)節(jié)之一,本次設(shè)計(jì)結(jié)合實(shí)際應(yīng)用的要求,使課程設(shè)計(jì)既覆蓋C+ 的知識(shí)點(diǎn),又接近工程實(shí)際需要。目的是通過課程設(shè)計(jì)的綜合訓(xùn)練,培養(yǎng)學(xué)生實(shí)際分析問題、解決問題的能力,以及編程和動(dòng)手能力,最終目標(biāo)是通過課程設(shè)計(jì)這種形式,幫助學(xué)生系統(tǒng)掌握C+這門課程的主要內(nèi)容,養(yǎng)成良好的編程習(xí)慣,更好的完成教學(xué)任務(wù)。2課程設(shè)計(jì)任務(wù)與要求:要求:本次課程設(shè)計(jì)利用軟件設(shè)計(jì)基礎(chǔ) -C+ 課程中所學(xué)到的編程知識(shí)和編程技巧,完成具有一定難度和工作量的程序設(shè)計(jì)題目,幫助學(xué)生掌握編程、調(diào)試的基本技能,獨(dú)立完成所布置的任務(wù)。要求:1、對(duì)系統(tǒng)進(jìn)行功能
3、需求分析2、設(shè)計(jì)合理的數(shù)據(jù)結(jié)構(gòu)和系統(tǒng)框架3、編程簡練,程序功能齊全,能正確運(yùn)行4、說明書、流程圖要清楚5、課題完成后必須按要求提交課程設(shè)計(jì)報(bào)告軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 6頁,共22頁任務(wù):將自己選擇題目的任務(wù)要求簡單填寫在此處。( 1)要求用 C+的思想來完成程序的設(shè)計(jì)。( 2)各個(gè)功能分別使用函數(shù)來完成,主函數(shù)和各個(gè)函數(shù)分別存放在不同的 .cpp 文件中,要求使用頭文件。(3) 在基本要求達(dá)到后,進(jìn)行創(chuàng)新設(shè)計(jì),例如:將兩個(gè)非遞減的鏈表合并成一個(gè)新的非遞減的鏈表3課程設(shè)計(jì)說明書軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 7頁,共22頁概要設(shè)計(jì)主要寫模塊說明,模塊結(jié)構(gòu)圖,系統(tǒng)流程圖(例(五號(hào),
4、宋體)N-S 流程圖)模塊說明 :在我設(shè)計(jì)的程序中一共包括了六個(gè)模塊 ,分別是 :新增模塊、查找模塊、修改模塊、完全打印模塊、刪除模塊、退出系統(tǒng)模塊。這六個(gè)模塊中新增、查找和修改都是獨(dú)立分開作為子函數(shù)的,另外三個(gè)則是作為 switch 語句中的一部分,通過 switch 語句,把六大模塊聯(lián)系了起來,同時(shí),為了實(shí)現(xiàn)多次使用這六大模塊,就在 switch 語句外加了 while 循環(huán)。我的程序模塊說明:在我設(shè)計(jì)的程序中一共可以分成三個(gè)模塊,分別是數(shù)據(jù)打印模塊,冒泡排序模塊,主函數(shù)模塊。其中,數(shù)據(jù)打印模塊和冒泡排序模塊都采用了for 循環(huán)。并且這兩個(gè)模塊都是模塊結(jié)構(gòu)圖:打鏈 表主函數(shù)排冒詳細(xì)設(shè)計(jì)總體
5、流程圖:頭建 立冒 泡打 印軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 8頁,共22頁主 函 數(shù)進(jìn) 行 排各功能模塊流程圖(1) 打印數(shù)據(jù)的流程圖:(以下是應(yīng)用的for 循環(huán))i=1判斷 in?否執(zhí)行i=i+1結(jié)束循環(huán),coutcoutn?否執(zhí)行i=i+1軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 9頁,共22頁coutn?否執(zhí)行i=i+1結(jié)束循環(huán),cout( 2)泡沫排序的流程圖軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 10頁,共22頁注:上述數(shù)組 d 為 rj.score(3)主函數(shù)流程圖主函數(shù)定 義 成確 定 成 員打印出成進(jìn)行冒泡得到軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 11頁,共22頁4課程設(shè)計(jì)成果程序源代
6、碼,運(yùn)行結(jié)果(可用屏幕抓圖的方法說明) (五號(hào),宋體) ( 多頁 )(1)鏈表排序的源代碼#include#include /頭文件#define N 100typedef int keytype;typedef char xingming5;typedef char xingbie5;typedef struct num /建立keytype score;xingming name;xingbie sex;numpxN;struct num sqlistN+1;void px(numpx r,int n) / 冒泡排序int i,j;for(i=1;in;i+)for(j=1;jrj+1.s
7、core)r0=rj;rj=rj+1;rj+1=r0;軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 12頁,共22頁void print(numpx list,int n) /打印數(shù)據(jù)int i;for(i=1;i=n;i+)listi.score;coutcoutn;for(i=1;i=n;i+);coutcoutn;for(i=1;i=n;i+)coutlisti.sex;coutn;void main()/主函數(shù)int n=10;numpx a=0,16, 小斯 , 男,24, 伊娃 , 女 ,13, 韋德 , 男 ,35, 杜蘭 , 男 ,20, 阿倫 , 男 ,37, 李娜
8、 , 女 ,55, 凱文 , 男 ,11, 羅斯 , 男 ,18, 波什 , 男,10, 劉蘭 , 女;coutn;cout原系列數(shù)據(jù) :n;print(a,10);coutn;px(a,n);cout 排序的序列(從低到高) :n; print(a,n);軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 13頁,共22頁(2) 運(yùn)行以上源程序后的運(yùn)行結(jié)果:軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 14頁,共22頁5. 程序調(diào)試過程軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 15頁,共22頁寫出程序調(diào)試步驟,及遇到的問題。( 1)這時(shí)程序已經(jīng)可以運(yùn)行,但數(shù)據(jù)出現(xiàn)錯(cuò)誤:沒有輸出第一組數(shù)。這是字符數(shù)組那塊的知識(shí),在數(shù)據(jù)前加上
9、“ 0, ” 即可是程序完整顯示。(2)可以看出數(shù)據(jù)還是極不規(guī)范,需要對(duì)數(shù)據(jù)進(jìn)行換行軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 16頁,共22頁需 要 在 數(shù) 據(jù) 打 印 模 塊 中 每 一 個(gè)for循 環(huán) 后 加coutn;調(diào)試后的結(jié)果為:(3)下面對(duì)每組數(shù)據(jù)的間隔進(jìn)行處理將語句coutlisti.score;改成coutlisti.score;后面那兩條語句也這樣做。調(diào)試后的程序:軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 17頁,共22頁再改進(jìn)一下間距:(4)調(diào)試到現(xiàn)在程序已經(jīng)大概完成,為與結(jié)果一樣,需要在主函數(shù)中, print(a,10); 后加上 coutnext =p1;p2=p1;p1=new(
10、STUDENT);軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 19頁,共22頁cinp1-stu_number p1-name p1-sex p 1-age;p2-next =NULL; /最后一個(gè)結(jié)點(diǎn)的 next 成員不指向任何結(jié)點(diǎn)在插入時(shí),先根據(jù)學(xué)號(hào)找到新結(jié)點(diǎn)的位置,例如要插入到指針變量 p 指向的結(jié)點(diǎn)后,設(shè) q 指向新結(jié)點(diǎn),則插入操作:t=p-next;p-next=q;q-next=t;n+;/ 結(jié)點(diǎn)數(shù)目增加這樣就將該新結(jié)點(diǎn)插入到了指定位置,注意考慮要插入的結(jié)點(diǎn)可能位于最后的位置。刪除時(shí),要考慮待刪除結(jié)點(diǎn)是否為第一個(gè)結(jié)點(diǎn),若為中間結(jié)點(diǎn),設(shè)指針變量 p1 指向的結(jié)點(diǎn)為待刪除結(jié)點(diǎn),p2 指向其前一
11、個(gè)結(jié)點(diǎn),則刪除p2 結(jié)點(diǎn)的操作為:p2-next=p1-next;7. 課程設(shè)計(jì)心得通過對(duì) c+的學(xué)習(xí),以及對(duì) c+的課程設(shè)計(jì),我對(duì) c+產(chǎn)生很大的興趣。課程設(shè)計(jì)是培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí) ,分析和解決實(shí)際問題 ,鍛煉實(shí)踐能力的一個(gè)重要過程。當(dāng)今計(jì)算機(jī)應(yīng)用已經(jīng)普及到我們生活的方方面面。所以學(xué)好計(jì)算機(jī)知識(shí),學(xué)好 c+, 做好課程設(shè)計(jì)是非常重要的。我的 c+基礎(chǔ)并不好。 在大一的時(shí)候?qū)W過一點(diǎn)c 語言,只是簡單了解其中的一些函數(shù)和算軟件設(shè)計(jì)基礎(chǔ) -C+課程設(shè)計(jì)報(bào)告第 20頁,共22頁法。對(duì)于編程,我只能望塵莫及。經(jīng)過這學(xué)期 c+的學(xué)習(xí),我也進(jìn)一步加深了對(duì) c+的理解。課程設(shè)計(jì)雖然從某種意義上講很難。
12、但自從拿到題目到完成整個(gè)編程,從理論到實(shí)踐,我學(xué)到很多很多的的東西,同時(shí)不僅可以鞏固了以前所學(xué)過的知識(shí),而且學(xué)到了很多在書本上所沒有學(xué)到過的知識(shí)。通過這次課程設(shè)計(jì)使我懂得了實(shí)踐是檢驗(yàn)理論的重要標(biāo)準(zhǔn),只有理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,才能真正提高自己的動(dòng)手能力和獨(dú)立思考的能力。我在設(shè)計(jì)過程中也遇到了好多問題。我在后悔當(dāng)時(shí)沒好好聽課的的時(shí)候,也開始復(fù)習(xí)老師講過的知識(shí)以及上網(wǎng)查資料學(xué)習(xí)。我及時(shí)改正了我的不足之處,對(duì)學(xué)過的知識(shí)更加深刻了。同時(shí),我也學(xué)到了一些課外知識(shí)。我懂得了:不怕做不到,就怕不去做。只要我們有一種永不放棄的執(zhí)著精神,沒有什么辦到的。最后,感謝老師這學(xué)期在 c+ 上為我們所做的一切。 同時(shí),對(duì)給過我?guī)椭乃型瑢W(xué)表示忠心的感謝!8. 參考文獻(xiàn)軟件設(shè)計(jì)基
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河南省2025-2026學(xué)年高三(上)期末物理試卷(含答案)
- 期末測試卷(含答案含聽力原文無音頻)2025-2026學(xué)年人教版英語八年級(jí)下冊(cè)
- 五年級(jí)下冊(cè)數(shù)學(xué)的試卷及答案
- 污水處理試題及答案
- 往年成考試卷及答案
- 2022~2023文化教育職業(yè)技能鑒定考試題庫及答案解析第64期
- 2022人教版六年級(jí)上冊(cè)數(shù)學(xué)期末綜合卷完整參考答案
- 英語動(dòng)詞的時(shí)態(tài)專項(xiàng)訓(xùn)練100(附答案)含解析
- 數(shù)字城管考試試題及答案
- 生物安全學(xué)考試題及答案
- 村支書考試試題及答案
- 醫(yī)療綜合樓手術(shù)室、放射科、檢驗(yàn)科二次深化設(shè)計(jì)裝飾工程投標(biāo)方案投標(biāo)文件(技術(shù)方案)
- DBJ50-T-078-2016重慶市城市道路工程施工質(zhì)量驗(yàn)收規(guī)范
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級(jí)上學(xué)期期末質(zhì)量檢測道德與法治試題 (含答案)
- 2025年中國船舶集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 辦公樓物業(yè)服務(wù)的品質(zhì)提升策略
- 養(yǎng)殖場土地租賃合同
- JBT 8200-2024 煤礦防爆特殊型電源裝置用鉛酸蓄電池(正式版)
- (正式版)SHT 3078-2024 立式圓筒形料倉工程設(shè)計(jì)規(guī)范
- 計(jì)算機(jī)就業(yè)能力展示
- 設(shè)備維修團(tuán)隊(duì)的協(xié)作與溝通
評(píng)論
0/150
提交評(píng)論