C語言小學期實驗指導(dǎo)書-2011年秋_第1頁
C語言小學期實驗指導(dǎo)書-2011年秋_第2頁
C語言小學期實驗指導(dǎo)書-2011年秋_第3頁
C語言小學期實驗指導(dǎo)書-2011年秋_第4頁
C語言小學期實驗指導(dǎo)書-2011年秋_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

PAGEPAGE1北京郵電大學信息與通信工程學院信息工程專業(yè)10級C程序設(shè)計實踐實驗指導(dǎo)書信息理論與技術(shù)教研中心2011年8月實驗?zāi)康耐ㄟ^本實驗鞏固《C語言程序設(shè)計》課程教學成果,深入理解結(jié)構(gòu)體、指針、鏈表、動態(tài)分配內(nèi)存和文件操作等C程序設(shè)計中的中高級技術(shù),熟練掌握C語言的調(diào)試方法,初步培養(yǎng)良好的編程習慣和編程風格,初步學習程序文檔的撰寫方法。題目實驗室物料管理系統(tǒng)航班信息管理系統(tǒng)個人記賬系統(tǒng)運動會管理系統(tǒng)課程設(shè)計以分組形式完成,每組3人,可任意選擇做同一題目的同學組隊,每組推選組長一名(最好在小班范圍內(nèi)組合)。課程設(shè)計完成后,程序檢查以各組依次答辯的方式進行,根據(jù)每組的整體成績及每個組員的個人分工與貢獻,分別給定每個同學的成績。分組名單請各小班學委在第一周周三前上報至指導(dǎo)老師,指導(dǎo)老師確認后給各組分配組號。有關(guān)四個題目的具體要求詳見附錄一。具體安排(1)第一周的第一天(即8月30號上午8:30-11:30):上課,老師說明課程設(shè)計要求,講解題目,并給出具體思路。(2)第一周的其余時間:學生調(diào)研、進行可行性研究、確定程序的系統(tǒng)框架。(3)第二周:學生根據(jù)所選題目開發(fā)出一個基本系統(tǒng),進行調(diào)試和測試,并加以完善。集中答疑時間:第一周周四上午8:30~11:30,第二周周二上午8:30~11:30,地點:教三樓818.QQ群在線答疑:92093015實驗場地主樓1121機房,憑學生證免費上機。機房開放時間:課程設(shè)計兩周中,8月25日~9月4日上午8:30~11:30,下午2:00~5:00。調(diào)試環(huán)境Visualstudio2008考核方式總評分分為兩部分:一部分是分組答辯打分,由指導(dǎo)老師逐組驗收后根據(jù)每組的整體成績及每個組員的個人分工與貢獻,分別給定每個同學的成績,占60%;另一部分由各指導(dǎo)老師根據(jù)實驗報告打分,占40%。(一)分組驗收時間:第二周周五(9月4日)下午1:00;具體安排:各組演示時間為7分鐘,提問3分鐘。驗收要求:答辯分為PPT講解和程序演示兩部分。PPT給出程序設(shè)計思路、完成的基本功能和擴展功能、組員分工等。程序演示主要驗證主要功能的正確性以及對提問進行回答。提前做好答辯PPT,嚴格把握答辯時間,到時間未講解完成也必須停止;根據(jù)指導(dǎo)教師要求進行程序運行和演示,提前準備好供演示用的數(shù)據(jù)文件,以免浪費時間。(如果在現(xiàn)場輸入數(shù)據(jù),小組成員每人扣5分)演示結(jié)束后,指導(dǎo)教師會針對程序中某些細節(jié)進行提問,根據(jù)程序分工由指定同學進行回答。(二)實驗報告的要求C程序設(shè)計實踐的實驗報告應(yīng)包括如下內(nèi)容:功能描述,特別是對于自己實現(xiàn)的擴展功能要進行詳細描述。數(shù)據(jù)結(jié)構(gòu)描述,對于所采用的數(shù)據(jù)組織方式進行描述,必要時采用圖示方式或?qū)⒔Y(jié)構(gòu)定義附在這一部分。程序模塊描述:對主要模塊的功能、輸入輸出接口等加以說明。組內(nèi)分工描述,說明各人在組內(nèi)的分工,完成的主要模塊。主要功能塊的流程圖。各種功能的測試記錄,特別是擴展功能的測試記錄、結(jié)果及說明。調(diào)試過程中的主要問題及難點。心得體會。要求實驗報告著重對本人負責完成的部分進行重點描述,但對于系統(tǒng)的整體實現(xiàn)原理也應(yīng)全面覆蓋。(三)提交的內(nèi)容及提交方式電子版程序:內(nèi)容:本次小學期結(jié)束后,每組同學共同提交一份電子版源程序,包括源代碼和注釋、編譯鏈接生成的目標文件、可執(zhí)行文件、測試過程中所生成的文本文件、以及含組員名單和分工說明的文本文件。請將所有文件壓縮成rar格式以一個文件提交。文件命名:組號_題目編號.rar;組號在各班提交分組名單后統(tǒng)一確定,答辯的順序即根據(jù)組號由小到大進行。提交方式:FTP上傳。IP:9;用戶名-cprogram000;密碼-bupt000。兩個目錄:upload是上傳的文件夾不可下載,請上傳至對應(yīng)班級的目錄下;download是有關(guān)題目、要求和驗收通知,可下載。紙版實驗報告:每個同學各自提交一份紙版實驗報告,實驗報告要求詳見上述“六(二)”。由各班學習委員統(tǒng)一收齊后,于課程設(shè)計結(jié)束后的下一個周一,即9月7日下午5:00前以班為單位交到教三樓818室。設(shè)計報告中一定要注明自己的班級、學號、姓名、聯(lián)系方式(郵件和電話),方便指導(dǎo)老師聯(lián)系大家。同時請?zhí)峤灰环菁埌嬖O(shè)計報告成績單,模版請在ftp上下載,并請將個人相關(guān)部分填寫完整。注意事項(一)獨立完成任何人必須有相應(yīng)的分工,不得抄襲、拷貝。凡發(fā)現(xiàn)不同組的程序雷同,或任何同學的實驗報告雷同,涉及的全部人員本次課程設(shè)計成績?yōu)椴缓细?。(二)指?dǎo)老師聯(lián)系方式Name別志松Emailzhisongbie@Tel62284023Lab教三樓818

