




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、課程設(shè)計(jì)目的:通過本課程設(shè)計(jì)鞏固C語言程序設(shè)計(jì)課程教學(xué)成果,深入理解結(jié)構(gòu)體、指針、鏈表、動(dòng)態(tài)分配內(nèi)存和文件操作等C程序設(shè)計(jì)中的中高級技術(shù),熟練掌握C語言的調(diào)試方法,初步培養(yǎng)良好的編程習(xí)慣和編程風(fēng)格,初步學(xué)習(xí)程序文檔的撰寫方法。一、 題目1、 實(shí)用的通訊錄管理2、 單科課程成績管理3、 多功能網(wǎng)址收藏管理4、 圖書信息管理二、 調(diào)試環(huán)境TurboC+3.0或者VC+6.0所有同學(xué)必須提交實(shí)驗(yàn)報(bào)告電子版一份,內(nèi)容包括:1課程設(shè)計(jì)說明書2源代碼和注釋、編譯鏈接生成的目標(biāo)文件、可執(zhí)行文件(請將所有文件壓縮成rar格式一并提交)三、 注意事項(xiàng)(一)獨(dú)立完成任何人不得抄襲、拷貝。凡發(fā)現(xiàn)實(shí)驗(yàn)報(bào)告或源程序雷同
2、,涉及的全部人員后果自負(fù)。(二)一人一題 一人一題,要求獨(dú)立完成,清考學(xué)生可以自選任意一題。(二)課程設(shè)計(jì)說明書要求課程設(shè)計(jì)說明書有以下內(nèi)容: 題目一 實(shí)用的通訊錄管理題目簡述現(xiàn)代社會(huì)人們之間的交往越來越多,通信錄的建立和管理顯得尤為重要。本課題旨在建立一個(gè)通訊錄系統(tǒng),系統(tǒng)中保存著各人員的姓名、電話、Email以及與本人的關(guān)系(親戚、同學(xué)、朋友、同事等)等信息,通過該系統(tǒng)的簡單界面可以對通訊錄進(jìn)行新建、瀏覽、查找、更新、刪除等操作。具體要求1、基本功能:(1)添加記錄先判斷鏈表是否已經(jīng)存在。若不存在,需首先自動(dòng)新建一個(gè)鏈表,然后再添加一條或多條通訊記錄。(2)顯示記錄顯示當(dāng)前所有記錄。(3)查
3、詢記錄按名字查找,并顯示該記錄。(4)通信錄排序按姓名的字母順序排序,涉及到冒泡等排序算法。(5)刪除記錄實(shí)現(xiàn)逐條刪除和刪除全部記錄兩種功能。(6)更新記錄修改已存在記錄的信息(提示:需首先判斷該記錄是否存在)。(7)按關(guān)系顯示記錄只顯示與本人有指定關(guān)系(親戚、朋友、同事、同學(xué))的記錄。(8)保存記錄存儲(chǔ)所有記錄到某個(gè)文件(.txt)或缺省文件(Phonebook.txt)。(9)讀入記錄從某個(gè)文件(.txt)或缺省文件(Phonebook.txt)讀入所有記錄。首先判斷當(dāng)前是否有記錄在進(jìn)行操作,若有,進(jìn)行存儲(chǔ)或放棄存儲(chǔ),然后釋放內(nèi)存空間,之后才能從文件讀入記錄。(10)退出結(jié)束通訊錄軟件操作
4、,釋放內(nèi)存后退出。2、數(shù)據(jù)錄入提示(1)Name聯(lián)系人姓名。為了實(shí)現(xiàn)排序,可以輸入英文或拼音的姓名,便于調(diào)用字符串比較等函數(shù)進(jìn)行比較排序。(2)Tel可以為固定電話號碼或手機(jī)號。(3)Email輸入時(shí)要根據(jù)判斷一下是否是正確的email地址格式。Email地址首位不能是下劃線_,斜杠或/,點(diǎn)號.等(類似對輸入數(shù)據(jù)的判斷可作為擴(kuò)展,不是必須實(shí)現(xiàn)的功能)。(4)Relation可以為Relative, Friend, Workmate或Classmate中的一種,用于進(jìn)行條件顯示,即只顯示與本人有某種關(guān)系的記錄。3、其他實(shí)現(xiàn)提示對于每一項(xiàng)功能,應(yīng)該對可能出現(xiàn)的異常操作進(jìn)行處理,如提示重新輸入或給出
5、錯(cuò)誤提示后成功返回主菜單界面,以免軟件運(yùn)行異常退出或掛起。除了基本功能和異常處理,鼓勵(lì)進(jìn)行以下擴(kuò)展或改進(jìn):l 有創(chuàng)意的設(shè)計(jì)l 采用改進(jìn)程序性能的其他方法(如執(zhí)行效率、訪問速度、占內(nèi)存量、靈活性、可移植性等)l 友好的輸入界面;l 對輸入數(shù)據(jù)的對錯(cuò)判斷等;l 功能擴(kuò)展;l 程序的簡潔明了和可讀性等。主要數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體Address:包含Name, Tel, Email, Relation (與本人的關(guān)系)以及Address類型的指針(用于鏈表操作)等成員變量。具體技術(shù)1 指針、結(jié)構(gòu)體的應(yīng)用2 單向鏈表的建立,插入,添加及刪除等3 文件的讀寫4 簡單算法:如排序算法等測試要求1、要求準(zhǔn)備至少有10
6、條記錄的通信錄文件(addrlist.txt),便于進(jìn)行上機(jī)測試;2、對空鏈表、沒有記錄或沒有文件等情況進(jìn)行處理的驗(yàn)證;文件操作是否正確的驗(yàn)證;對記錄進(jìn)行操作的相關(guān)測試等;3、就某些功能實(shí)現(xiàn)情況及其實(shí)現(xiàn)細(xì)節(jié)進(jìn)行現(xiàn)場解答。4、編譯環(huán)境可為Turbo C+ 3.0 或 VC+ 6.0。題目二 單科課程成績管理2.1 題目背景依照學(xué)校教務(wù)處的規(guī)定,各位每門課的成績的給出要依據(jù)三方面的內(nèi)容,平時(shí)成績、期中成績和期末成績,期中和期末均為滿分制,平時(shí)成績則主要由平時(shí)作業(yè)組成,可能由4次到5次等,每次10分。這三項(xiàng)按照任課組老師指定的百分比計(jì)算總評分,例如可能總評分平時(shí)成績×20期中成績×
7、;20期末成績×60?,F(xiàn)在我們希望大家給老師們做一個(gè)這樣的單科課程成績管理系統(tǒng),要求能夠?qū)崿F(xiàn)上面所說的要求,具體的規(guī)范如下。2.2 程序功能本程序利用單鏈表存儲(chǔ)結(jié)構(gòu)完成對學(xué)生成績的動(dòng)態(tài)管理,要求實(shí)現(xiàn)如下的基本功能。2.2.1 菜單操作在屏幕上顯示菜單,通過輸入0-X之間的數(shù)字調(diào)用相應(yīng)的功能函數(shù)。2.2.2 創(chuàng)建鏈表即輸入學(xué)生成績信息,按照提示信息輸入學(xué)號、姓名、各個(gè)平時(shí)成績、期中成績和期末成績。注意:申請內(nèi)存空間,驗(yàn)證輸入數(shù)據(jù)是否符合要求,設(shè)置輸入結(jié)束標(biāo)志。2.2.3 顯示鏈表顯示當(dāng)前鏈表中的所有記錄。注意輸出格式的直觀。2.2.4 刪除記錄刪除指定學(xué)號的記錄。注意刪除記錄要釋放該記
8、錄占用的內(nèi)存空間。2.2.5 查詢記錄按姓名查找并顯示該記錄。(可擴(kuò)展為按照姓名和學(xué)號兩種方式查找)2.2.6 插入記錄插入記錄需要輸入插入位置和新記錄信息。輸入某個(gè)記錄的學(xué)號,新結(jié)點(diǎn)將插入在這個(gè)指定記錄之前。2.2.7 更新記錄修改已存在記錄的分量信息。2.2.8 保存文件將學(xué)生成績信息保存到指定文件(wgrade.txt)中。2.2.9 讀取記錄從指定的文件(rgrade.txt)中讀入所有記錄。2.2.10 計(jì)算:根據(jù)結(jié)點(diǎn)的平時(shí)成績、期中成績和期末成績,來計(jì)算每個(gè)人的總評分和所有人的平均分(平時(shí)的成績的次數(shù)可通過N的宏定義來進(jìn)行,而每項(xiàng)所占的比例可以在計(jì)算的時(shí)候進(jìn)行輸入)2.2.11 排
9、序根據(jù)總評分進(jìn)行排序,由高到低的順序排列2.2.12 統(tǒng)計(jì):統(tǒng)計(jì)各個(gè)分?jǐn)?shù)段的人數(shù),不及格的,6069的等,并保存到文件total.txt中。2.2.13 退出結(jié)束軟件操作,釋放內(nèi)存后退出。2.3 數(shù)據(jù)結(jié)構(gòu)將一個(gè)學(xué)生的信息當(dāng)作一個(gè)結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)的類型為結(jié)構(gòu)體,其中至少含有下列類型的信息:學(xué)號、姓名、平時(shí)成績(可多次)、期中成績、期末成績、總評分、名次,以及指向后續(xù)結(jié)點(diǎn)的指針等。2.4 功能擴(kuò)展可擴(kuò)展程序功能,例如可集中錄入某次平時(shí)作業(yè)的成績等。鼓勵(lì)有創(chuàng)意和實(shí)用的擴(kuò)展。 2.5 測試要求1、要求準(zhǔn)備分別至少有10條記錄的課程成績文件(score.txt),便于進(jìn)行上機(jī)測試;2、對空鏈表、沒有記錄或
10、沒有文件等情況進(jìn)行處理的驗(yàn)證;文件操作是否正確的驗(yàn)證;對記錄進(jìn)行操作的相關(guān)測試等;3、就某些功能實(shí)現(xiàn)情況及其實(shí)現(xiàn)細(xì)節(jié)進(jìn)行現(xiàn)場解答。4、編譯環(huán)境可為Turbo C+ 3.0 或 VC+ 6.0。題目三 多功能網(wǎng)址收藏管理題目簡述信息社會(huì)我們離不開Internet,網(wǎng)址的保存和管理將變得十分必要。本課題旨在建立一個(gè)多功能網(wǎng)址管理系統(tǒng),系統(tǒng)中保存著各網(wǎng)址的命名、網(wǎng)址、收藏日期以及類別(學(xué)習(xí)、體育、音樂、健康等)等信息,通過該系統(tǒng)的簡單界面可以對通訊錄進(jìn)行新建、瀏覽、查找、更新、刪除等操作。具體要求1、基本功能:(1)添加記錄先判斷鏈表是否已經(jīng)存在。若不存在,需首先自動(dòng)新建一個(gè)鏈表,然后再添加一條或多
11、條通訊記錄。(2)顯示記錄顯示當(dāng)前所有記錄。(3)查詢記錄按命名查找,并顯示該記錄。(4)網(wǎng)址的排序按網(wǎng)址的字母順序排序,涉及到冒泡等排序算法。(5)刪除記錄實(shí)現(xiàn)逐條刪除和刪除全部記錄兩種功能。(6)更新記錄修改已存在記錄的信息(提示:需首先判斷該記錄是否存在)。(7)按關(guān)系類別顯示記錄只顯示與網(wǎng)址有指定關(guān)系(學(xué)習(xí)、體育、音樂、健康)的記錄。(8)保存記錄存儲(chǔ)所有記錄到某個(gè)文件(.txt)或缺省文件(favorite.txt)。(9)讀入記錄從某個(gè)文件(.txt)或缺省文件(favorite.txt)讀入所有記錄。首先判斷當(dāng)前是否有記錄在進(jìn)行操作,若有,進(jìn)行存儲(chǔ)或放棄存儲(chǔ),然后釋放內(nèi)存空間,之
12、后才能從文件讀入記錄。(10)退出結(jié)束通訊錄軟件操作,釋放內(nèi)存后退出。2、數(shù)據(jù)錄入提示(1)命名自己對網(wǎng)址的命名。為了實(shí)現(xiàn)排序,可以輸入英文或拼音的姓名,便于調(diào)用字符串比較等函數(shù)進(jìn)行比較排序。(2)域名可以為ftp或www。(3)收藏日期輸入時(shí)要判斷一下是否是正確的日期格式。(類似對輸入數(shù)據(jù)的判斷可作為擴(kuò)展,不是必須實(shí)現(xiàn)的功能)。(4)類別可以為學(xué)習(xí), 體育, 音樂或健康中的一種,用于進(jìn)行條件顯示,即只顯示與網(wǎng)址有某種關(guān)系的記錄。3、其他實(shí)現(xiàn)提示對于每一項(xiàng)功能,應(yīng)該對可能出現(xiàn)的異常操作進(jìn)行處理,如提示重新輸入或給出錯(cuò)誤提示后成功返回主菜單界面,以免軟件運(yùn)行異常退出或掛起。除了基本功能和異常處理
13、,鼓勵(lì)進(jìn)行以下擴(kuò)展或改進(jìn):l 有創(chuàng)意的設(shè)計(jì)l 采用改進(jìn)程序性能的其他方法(如執(zhí)行效率、訪問速度、占內(nèi)存量、靈活性、可移植性等)l 友好的輸入界面;l 對輸入數(shù)據(jù)的對錯(cuò)判斷等;l 功能擴(kuò)展;l 程序的簡潔明了和可讀性等。主要數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體Address:包含Name, Domain, Date, Sort (與網(wǎng)址的關(guān)系)以及Address類型的指針(用于鏈表操作)等成員變量。具體技術(shù)1 指針、結(jié)構(gòu)體的應(yīng)用2 單向鏈表的建立,插入,添加及刪除等3 文件的讀寫4 簡單算法:如排序算法等測試要求1、要求準(zhǔn)備至少有10條記錄的通信錄文件(favorite.txt),便于進(jìn)行上機(jī)測試;2、對空鏈表、沒有
14、記錄或沒有文件等情況進(jìn)行處理的驗(yàn)證;文件操作是否正確的驗(yàn)證;對記錄進(jìn)行操作的相關(guān)測試等;3、就某些功能實(shí)現(xiàn)情況及其實(shí)現(xiàn)細(xì)節(jié)進(jìn)行現(xiàn)場解答。4、編譯環(huán)境可為Turbo C+ 3.0 或 VC+ 6.0。題目四 圖書管理系統(tǒng)3.1 程序功能 必須實(shí)現(xiàn)的功能l 圖書信息錄入功能,包括圖書信息的插入、修改和刪除。l 借閱人員信息錄入和修改功能,包括借閱人員信息的插入、修改和刪除。l 借書功能;l 還書功能;l 預(yù)約功能;l 統(tǒng)計(jì)輸出功能:n 統(tǒng)計(jì)館藏書籍總數(shù)、已借出圖書總數(shù)、在館書籍?dāng)?shù)等n 統(tǒng)計(jì)過期書及其借閱者信息;n 所有圖書的列表輸出、所有讀者信息的列表輸出功能。擴(kuò)展功能(加分)l 借閱人違章罰款功
15、能l 圖書的分類統(tǒng)計(jì)功能(如按出版社、中圖分類號、出版年份分類等)l 借閱權(quán)限設(shè)定,如:l 對讀者進(jìn)行分類,設(shè)置不同的最大借閱數(shù)量;l 有超期書籍禁止借閱等。l 違章統(tǒng)計(jì),如:l 統(tǒng)計(jì)違章次數(shù)超過x次的所有讀者l 按違章次數(shù)對有違章情況的讀者進(jìn)行排序等。3.2 提示與實(shí)現(xiàn)要求基本數(shù)據(jù)信息圖書資料基本信息:圖書編號、中圖分類號、書名、作者、出版社、出版日期、ISBN、版次、定價(jià)等。圖書的擴(kuò)展信息:借閱狀態(tài)(空閑、借出和預(yù)約)、借閱人或預(yù)約人(借書證號),借閱時(shí)間。讀者的基本信息:借書證號、讀者姓名、讀者單位、讀者類別(本科生、研究生、教師)讀者的擴(kuò)展信息:已借圖書的冊數(shù)等。 數(shù)據(jù)結(jié)構(gòu)用兩個(gè)鏈表分
16、別存儲(chǔ)圖書信息和讀者信息,具體的鏈表結(jié)構(gòu)由同學(xué)們自行設(shè)計(jì),可以采用較簡單的單鏈表,也可以采用較為復(fù)雜的鏈表結(jié)構(gòu),如對于圖書,可以先建立中圖分類號的鏈表,對于每種分類則可以再組織一個(gè)單獨(dú)的鏈表;對于讀者,則可以先建立讀者單位鏈表,為每個(gè)單位建立一個(gè)單獨(dú)的讀者鏈表。注:中圖分類號可以在網(wǎng)上搜到,為了簡化設(shè)計(jì),不要求同學(xué)們細(xì)化中圖分類號,只考慮大類,如:TB 一般工業(yè)技術(shù),TD 礦業(yè)工程,TE石油、天然氣工業(yè),TF 金工業(yè),TG 金屬學(xué),TH 機(jī)械TJ 武器工業(yè),TK 動(dòng)力工業(yè),TL 原子能技術(shù),TM 電工技術(shù), TN 無線電電子學(xué)、通信技術(shù),TP 自動(dòng)化技術(shù)、計(jì)算技術(shù)等。 功能提示1)、圖書和讀者
17、信息的插入功能:參照在鏈表中插入一個(gè)節(jié)點(diǎn)的方法。2)、圖書和讀者信息的插入功能:參照在鏈表中插入一個(gè)節(jié)點(diǎn)的方法。3)、圖書和讀者信息的刪除功能:參照鏈表的刪除操作方法。4)、圖書和讀者信息的修改功能:在鏈表中尋找相應(yīng)的記錄并修改。5)借書功能:圖書狀態(tài)由空閑變?yōu)榻璩?,借書讀者的借書冊數(shù)等相關(guān)信息發(fā)生變化。(可選:有超期圖書的讀者不能借書,超過借閱權(quán)限數(shù)不能借書)。6)還書功能:圖書狀態(tài)發(fā)生變化,由借出狀態(tài)變?yōu)榭臻e或預(yù)約狀態(tài)。7)預(yù)約功能:圖書借出時(shí)才能由其他讀者使用預(yù)約功能,該圖書歸還后只有預(yù)約讀者才能借出。8)統(tǒng)計(jì)功能:“統(tǒng)計(jì)館藏書籍總數(shù)、已借出圖書總數(shù)、在館書籍?dāng)?shù)、統(tǒng)計(jì)過期書及其借閱者信息
18、”等功能都可以通過遍歷整個(gè)鏈表的方式得到;所有圖書的列表輸出、所有讀者信息的列表輸出功能同樣可以用遍歷鏈表的方式得到,要求輸出結(jié)果分別存在books.txt和reader.txt文件中。測試要求1、要求準(zhǔn)備分別至少有10條記錄的圖書信息文件(bookt.txt)和讀者信息文件(reader.txt),便于進(jìn)行上機(jī)測試;2、對空鏈表、沒有記錄或沒有文件等情況進(jìn)行處理的驗(yàn)證;文件操作是否正確的驗(yàn)證;對記錄進(jìn)行操作的相關(guān)測試等;3、就某些功能實(shí)現(xiàn)情況及其實(shí)現(xiàn)細(xì)節(jié)進(jìn)行現(xiàn)場解答。4、編譯環(huán)境可為Turbo C+ 3.0 或 VC+ 6.0。附錄二: 編程規(guī)范1、空行每個(gè)函數(shù)定義結(jié)束之后都要加空行。在一個(gè)函數(shù)體內(nèi),邏揖上密切相關(guān)的語句之間不加空行,其它地方應(yīng)加空行分隔。2、代碼行一行代碼只做一件事情,如只定義一個(gè)變量,或只
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人財(cái)產(chǎn)安全設(shè)備銷售與租賃合同
- 外墻保溫裝飾一體板施工合同
- 學(xué)校專家聘用合同
- 關(guān)于提高工作效率的溝通機(jī)制研究報(bào)告
- 鄉(xiāng)村發(fā)展行動(dòng)指導(dǎo)書
- 制造業(yè)企業(yè)數(shù)字化轉(zhuǎn)型實(shí)施方案
- 核電安全施工方案模板
- 籃球場工程施工方案
- 河南電力電纜線槽施工方案
- 建筑工程切險(xiǎn)保險(xiǎn)合同
- DB12T 1315-2024城市內(nèi)澇氣象風(fēng)險(xiǎn)等級
- 歷史-浙江天域全國名校協(xié)作體2025屆高三下學(xué)期3月聯(lián)考試題和解析
- 軟膠囊成本結(jié)構(gòu)分析-深度研究
- 2025年安徽國防科技職業(yè)學(xué)院單招職業(yè)技能考試題庫必考題
- 客房專業(yè)知識培訓(xùn)課件
- 高等數(shù)學(xué)(慕課版)教案 教學(xué)設(shè)計(jì)-1.3 極限的運(yùn)算法則;1.4 極限存在準(zhǔn)則與兩個(gè)重要極限
- GA/T 761-2024停車庫(場)安全管理系統(tǒng)技術(shù)要求
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)(創(chuàng)新創(chuàng)業(yè)課程)完整全套教學(xué)課件
- 人教版小學(xué)數(shù)學(xué)四年級下冊第一單元測試卷附答案(共9套)
- (完整版)形式發(fā)票模版(國際件通用)
- GM∕T 0036-2014 采用非接觸卡的門禁系統(tǒng)密碼應(yīng)用指南
評論
0/150
提交評論