版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課 程 設(shè) 計(jì)</b></p><p><b> 目 錄</b></p><p> 計(jì)算機(jī)基礎(chǔ)強(qiáng)化訓(xùn)練任務(wù)書2</p><p><b> 1.問題描述3</b></p><p><b> 1.1問題描述3</b&
2、gt;</p><p><b> 1.2基本要求3</b></p><p><b> 1.3數(shù)據(jù)需求3</b></p><p><b> 1.4功能需求3</b></p><p><b> 2.實(shí)現(xiàn)分析4</b></p>&l
3、t;p><b> 3.程序設(shè)計(jì)4</b></p><p> 3.1存儲結(jié)構(gòu)設(shè)計(jì)4</p><p> 3.2主要算法設(shè)計(jì)5</p><p> 3.2.1程序主要函數(shù)原型及功能5</p><p> 3.2.2各函數(shù)的實(shí)現(xiàn)6</p><p> 3.2.3函數(shù)模塊18<
4、/p><p> 3.2.4 程序流程圖18</p><p><b> 4.調(diào)試報(bào)告20</b></p><p> 4.1調(diào)試中的問題20</p><p> 4.2對設(shè)計(jì)和編碼的討論和分析21</p><p> 5. 程序運(yùn)行結(jié)果21</p><p> 6.
5、經(jīng)驗(yàn)和體會(huì)28</p><p> 6.1感受和體會(huì)28</p><p> 6.2對算法改進(jìn)的想法29</p><p> 7.租賃信息鏈表內(nèi)容和源程序30</p><p> 7.1租賃信息鏈表內(nèi)容30</p><p><b> 7.2源程序30</b></p>&
6、lt;p> 本科生課程設(shè)計(jì)成績評定表42</p><p> 計(jì)算機(jī)基礎(chǔ)強(qiáng)化訓(xùn)練任務(wù)書</p><p> 學(xué)生姓名: 專業(yè)班級: 計(jì)算機(jī)班 </p><p> 指導(dǎo)教師: 工作單位: 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院 </p><p> 題 目:
7、 </p><p><b> 初始條件:</b></p><p> 理論:學(xué)完計(jì)算機(jī)基礎(chǔ)知識,掌握C++語言編程基礎(chǔ)和VC開發(fā)平臺的使用。</p><p> 實(shí)踐:計(jì)算機(jī)科學(xué)系實(shí)驗(yàn)中心提供計(jì)算機(jī)及軟件開發(fā)環(huán)境。</p><p> 要求完成的主要任務(wù): </p><p&
8、gt; ?。?)系統(tǒng)需求分析,得到系統(tǒng)的數(shù)據(jù)需求和功能需求,分析結(jié)果用表格記錄。 </p><p> ?。?)系統(tǒng)設(shè)計(jì),包括內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)文件設(shè)計(jì)、代碼設(shè)計(jì)、輸入/輸出設(shè)計(jì)、用戶界面設(shè)計(jì)、處理過程設(shè)計(jì)。要求內(nèi)存數(shù)據(jù)用鏈表組織,數(shù)據(jù)文件用文本文件,用戶界面用字符界面。至少實(shí)現(xiàn)數(shù)據(jù)記錄的增加、修改、刪除、查詢(查詢應(yīng)能按不同數(shù)據(jù)項(xiàng)進(jìn)行)。</p><p> ?。?)編制好程序后,設(shè)計(jì)若
9、干測試用例,上機(jī)測試所設(shè)計(jì)的程序。</p><p> (4)設(shè)計(jì)報(bào)告按格式要求書寫。設(shè)計(jì)報(bào)告正文的內(nèi)容應(yīng)包括:</p><p> 1)系統(tǒng)描述 包括問題說明、數(shù)據(jù)需求和功能需求。</p><p> 2)系統(tǒng)設(shè)計(jì) 包括內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)文件設(shè)計(jì)、代碼設(shè)計(jì)、輸入/輸出設(shè)計(jì)、用戶界面設(shè)計(jì)、處理過程設(shè)計(jì)。</p><p> 3
10、)系統(tǒng)測試 包括測試用例的描述、測試方法和測試結(jié)果。</p><p> 4)設(shè)計(jì)的特點(diǎn)、不足、收獲和體會(huì)。</p><p><b> 時(shí)間安排:</b></p><p> 1、第20周(7月4日至7月8日)完成。</p><p> 2、7月8日8:00到計(jì)算機(jī)學(xué)院實(shí)驗(yàn)中心(三樓)檢查程序、交課程設(shè)計(jì)報(bào)告、源
11、程序(CD盤)。</p><p> 指導(dǎo)教師簽名: 年 月 日</p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b> 課程設(shè)計(jì)報(bào)告書</b></p><p><b> 1.問題描述</
12、b></p><p><b> 1.1問題描述</b></p><p> 針對影像店影碟出租的管理,設(shè)計(jì)一個(gè)對租賃者進(jìn)行管理的系統(tǒng)。</p><p><b> 1.2基本要求</b></p><p> 內(nèi)存數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)文件設(shè)計(jì)、代碼設(shè)計(jì)、輸入/輸出設(shè)計(jì)、用戶界面設(shè)計(jì)、處理過程設(shè)計(jì)
13、。要求內(nèi)存數(shù)據(jù)用鏈表組織,數(shù)據(jù)文件用文本文件,用戶界面用字符界面。至少實(shí)現(xiàn)數(shù)據(jù)記錄的增加、修改、刪除、查詢(查詢應(yīng)能按不同數(shù)據(jù)項(xiàng)進(jìn)行)。</p><p><b> 1.3數(shù)據(jù)需求</b></p><p> 經(jīng)過對影像店的觀察,最終確定租賃者的信息包括:租賃者注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)間的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號。如下表:</p&
14、gt;<p><b> 1.4功能需求</b></p><p> 為實(shí)現(xiàn)對影碟租賃者的管理,本系統(tǒng)主要實(shí)現(xiàn)以下幾個(gè)功能:</p><p> 增加租賃會(huì)員。其中信息包括注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)間的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號。</p><p> 刪除租賃會(huì)員。將對應(yīng)的會(huì)員的信息刪除。</p&
15、gt;<p> 修改會(huì)員的租賃信息。對需要修改租賃信息的會(huì)員實(shí)現(xiàn)影碟數(shù)量的增減及相關(guān)租賃時(shí)間、影碟名字的修改。</p><p> 查詢租賃信息。設(shè)計(jì)的查詢功能分為以下兩種:</p><p> 按租賃者相關(guān)信息查詢。包括按照租賃者姓名查詢和按照編號查詢,若成功,則返回相關(guān)租賃信息,若失敗,返回失敗信息。</p><p> 按照租賃日期查詢。對輸入
16、的一個(gè)日期進(jìn)行查詢,查詢結(jié)果為:對應(yīng)日期注冊會(huì)員的數(shù)量、對應(yīng)日期租賃影碟的信息(租賃者、租賃數(shù)量)。</p><p> 保存文件。將內(nèi)存的信息保存到外存儲器上,實(shí)現(xiàn)信息的永久保存。</p><p><b> 2.實(shí)現(xiàn)分析</b></p><p> (1)針對某個(gè)影像店的租賃者信息先建立一個(gè)鏈表,存儲租賃者的信息:注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)
17、間的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號。</p><p> ?。?)對于已經(jīng)建立的鏈表通過人機(jī)交互窗口進(jìn)行相關(guān)的操作。包括:退出系統(tǒng)、查詢租賃者、添加新租賃者、 修改租賃數(shù)量、刪除租賃者 、查看所有租賃者、按日期查詢、保存成文件。</p><p> ?。?)對于用戶的各種選擇操作進(jìn)行相關(guān)的操作,并對用戶的錯(cuò)誤輸入進(jìn)行處理。</p><p><
18、;b> 3.程序設(shè)計(jì)</b></p><p><b> 3.1存儲結(jié)構(gòu)設(shè)計(jì)</b></p><p> 本次課程設(shè)計(jì)采用鏈表來存儲租賃者的相關(guān)信息,用到的存儲結(jié)構(gòu)如下:</p><p><b> 3.2主要算法設(shè)計(jì)</b></p><p> 3.2.1程序主要函數(shù)原型及功能
19、</p><p> 主要函數(shù)原型及功能:</p><p> LinkList Creat_LinkList()</p><p> 功能:創(chuàng)建一個(gè)空鏈表,并返回鏈表的頭結(jié)點(diǎn)。</p><p> int equal(char a[],char b[]) </p><p> 功能:判斷兩個(gè)字符數(shù)組是否相等函數(shù)。&
20、lt;/p><p> void Add_LinkList(LinkList H) </p><p> 功能:添加新的租賃者信息,信息包括:注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)間的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號;并輸出租賃會(huì)員的總數(shù)。</p><p> void Revise_LinkList(LinkList H) </p><
21、p> 功能:修改租賃人的租賃信息。首先需要用戶輸入需要修改信息的人數(shù),如果人數(shù)大于已經(jīng)注冊的會(huì)員數(shù),則會(huì)提示出錯(cuò)信息,并讓用戶重新輸入;在正確輸入后,用戶可以輸入相關(guān)租賃者姓名,并修改其租賃信息,如:張三原本租賃一張影碟,現(xiàn)在又租借了1張影碟,將這張影碟的租賃信息增加到張三的租賃信息中。</p><p> void Del_LinkList(LinkList H) </p><p&g
22、t; 功能:根據(jù)用戶輸入的需要?jiǎng)h除的租賃者姓名,完成刪除該租賃者的租賃信息,并返回剩余租賃者的數(shù)量。</p><p> LinkList Search(LinkList H) </p><p> 功能:按照用戶的選擇:按姓名查找和按編號查找,完成對相關(guān)信息的查找功能。</p><p> void Search_Time(LinkList H) &l
23、t;/p><p> 功能:按日期查詢租賃信息。包括對于用戶輸入的日期,查詢該日期的注冊人數(shù)和租賃影碟的信息;如20110101,有一個(gè)人注冊,沒人租借影碟;20110109,租賃影碟1張:《哈利波特7》,租賃者李四,押金20等。</p><p> void browsing(LinkList H) </p><p> 功能:瀏覽所有租賃者的租賃信息。</p
24、><p> void Printff(LinkList p)</p><p> 功能:輸出租賃者的信息。</p><p> void WriteCDdata(LinkList H)</p><p> 功能:將主存中的鏈表信息以文本文件的形式存儲到外存儲器中。</p><p> void main( )</p
25、><p> 功能:實(shí)現(xiàn)人機(jī)交互,提供用戶選擇相關(guān)操作。</p><p> 3.2.2各函數(shù)的實(shí)現(xiàn)</p><p> ?。?)創(chuàng)建一個(gè)空鏈表,并返回頭指針:</p><p> 函數(shù)LinkList Creat_LinkList()的實(shí)現(xiàn):</p><p> ?。?)判斷兩個(gè)字符數(shù)組是否相等函數(shù) </p>
26、<p> 函數(shù)int equal(char a[],char b[])的實(shí)現(xiàn):</p><p><b> (3)添加租賃者</b></p><p> 使用尾插法插入鏈表的結(jié)點(diǎn),結(jié)點(diǎn)信息包括:租賃者注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)間 的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號。</p><p> 添加租賃者信息void
27、 Add_LinkList(LinkList H)的實(shí)現(xiàn):</p><p> ?。?)修改租賃者的租賃信息</p><p> 首先提示用戶選擇相應(yīng)的修改方式:按姓名修改信息、按編號修改信息。</p><p> 根據(jù)用戶選擇的修改方式,輸入要修改租賃信息的租賃者名字或編號,進(jìn)行查找,若查找成功,則修改相關(guān)租賃信息,同時(shí)對租借數(shù)量進(jìn)行判斷是否超過最大租借限度;查找失
28、敗,返回失敗信息。</p><p> 顯示哈希表的函數(shù)void Revise_LinkList(LinkList H)的實(shí)現(xiàn):</p><p> ?。?)刪除某些租賃者的信息</p><p> 首先提示用戶選擇相應(yīng)的刪除方式:按姓名刪除信息、按編號刪除信息。</p><p> 根據(jù)用戶選擇的刪除方式,輸入要?jiǎng)h除租賃信息的租賃者名字或編號
29、,進(jìn)行查找,若查找成功,則刪除相關(guān)租賃信息,同時(shí)對租借者數(shù)量進(jìn)行減操作;查找失敗,返回失敗信息。</p><p> 刪除租賃者信息函數(shù)void Del_LinkList(LinkList H)的實(shí)現(xiàn):</p><p> ?。?)租賃信息的查找</p><p> 首先提示用戶選擇相應(yīng)的查找方式:按姓名查找信息、按編號編號信息。</p><p&g
30、t; 根據(jù)用戶選擇的查找方式,輸入要查找租賃信息的租賃者名字或編號,進(jìn)行查找,若查找成功,則輸出相關(guān)租賃信息;查找失敗,返回失敗信息。</p><p> 查找租賃者信息函數(shù)LinkList Search(LinkList H)的實(shí)現(xiàn):</p><p> (7)按日期查找租賃信息</p><p> 根據(jù)用戶輸入的日期,進(jìn)行查找,若查找到相關(guān)日期有會(huì)員注冊或者有
31、影碟租賃出去,則返回相關(guān)注冊信息或者租賃信息</p><p> 按日期查找函數(shù)void Search_Time(LinkList H)的實(shí)現(xiàn):</p><p> (8)顯示所有租賃者的租賃信息</p><p> 顯示出所有租賃者的租賃信息,包括:租賃者注冊時(shí)間、租賃時(shí)間、對應(yīng)時(shí)間的租賃影碟的名稱、租賃影碟的數(shù)量、租賃押金、租賃者的編號。</p>
32、<p> 函數(shù)void browsing(LinkList H)的實(shí)現(xiàn):</p><p><b> ?。?)輸出函數(shù)</b></p><p> 函數(shù)void Printff(LinkList p)的實(shí)現(xiàn):</p><p> (10)將內(nèi)存鏈表以文本文件的形式寫入外存儲器</p><p> 函數(shù)void
33、WriteCDdata(LinkList H)的實(shí)現(xiàn):</p><p> (11)人機(jī)交互的實(shí)現(xiàn)</p><p> 主函數(shù)void main( )的實(shí)現(xiàn):</p><p><b> 3.2.3函數(shù)模塊</b></p><p><b> 模塊調(diào)用關(guān)系</b></p><p&
34、gt; 3.2.4 程序流程圖</p><p><b> 本次程序流程圖如下</b></p><p><b> 4.調(diào)試報(bào)告</b></p><p><b> 4.1調(diào)試中的問題</b></p><p> 經(jīng)過對影碟租賃和系統(tǒng)的研究后,即進(jìn)行程序的設(shè)計(jì)和編碼;將原程序
35、編好后,經(jīng)過編譯,有如下幾個(gè)問題:</p><p> 鏈表的頭結(jié)點(diǎn)不存放信息,僅作鏈表的表示起點(diǎn),因此每次對鏈表的增加或查找應(yīng)從第二個(gè)結(jié)點(diǎn)開始,即從H->next開始。</p><p> 增加新的租賃者信息的函數(shù)void Add_LinkList(LinkList H)中,采用尾插法插入,因此插入點(diǎn)是最后一個(gè)結(jié)點(diǎn),而不是第二個(gè)結(jié)點(diǎn),開始以第二個(gè)結(jié)點(diǎn)作為插入點(diǎn),在插入后沒有將第二個(gè)
36、結(jié)點(diǎn)后的結(jié)點(diǎn)用指針連接起來,導(dǎo)致每次鏈表中都只有兩個(gè)結(jié)點(diǎn);最后改成:temp=H->next;while(temp->next){ temp=temp->next; }q=temp;q既是鏈表尾結(jié)點(diǎn),以q為結(jié)點(diǎn)開始插入。</p><p> 增加新的租賃者信息的函數(shù)void Add_LinkList(LinkList H)中,設(shè)置了兩個(gè)變量i、j作為存儲租出影碟的時(shí)間數(shù)組和名字?jǐn)?shù)組的下標(biāo),由于每
37、次對一個(gè)用戶租賃信息的插入時(shí),i、j的值都會(huì)改變,但是對下一個(gè)插入租賃者,其存儲租出影碟的時(shí)間數(shù)組和名字?jǐn)?shù)組的下標(biāo)i、j應(yīng)該是二者的初始值,不應(yīng)該是上一次租賃者插入結(jié)束后的修改值;經(jīng)過分析,在每次一個(gè)租賃者信息插入結(jié)束后修改i、j的值,即i=j=0。</p><p> 修改租賃信息函數(shù)void Revise_LinkList(LinkList H)中,由于對租賃影碟的數(shù)量有限制,因此通過判斷語句if(p->
38、;next->data.Mount>10)來控制用戶修改租賃影碟的數(shù)量,如果要修改的影碟數(shù)量超過上限,則要求用戶重新輸入修改值,若沒有超過上限,則進(jìn)行相關(guān)的操作。</p><p> 在顯示全部租賃者信息的函數(shù)void browsing(LinkList H)中,由于空表無法顯示信息,因此要對空表提示失敗信息,通過語句p=H->next;if(p==NULL) printf("表為空!
39、");來實(shí)現(xiàn)。</p><p> 在添加信息函數(shù)、刪除信息函數(shù)、修改信息函數(shù)、查找信息函數(shù)中,采用do{}while()語句提供用戶選擇是否繼續(xù)相關(guān)操作,開始while語句中的判斷條件為:x==’Y’||x==’y’;這樣的條件對于主函數(shù)中的switch語句中,系統(tǒng)將字符型數(shù)據(jù)默認(rèn)為數(shù)值0,因此每次上述函數(shù)調(diào)用結(jié)束后,都只執(zhí)行switch語句中case 0對應(yīng)的語句;經(jīng)過分析,對do{}while()
40、語句判斷條件進(jìn)行修改,判斷條件也改成輸入數(shù)字:printf("繼續(xù)** 8;其他數(shù)字退出**\n請輸入:");和while(x==8) 。</p><p> 在把內(nèi)存里的鏈表信息以文本文件的形式寫入外存儲器時(shí),對應(yīng)的每個(gè)結(jié)點(diǎn)里的數(shù)據(jù)項(xiàng)應(yīng)分別寫入,開始采用cddata.write((char*)&(p->data),sizeof(p->data));一次寫入文件,最后發(fā)現(xiàn)寫
41、入的數(shù)據(jù)有些數(shù)據(jù)項(xiàng)為寫入,應(yīng)將每個(gè)數(shù)據(jù)項(xiàng)單獨(dú)寫入,即改成:cddata.write((char*)&(p->data.Name),sizeof(p->data.Name));cddata.write((char*)&(p->data.Num),sizeof(p->data.Num));cddata.write((char*)&(p->data.Data),sizeof(p->d
42、ata.Data));cddata.write((char*)&(p->data.Mount),sizeof(p->data.Mount))cddata.write((char*)&(p->data.Price),sizeof(p->data.Price));cddata.write((char*)&(p->data.CDData),sizeof(p->data.CDData)
43、);cddata.wri</p><p> 4.2對設(shè)計(jì)和編碼的討論和分析</p><p> 算法采用鏈表和數(shù)組來存儲數(shù)據(jù),結(jié)點(diǎn)間為鏈表結(jié)構(gòu),結(jié)點(diǎn)內(nèi)用數(shù)組來存儲租賃者名字、租賃日期和對應(yīng)的租賃影碟的名字,由于租賃者名字、租賃日期和對應(yīng)的租賃影碟的名字等信息長度較短,因此選擇數(shù)組來存儲,但是由于不同信息的長度不一樣,因此存在內(nèi)存的浪費(fèi)。</p><p> 租賃者
44、的信息在程序開始需要用戶輸入,建立一個(gè)鏈表,以便在通過人機(jī)交互界面進(jìn)行相關(guān)的操作,如果開始鏈表為空,顯然無法執(zhí)行刪除操作、修改操作、查找操作、文件寫入操作和顯示操作。</p><p> 算法的時(shí)間復(fù)雜度為:O(n2)。</p><p><b> 5. 程序運(yùn)行結(jié)果</b></p><p> 經(jīng)過對程序錯(cuò)誤的修改后,程序執(zhí)行,經(jīng)過分析,程序
45、運(yùn)行結(jié)果正確,滿足題目要求!運(yùn)行結(jié)果主要截圖如下:</p><p> 程序開始后,輸入增加租賃者數(shù)量為1,輸入姓名:蒲平,租借數(shù)量:1,押金::20,注冊時(shí)間:20110101,編號:1,租借時(shí)間:20110107,租借影碟名:《哈利波特7》。初始界面為:</p><p> 添加結(jié)束后,選擇1查詢,查詢按姓名,分別輸入:平平、蒲平,只有輸入蒲平時(shí)查詢成功;按編號,輸入:1、2,只有輸入
46、1時(shí)查詢成功。查詢結(jié)果為:</p><p> 查詢結(jié)束后選擇2添加新的租賃者,增加姓名:韓江,租賃數(shù)目:1,注冊時(shí)間: 20110101,押金:20,編號:2,租借時(shí)間:20110109,影碟:《天龍八部》,結(jié)果為:</p><p> 添加結(jié)束后,選擇3,對蒲平的租賃信息進(jìn)行修改。增加一個(gè)租借影碟數(shù)目,租借時(shí)間為:20110705,名字:《海上鋼琴師》,結(jié)果如下:</p
47、><p> 添加結(jié)束后,選擇5顯示全部租賃者信息:</p><p> 選擇6,按日期查詢。輸入查詢時(shí)間:20110101、20110107、20110109.結(jié)果為:</p><p> 繼續(xù)選擇4刪除,刪除韓江的信息:</p><p> 刪除韓江之后顯示鏈表信息:</p><p> 刪除韓江的租賃信息之后按日期查
48、詢。輸入時(shí)間:20110101、20110107、、20110109、20110705。結(jié)果為:</p><p><b> 6.經(jīng)驗(yàn)和體會(huì)</b></p><p><b> 6.1感受和體會(huì)</b></p><p> 《面向?qū)ο蟪绦蛟O(shè)計(jì)》這門課程是計(jì)算機(jī)專業(yè)一門基礎(chǔ)性學(xué)科,重要性可見一般,學(xué)好這門課程對以后人生的發(fā)展
49、具有深遠(yuǎn)的影響。而課程設(shè)計(jì)便是對學(xué)習(xí)效果的檢驗(yàn)。課程設(shè)計(jì)不僅可以鍛煉我們獨(dú)立思考問題、解決問題的能力,而且可以培養(yǎng)我們的整體性思維的能力;通過課程設(shè)計(jì),加深了對面向?qū)ο蟪绦蛟O(shè)計(jì)的再認(rèn)識,鞏固了面向?qū)ο蟪绦蛟O(shè)計(jì)基礎(chǔ)性知識,比如:存儲結(jié)構(gòu)、數(shù)據(jù)查找、對用戶錯(cuò)誤輸入的處理、算法分析等。</p><p> 這次課程設(shè)計(jì),我明白了對于編寫程序,解題的思路尤為重要。在編寫程序之前,如果沒有比較清晰的思路,根本不可能編出好的
50、程序。就算馬馬虎虎的編出來,程序的邏輯性、健壯性、完善性、合理性也不會(huì)很強(qiáng)。在編程之前,我們應(yīng)反復(fù)研究題目要求,對題目涉及的情況進(jìn)行比較充分的分析,以便編寫出更加符合題意的程序;其次要充分考慮各種臨界情況,對一些錯(cuò)誤的輸入進(jìn)行處理。因此在我們編程序之前一定要做好充分的準(zhǔn)備,首先要理清自己的思路,然后再將思路分劃成幾個(gè)模塊,逐塊的寫好算法,最后再將所有的模塊有機(jī)的聯(lián)系起來,組成一個(gè)完整的程序。在成功通過編譯的情況下,對程序運(yùn)行的結(jié)果進(jìn)行系
51、統(tǒng)的分析,檢驗(yàn)其正確性,如果有錯(cuò)誤,應(yīng)立即去分析源程序的邏輯錯(cuò)誤,直到得到正確的結(jié)果。</p><p> 在程序編寫的過程中,不僅要對實(shí)際問題的各種情況進(jìn)行充分完全的考慮和分析,還要對各種無法預(yù)期的輸入的處理,對于不正確的輸入應(yīng)該進(jìn)行相關(guān)的排錯(cuò)處理,程序不僅培養(yǎng)我們的邏輯思維能力,還鍛煉我們整體考慮問題的能力,對解決實(shí)際問題應(yīng)該考慮的方面,鍛煉了我們思考問題的方式和嚴(yán)密性,開拓了思考問題的全面性能力。</
52、p><p> 在這次課程設(shè)計(jì)的過程中,我也遇到了很多難題。在種種的困難中,我明白了在編寫程序時(shí)要有耐心。如果你沒有耐心,即使再好的算法思路也不會(huì)得到很好的表達(dá),特別是在調(diào)試的過程中,對于各種各樣的錯(cuò)誤,要特別的有耐心去自習(xí)分析原因,特別是一些基本的語法錯(cuò)誤,不能一看到錯(cuò)誤很多就亂了陣腳,更不能輕易的放棄,半途而廢。比如在調(diào)試中沒有定義某些變量的錯(cuò)誤、基本的輸入輸出錯(cuò)誤、數(shù)據(jù)選取不合理的錯(cuò)誤、變量名前后不一的錯(cuò)誤、函
53、數(shù)返回值的錯(cuò)誤等等。其實(shí)只要有耐心,你就會(huì)發(fā)現(xiàn),在你修改了一個(gè)錯(cuò)誤之后,其它有的錯(cuò)誤也會(huì)跟著消失,所以在編譯的時(shí)候一定要有耐心。</p><p> 6.2對算法改進(jìn)的想法</p><p> 本次程序設(shè)計(jì)采用的存儲結(jié)構(gòu)為鏈表,這樣的存儲結(jié)構(gòu)簡單易操作,節(jié)約存儲空間,但是在每個(gè)結(jié)點(diǎn)內(nèi)有采用順序存儲結(jié)構(gòu)來存儲租賃者名字、租賃日期和對應(yīng)的租賃影碟的名字,由于租賃者名字、租賃日期和對應(yīng)的租賃影碟
54、的名字等信息長度較短,因此選擇數(shù)組來存儲,但是由于不同信息的長度不一樣,因此存在內(nèi)存的浪費(fèi)。因此可以將結(jié)點(diǎn)內(nèi)的存儲結(jié)構(gòu)也改成鏈?zhǔn)酱鎯?,這樣便不會(huì)浪費(fèi)存儲空間。</p><p> 算法中存在很多對用戶錯(cuò)誤輸入的處理,有的處理存在雙重循環(huán),在一定程度上增加了時(shí)間復(fù)雜度,因此可以對錯(cuò)誤輸入進(jìn)行再考慮,對主要錯(cuò)誤輸入盡量用簡單的算法解決,盡量降低程序的時(shí)間復(fù)雜度。</p><p> 7.租賃信
55、息鏈表內(nèi)容和源程序</p><p> 7.1租賃信息鏈表內(nèi)容</p><p> 經(jīng)過分析,最后得到的租賃信息鏈表未刪除信息之前的內(nèi)容如下:</p><p><b> 7.2源程序</b></p><p> 整個(gè)程序的源代碼為:</p><p><b> 參考文獻(xiàn):</b&
56、gt;</p><p> 《C++程序設(shè)計(jì)教程》,閔聯(lián)營 何克右 主編,清華大學(xué)出版社,出版時(shí)間:1997.4</p><p> 本科生課程設(shè)計(jì)成績評定表</p><p> 班級:計(jì)算機(jī)班 姓名: 學(xué)號:</p><p> 注:最終成績以五級分制記。優(yōu)(90-100分)、良(80-89分)、中(70-79分)、</p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫課程設(shè)計(jì)論文- 影碟租賃管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)(論文)-影碟租賃管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)-影碟租賃系統(tǒng)
- 汽車租賃管理sql課程設(shè)計(jì)
- 汽車租賃管理系統(tǒng)課程設(shè)計(jì)
- 房屋租賃管理系統(tǒng)課程設(shè)計(jì)
- 房屋管理租賃系統(tǒng)課程設(shè)計(jì)
- 汽車租賃課程設(shè)計(jì)
- 融資租賃租金計(jì)算模板
- 房屋租賃管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 房屋租賃管理系統(tǒng)-課程設(shè)計(jì)報(bào)告
- 融資租賃租金及利息計(jì)算
- c++課程設(shè)計(jì)--汽車租賃管理系統(tǒng)
- 5年融資租賃租方案(標(biāo)準(zhǔn))
- 房屋租賃管理系統(tǒng)課程設(shè)計(jì)報(bào)告書
- 數(shù)據(jù)庫課程設(shè)計(jì)--車輛租賃管理系統(tǒng)
- 數(shù)據(jù)庫課程設(shè)計(jì)車輛租賃管理系統(tǒng)
- 融資租賃租金計(jì)算與賬務(wù)處理
- 數(shù)據(jù)庫課程設(shè)計(jì)--房屋租賃管理系統(tǒng)
- 網(wǎng)絡(luò)管理課程設(shè)計(jì)
評論
0/150
提交評論