附錄一:C程序設(shè)計實踐題目題目一實驗室物料管理系統(tǒng)1.1題目背景和記錄信息說明實驗室管理很重要的一項就是對材料和設(shè)備等物料進行管理。實驗室物料管理系統(tǒng)要求用C語言實現(xiàn)對電子元器件、設(shè)備和儀器儀表等的購入、借出(使用)、報廢等情況進行更新并記錄,每條記錄包含設(shè)備等的類型、名稱、型號、單價、庫存數(shù)量、借出數(shù)量等信息。系統(tǒng)可以進行簡單統(tǒng)計,如某種型號設(shè)備的總數(shù)量;可以進行簡單排序,如按照庫存量的降序進行排序等。物料記錄信息舉例說明如下。類別:主要分為設(shè)備(如計算機、打印機等)、儀器儀表(如示波器、信號發(fā)生器等)、單元電路(由多種元器件和芯片等組合在一起、完成特定功能的電路成品或半成品,如開發(fā)板、電源模塊等)、芯片(如運算放大器)、分立元器件(如電感、電阻、電容等)等5大類,可用數(shù)字1~5分別代表物料的5種大的分類。名稱:如類別1中的計算機,類別5的電感、電阻等;型號:假設(shè)型號和物料的最細節(jié)分類相對應(yīng),即同一型號的物料,其用途、單價、參數(shù)值/封裝等完全一致。同一型號的物料僅對應(yīng)于一條記錄。對于電阻、電容等,可以是其參數(shù)值。單價:第一次某條創(chuàng)建物料記錄時需要設(shè)定,同一型號物料后續(xù)購入或歸還均不需更新或修改單價信息。庫存數(shù)量:顯示物料目前可用的數(shù)量;借出數(shù)量:顯示物料目前已被占用的數(shù)量。程序?qū)崿F(xiàn)功能具體說明如下。2.2程序功能本程序的基本要求是利用單鏈表存儲結(jié)構(gòu)完成對物料信息的動態(tài)管理,要求實現(xiàn)如下的基本功能。菜單操作在屏幕上顯示菜單,通過輸入0-X之間的數(shù)字調(diào)用相應(yīng)的功能函數(shù)。創(chuàng)建鏈表即在鏈表尚不存在的情況下,逐個輸入物料記錄信息,如類別、物料名稱、型號、數(shù)量等。注意:(1)假設(shè)新創(chuàng)建鏈表時只增加庫存數(shù)量而缺省地保持借出數(shù)量為0;(2)申請內(nèi)存空間,驗證輸入數(shù)據(jù)是否符合要求,設(shè)置輸入結(jié)束標志。顯示鏈表顯示當前鏈表中的所有記錄,即每種物料的庫存和借出情況。注意輸出格式的直觀。添加新的物料記錄當購入庫存中沒有的物料時,需要添加新的物料記錄。缺省情況下,在鏈表的末尾添加記錄。物料記錄更新要根據(jù)物料外借、歸還、后續(xù)購買或報廢等不同情況進行物料信息的更新。例如,當外借物料時,需要根據(jù)借出的數(shù)量,減少庫存數(shù)量而增加外借數(shù)量;當歸還物料時,增加庫存而減少外借數(shù)量;當后續(xù)購買庫存已有的物料時,需要增加庫存信息而保持外借數(shù)量不變;當報廢已借出的物料時,需要減少外借數(shù)量而保持庫存信息不變。刪除記錄刪除指定型號的物料記錄。注意:刪除記錄要釋放該記錄占用的內(nèi)存空間。查詢記錄按型號查找并顯示記錄??蓴U展為按照多種方式查找。保存文件將物料信息保存到指定文件(wrecord.txt)中。讀取記錄從指定的文件(rrecord.txt)中讀入所有物料記錄。排序根據(jù)庫存數(shù)量進行排序。統(tǒng)計:統(tǒng)計各類別物料的庫存數(shù)量。并保存到文件total.txt中。退出結(jié)束軟件操作,釋放內(nèi)存后退出。2.3數(shù)據(jù)結(jié)構(gòu)將同一型號的物料作為一個結(jié)構(gòu)體類型的結(jié)點,其中至少含有下列信息:類別、名稱、型號、單價、庫存數(shù)量、借出數(shù)量,以及指向后續(xù)結(jié)點的指針等。2.4具體技術(shù)指針、結(jié)構(gòu)體的應(yīng)用單向鏈表的建立、插入、添加及刪除等文件的讀寫簡單算法:如排序算法等2.5功能擴展對于每一項功能,應(yīng)該對可能出現(xiàn)的異常操作進行處理,如提示重新輸入或給出錯誤提示后成功返回主菜單界面,以免軟件運行異常退出或掛起。除了基本功能和異常處理,鼓勵進行以下擴展或改進:有創(chuàng)意的設(shè)計采用改進程序性能的其他方法(如執(zhí)行效率、訪問速度、內(nèi)存占用量、靈活性、可移植性等)友好的輸入界面;鼓勵圖形化界面的設(shè)計對輸入數(shù)據(jù)的對錯判斷等程序的簡潔明了和可讀性等功能擴展如模糊匹配查找,確認后再進行后續(xù)操作等;如設(shè)計并添加物料記錄的其他信息,如封裝類型、主要參數(shù)等;如采用雙鏈表,增加物料外借人員的記錄;如設(shè)置軟件操作權(quán)限等。2.6測試要求1、要求準備分別至少有10條記錄的記賬信息文件(account.txt),便于進行演示;2、對空鏈表、沒有記錄或沒有文件等情況進行處理的驗證;文件操作是否正確的驗證;對記錄進行操作的相關(guān)測試等;

題目二航班信息管理系統(tǒng)題目簡述國際化的社會我們離不開快捷的交通工具,航班信息的保存和管理將變得十分必要。本課題旨在建立一個航班信息管理系統(tǒng),系統(tǒng)中保存著各航線、航班號、航班日期、機型以及所屬公司(國航、南航、美聯(lián)航、漢莎等)等信息,通過該系統(tǒng)的簡單界面可以對文件進行新建、瀏覽、查找、更新、刪除等操作。具體要求1、基本功能:(1)添加記錄先判斷鏈表是否已經(jīng)存在。若不存在,需首先自動新建一個鏈表,然后再添加一條或多條通訊記錄。(2)顯示記錄顯示當前所有記錄。(3)查詢記錄按命名查找,并顯示該記錄。(4)航班號的排序按航班號的字母順序排序,涉及到冒泡等排序算法。(5)刪除記錄實現(xiàn)逐條刪除和刪除全部記錄兩種功能。(6)更新記錄修改已存在記錄的信息(提示:需首先判斷該記錄是否存在)。(7)按關(guān)系類別顯示記錄只顯示指定航空公司的記錄(國航、南航、美聯(lián)航、漢莎)的記錄。(8)保存記錄存儲所有記錄到某個文件(.txt)或缺省文件(flight.txt)。(9)讀入記錄從某個文件(.txt)或缺省文件(flight.txt)讀入所有記錄。首先判斷當前是否有記錄在進行操作,若有,進行存儲或放棄存儲,然后釋放內(nèi)存空間,之后才能從文件讀入記錄。(10)退出結(jié)束軟件操作,釋放內(nèi)存后退出。2、數(shù)據(jù)錄入提示(1)航線自己對航線的命名。為了實現(xiàn)排序,可以輸入英文或拼音的姓名,便于調(diào)用字符串比較等函數(shù)進行比較排序。(2)航班號每個航空公司的開頭字母應(yīng)該相同(3)航班日期輸入時要判斷一下是否是正確的日期格式。(類似對輸入數(shù)據(jù)的判斷可作為擴展,不是必須實現(xiàn)的功能)。(4)機型737,747,757,A-380(5)所屬公司可以為國航,南航,美聯(lián)航或漢莎的一種,用于進行條件顯示,即只顯示與航班有某種關(guān)系的記錄。3、其他實現(xiàn)提示對于每一項功能,應(yīng)該對可能出現(xiàn)的異常操作進行處理,如提示重新輸入或給出錯誤提示后成功返回主菜單界面,以免軟件運行異常退出或掛起。除了基本功能和異常處理,鼓勵進行以下擴展或改進:有創(chuàng)意的設(shè)計采用改進程序性能的其他方法(如執(zhí)行效率、訪問速度、占內(nèi)存量、靈活性、可移植性等)友好的輸入界面;對輸入數(shù)據(jù)的對錯判斷等;功能擴展;程序的簡潔明了和可讀性等。主要數(shù)據(jù)結(jié)構(gòu)結(jié)構(gòu)體Air:包含AirLine,Number,Date,Plane,Company(與航線的關(guān)系)以及Air類型的指針(用于鏈表操作)等成員變量。具體技術(shù)指針、結(jié)構(gòu)體的應(yīng)用單向鏈表的建立,插入,添加及刪除等文件的讀寫簡單算法:如排序算法等測試要求1、要求準備至少有10條記錄的文件(flight.txt),便于進行上機測試;2、對空鏈表、沒有記錄或沒有文件等情況進行處理的驗證;文件操作是否正確的驗證;對記錄進行操作的相關(guān)測試等;3、就某些功能實現(xiàn)情況及其實現(xiàn)細節(jié)進行現(xiàn)場解答。

題目三個人記賬系統(tǒng)2.1題目背景理財從記賬開始。個人記賬系統(tǒng)要求用C語言實現(xiàn)收入、支出信息的記錄,包括收入支出行為的時間,涉及的幣種、幣值,所屬的門類,比如收入的父母贊助、學校補助以及個人勞動所得,支出的衣、食、行、娛樂等;而且可以根據(jù)所記錄的信息進行統(tǒng)計,例如余額、總收入與總支出,月度開銷,各項門類的比例等。具體的要求如下。2.2程序功能本程序利用單鏈表存儲結(jié)構(gòu)完成對個人收支信息的動態(tài)管理,要求實現(xiàn)如下的基本功能。菜單操作在屏幕上顯示菜單,通過輸入0-X之間的數(shù)字調(diào)用相應(yīng)的功能函數(shù)。創(chuàng)建鏈表即輸入收支信息,按照提示信息輸入序號、時間、收或支、金額、門類、余額等。注意:申請內(nèi)存空間,驗證輸入數(shù)據(jù)是否符合要求,設(shè)置輸入結(jié)束標志。顯示鏈表顯示當前鏈表中的所有記錄。注意輸出格式的直觀。插入記錄插入記錄需要輸入插入位置和新記錄信息。輸入某個記錄的序號,新結(jié)點將插入在這個指定記錄之前。刪除記錄刪除指定時間或序號的記錄。注意刪除記錄要釋放該記錄占用的內(nèi)存空間。查詢記錄按序號或門類查找并顯示記錄。(可擴展為按照多種方式查找)更新記錄修改已存在記錄的分量信息。保存文件將收支信息保存到指定文件(waccount.txt)中。讀取記錄從指定的文件(raccount.txt)中讀入所有記錄。排序根據(jù)時間、金額或者門類進行排序。統(tǒng)計:統(tǒng)計各類別的收入或者支出數(shù)額,并保存到文件total.txt中。退出結(jié)束軟件操作,釋放內(nèi)存后退出。2.3數(shù)據(jù)結(jié)構(gòu)將一次收支行為信息作為一個結(jié)構(gòu)體類型的結(jié)點,其中至少含有下列類型的信息:序號、時間、大類別(收入或支出)、涉及幣種、涉及幣值、具體門類、當時余額,以及指向后續(xù)結(jié)點的指針等。2.4具體技術(shù)指針、結(jié)構(gòu)體的應(yīng)用單向鏈表的建立,插入,添加及刪除等文件的讀寫簡單算法:如排序算法等2.5功能擴展對于每一項功能,應(yīng)該對可能出現(xiàn)的異常操作進行處理,如提示重新輸入或給出錯誤提示后成功返回主菜單界面,以免軟件運行異常退出或掛起。除了基本功能和異常處理,鼓勵進行以下擴展或改進:有創(chuàng)意的設(shè)計采用改進程序性能的其他方法(如執(zhí)行效率、訪問速度、占內(nèi)存量、靈活性、可移植性等)友好的輸入界面;對輸入數(shù)據(jù)的對錯判斷等;功能擴展;程序的簡潔明了和可讀性等。2.6測試要求1、要求準備分別至少有10條記錄的記賬信息文件(account.txt),便于進行演示;2、對空鏈表、沒有記錄或沒有文件等情況進行處理的驗證;文件操作是否正確的驗證;對記錄進行操作的相關(guān)測試等;

題目四運動會管理系統(tǒng)4.1題目背景某大型運動會需要一個管理系統(tǒng)對所有參與的運動員及其成績進行統(tǒng)一管理,本題目要求用C語言設(shè)計一個運動會管理系統(tǒng),能夠增加、刪除運動員和修改運動員成績,并實現(xiàn)各種統(tǒng)計功能。4.2程序功能本程序利用單鏈表存儲結(jié)構(gòu)完成對運動員的動態(tài)管理,要求實現(xiàn)如下的基本功能。菜單操作在屏幕上顯示菜單,通過輸入0-X之間的數(shù)字調(diào)用相應(yīng)的功能函數(shù)。創(chuàng)建鏈表即輸入運動員信息,按照提示信息輸入運動員編號、姓名、代表團、參加項目等。注意:一個運動員參加多個項目者需要有多條記錄。顯示鏈表顯示當前鏈表中的所有記錄。注意輸出格式。刪除記錄刪除指定序號的記錄。注意同時釋放內(nèi)存空間。查詢運動員項目或成績按姓名查找并顯示該記錄。(可擴展為按照姓名和編號兩種方式查找)插入記錄插入記錄需要輸入插入位置和新記錄信息。輸入某個記錄的運動員編號,新結(jié)點將插入在這個指定記錄之前。更新記錄如:在已有列表中修改運動員成績信息。保存文件將運動員信息保存到指定文件(Athletes.txt)中。讀取記錄從指定的文件(Athletes.txt)中讀入所有記錄。計算:每個項目的前8名計算成績,第一名10分,第二名8分,第三名7分,第四名至第八名分別獲得5~1分,計算各代表團積分。統(tǒng)計:生成獎牌榜、總積分榜(以代表團為單位)等,生成某一個項目的參賽人員名單。退出結(jié)束軟件操作,釋放內(nèi)存后退出。注意進行退出操作以前需要重新寫文件。4.3數(shù)據(jù)結(jié)構(gòu)將一個運動員參加一個項目的相關(guān)信息當作一個結(jié)點,這個結(jié)點的類型為結(jié)構(gòu)體,其中至少含有下列類型的信息:編號、運動員編號、姓名、參加項目、所屬代表團、項目名次、以及指向后面結(jié)點的指針等。4.4功能擴展一般的實現(xiàn)方法是一個(對、隊)運動員每參加一個項目就增加一條記錄,鼓勵其他實現(xiàn)方式,如每一個運動員對應(yīng)一條記錄,他參加的每一個項目及成績用其他方法存儲。同時鼓勵其他創(chuàng)意的和具有

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論