版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2011級(jí)電子信息、光信息專業(yè)及物理學(xué)專業(yè)高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)大綱一、課程設(shè)計(jì)目的高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)是電子信息、光信息專業(yè)以及物理學(xué)專業(yè)集中實(shí)踐性環(huán)節(jié)之一,是學(xué)習(xí)完高級(jí)語(yǔ)言程序設(shè)計(jì)課程后進(jìn)行的一次全面的綜合練習(xí),其目的在于加深對(duì)程序設(shè)計(jì)基本知識(shí)的理解,掌握使用C語(yǔ)言進(jìn)行模塊化軟件設(shè)計(jì)的基本方法,提高通過(guò)編寫程序解決實(shí)際問題的能力,為今后從事設(shè)計(jì)工作和后續(xù)各種編程課程的學(xué)習(xí)打好基礎(chǔ)。二、課程設(shè)計(jì)內(nèi)容及要求用C語(yǔ)言制作一個(gè)小型軟件系統(tǒng)。所設(shè)計(jì)的系統(tǒng)雖屬“小型”,但應(yīng)包括有完整軟件中常見的技術(shù)要素和功能,如軟件封面、用戶登錄、主菜單、功能化模塊、操作幫助等。每位學(xué)生在附錄中的課程設(shè)計(jì)題中可
2、自選一題,要求學(xué)生根據(jù)題目的基本要求,編寫程序,并寫好課程設(shè)計(jì)說(shuō)明書。學(xué)生也可自擬課程設(shè)計(jì)題。每一道課程設(shè)計(jì)題選題人數(shù)不得超過(guò)2人,如兩人選擇同一題,在此題的課程設(shè)計(jì)中不得雷同,否則視為課程設(shè)計(jì)無(wú)效。自擬題人數(shù)不限。課程設(shè)計(jì)題參見附錄。三、課程設(shè)計(jì)時(shí)間課程設(shè)計(jì)時(shí)間設(shè)定為2-3周,在學(xué)習(xí)完高級(jí)語(yǔ)言程序設(shè)計(jì)課程后進(jìn)行。最后2-3次課為課程設(shè)計(jì)演示答辯時(shí)間。四、課程設(shè)計(jì)說(shuō)明書編寫規(guī)范課程設(shè)計(jì)說(shuō)明書是是項(xiàng)目設(shè)計(jì)的理論依據(jù),是整個(gè)設(shè)計(jì)工作的整理和總結(jié),同時(shí)也是審核設(shè)計(jì)能否滿足使用要求的技術(shù)文件之一。此外,從軟件工程的觀點(diǎn)來(lái)看,軟件文檔是軟件的重要組成部分。所以,學(xué)習(xí)寫好課程設(shè)計(jì)說(shuō)明書也是完成課程設(shè)計(jì)的重
3、要內(nèi)容。課程設(shè)計(jì)說(shuō)明書的內(nèi)容:封面(見附錄)目錄(標(biāo)題,頁(yè)次)設(shè)計(jì)任務(wù)(參見附錄)正文,一般有如下幾個(gè)方面的內(nèi)容:l 需求分析l 系統(tǒng)模塊圖l 模塊說(shuō)明l 用戶使用說(shuō)明l 測(cè)試結(jié)果設(shè)計(jì)小結(jié)參考文獻(xiàn)(不少于三則) 書寫格式: 1譚浩強(qiáng).C程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,1999附錄(源程序)課程設(shè)計(jì)說(shuō)明書的編寫要做到內(nèi)容完整、條理清楚、算法清晰、文字通順,字體工整,源程序的書寫格式應(yīng)符合規(guī)范。課程設(shè)計(jì)說(shuō)明書必須用鋼筆、簽字筆書寫或用打印機(jī)打印。紙張規(guī)格為16開,標(biāo)明頁(yè)次,裝訂成冊(cè)。課程設(shè)計(jì)說(shuō)明書應(yīng)在答辯演示之前上交給指導(dǎo)教師。五、課程設(shè)計(jì)的考查由指導(dǎo)教師根據(jù)學(xué)生完成任務(wù)的情況、課程設(shè)計(jì)
4、說(shuō)明書的質(zhì)量和課程設(shè)計(jì)過(guò)程中的工作態(tài)度、答辯演示情況等綜合打分。成績(jī)?cè)u(píng)定實(shí)行優(yōu)秀、良好、中等、及格和不及格五個(gè)等級(jí)。不及格者不能得到相應(yīng)的學(xué)分,需重新做課程設(shè)計(jì),經(jīng)指導(dǎo)教師考核及格后,方可取得相應(yīng)學(xué)分。附圖:課程設(shè)計(jì)說(shuō)明書封面格式三峽大學(xué)理學(xué)院XXXX級(jí)XXXXXXXXXXXX專業(yè)高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)說(shuō)明書 設(shè)計(jì)題目: 班 級(jí): 學(xué) 號(hào): 姓 名: 完成日期: 附錄: 課程設(shè)計(jì)題第一題:為中小學(xué)生編寫一個(gè)與中小學(xué)生智力活動(dòng)有關(guān)的小型程序,可進(jìn)行以下程序處理:求一元二次方程任意根簡(jiǎn)單屏幕游戲小學(xué)算術(shù)測(cè)驗(yàn)系統(tǒng)(含隨機(jī)出題、自動(dòng)評(píng)分、查看正確答案、錯(cuò)題重做功能)簡(jiǎn)單通信錄(要求使用結(jié)構(gòu)體和磁盤文
5、件讀寫)【說(shuō)明】整個(gè)程序應(yīng)有軟件封面、說(shuō)明和幫助文檔功能,并加入用戶登錄(密碼驗(yàn)證)功能程序。封面上應(yīng)標(biāo)明軟件名稱、版本號(hào)、編程者姓名、班級(jí)、完成日期和功能菜單。所有要求用戶輸入處都應(yīng)有適當(dāng)?shù)娜藱C(jī)對(duì)話。整個(gè)程序設(shè)計(jì)應(yīng)按模塊化設(shè)計(jì)的要求,分模塊設(shè)計(jì)和調(diào)試,再完成整個(gè)系統(tǒng)的調(diào)試。每一模塊運(yùn)行結(jié)束都應(yīng)回到主菜單,正常情況下只能從主菜單中退出,且正常退出后應(yīng)有適當(dāng)?shù)母鎰e辭。參考示例:1、軟件封面(參考) * 高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì) * 中小學(xué)生電子助手 * * 程序設(shè)計(jì):XX系XX專業(yè)XXXXXXX年XX月XX日2、登錄成功后主菜單(參考)選擇菜單 a、一元二次方程求根b、五子棋游戲 c、小學(xué)四則運(yùn)
6、算測(cè)驗(yàn) d、通信錄 e、退出 請(qǐng)選擇(a、b、c、d或e):_第二題:工資管理系統(tǒng)設(shè)計(jì) 1、需求分析:工資信息存放在文件中,提供文件的輸入、輸出等操作;要實(shí)現(xiàn)瀏覽功能,提供顯示、排序操作;而查詢功能要求實(shí)現(xiàn)查找操作;另外還應(yīng)該提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)可以分為信息輸入、信息添加、信息瀏覽、信息排序、信息查詢和信息統(tǒng)計(jì)模塊。 3、詳細(xì)設(shè)計(jì) 工資信息采用結(jié)構(gòu)體數(shù)組: Struct Salary_Info int Card_No; /工資卡號(hào) Char name20; /姓名 int month; /月份 float Init_Salary; /應(yīng)發(fā)工資 float
7、Water_Rate; /水費(fèi) float Electric_Rate; /電費(fèi) float Final_Salary; /實(shí)發(fā)工資 SIMAX; /SIMAX中每個(gè)數(shù)組元素對(duì)應(yīng)一個(gè)職工工資信息 (1)主函數(shù)提供輸入、處理和輸出部分的函數(shù)調(diào)用,各功能模塊采用菜單方式選擇。 (2)輸入模塊 按照工資卡號(hào)、姓名、月份、應(yīng)發(fā)工資、水費(fèi)、電費(fèi)的順序輸入信息。 (3)添加模塊 增加新的職工工資信息, 從鍵盤輸入并逐條寫到原來(lái)的輸入文件中, 采用追加而不是覆 蓋的方式。 (4)瀏覽模塊 通過(guò)菜單選擇按照工資卡號(hào)還是姓名瀏覽。 如果按照卡號(hào)瀏覽, 則顯示的記錄按照卡號(hào) 升序輸出;按照姓名瀏覽則按照字典序輸出
8、(調(diào)用排序模塊的排序功能)。 (5)排序模塊 排序模塊提供菜單選擇,實(shí)現(xiàn)按照工資卡號(hào)升序、實(shí)發(fā)工資降序以及姓名字典序排序。排序方法可以選擇冒泡排序、插入排序、選擇排序等。 (6)查詢模塊 實(shí)現(xiàn)按照工資卡號(hào)和姓名的查詢,采用基本的查找方法即可。 第三題:學(xué)生學(xué)籍信息管理系統(tǒng)設(shè)計(jì) 1、需求分析:學(xué)生基本信息、學(xué)生成績(jī)基本信息要存入文件當(dāng)中,因而要提供文件的輸入輸出操作;查詢功能要求提供查找和顯示操作; 刪除功能要求實(shí)現(xiàn)刪除操作; 排序功能要求實(shí)現(xiàn)排序操 作;另外還應(yīng)該提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)可以設(shè)計(jì)為數(shù)據(jù)錄入模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)刪除模塊和數(shù)據(jù)排序模塊。 3、詳
9、細(xì)設(shè)計(jì)參考第二題第四題:通訊錄管理系統(tǒng)設(shè)計(jì) 1、需求分析:信息記錄要存放到文件中去,因而要實(shí)現(xiàn)文件的輸入輸出操作;要實(shí)現(xiàn)數(shù)據(jù)的插入、刪 除、修改和顯示功能,因而要實(shí)現(xiàn)插入、刪除、修改和顯示操作;要實(shí)現(xiàn)按人名或電話號(hào)碼進(jìn)行查詢的功能,因而要提供查找操作;另外還應(yīng)該提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)可以設(shè)計(jì)為數(shù)據(jù)插入模塊、數(shù)據(jù)修改模塊、數(shù)據(jù)刪除模塊、數(shù)據(jù)顯示模塊和數(shù)據(jù)查詢模塊。 3、詳細(xì)設(shè)計(jì): 第一個(gè)模塊主函數(shù)main()的功能是:根據(jù)選單的選項(xiàng)調(diào)用各函數(shù),并完成相應(yīng)的功能。第二個(gè)模塊Menu()的功能是:顯示英文提示選單。第三個(gè)模塊Quit()的功能是:退出選單。第四個(gè)模
10、塊Create()的功能是:創(chuàng)建新的通訊錄。第五個(gè)模塊Add()的功能是:在通訊錄的末尾,寫入新的信息,并返回選單。第六個(gè)模塊Find()的功能是:查詢某人的信息,如果找到了,則顯示該人的信息,如果未找到,則提示通訊錄中沒有此人的信息,并返回選單。第七個(gè)模塊Alter()的功能是:修改某人的信息,如果未找到要修改的人,則提示通訊錄中沒有此人的信息,并返回選單。第八個(gè)模塊Delete()的功能是:刪除某人的信息,如果未找到要?jiǎng)h除的人,則提示通訊錄中沒有此人的信息,并返回選單。第九個(gè)模塊List()的功能是:顯示通訊錄中的所有記錄。第五題:飛機(jī)訂票管理系統(tǒng)設(shè)計(jì)1、需求分析:航班信息用文件保存, 因
11、而要提供文件的輸入輸出操作; 航班信息瀏覽功能需要提供顯 示操作;要查詢航線需要提供查找功能;另外要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):該系統(tǒng)設(shè)計(jì)為航班信息輸入模塊、航班信息瀏覽模塊和航線查詢模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體數(shù)組,設(shè)計(jì)航班結(jié)構(gòu)體如下: Struct Char flightNo10; /航班號(hào) Char start10; /起始站 Char end10; /終點(diǎn)站 Float day; /飛行時(shí)間 Int totalTicket; /預(yù)售票總數(shù) Int sellTicket; /已售票總數(shù) FlightN; /航班結(jié)構(gòu)體 (1)航班信息輸入模塊 把航班信息寫
12、入航班信息文件。 (2)航班信息瀏覽模塊 讀文件然后顯示即可。 (3)航線查詢模塊 通過(guò)菜單選擇查詢方式,提供按照航班號(hào)、起點(diǎn)站、終點(diǎn)站和飛行時(shí)間查詢。采用基本查找算法即可。 第六題:職工信息管理系統(tǒng)設(shè)計(jì)1、 需求分析:系統(tǒng)要以菜單方式工作, 因而要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇; 職工信息采用文 件保存,因而要提供文件的輸入輸出操作;要實(shí)現(xiàn)職工信息的瀏覽功能,則要提供信息顯示 操作;要實(shí)現(xiàn)職工信息查詢功能,則要提供查找操作(按學(xué)歷查詢和按職工號(hào)查詢兩種查詢方式) ;要實(shí)現(xiàn)職工信息刪除、修改功能則要提供文件記錄的刪除、修改操作。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)被設(shè)計(jì)為職工信息輸入模塊、職工信息瀏覽模
13、塊、職工信息查詢模塊和職工信息刪除與修改模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,設(shè)計(jì)職工信息結(jié)構(gòu)體: Struct employeeInfo Char jobNo10; /職工號(hào) Char name20; /姓名 Char sex; /性別 Int age; /年齡 Char eduLevel10; /學(xué)歷 Float salary; /工資 Char addr; /地址 Char tel11; /電話 EmpInfo; /職工信息結(jié)構(gòu)體 (1)職工信息輸入模塊 把職工信息寫入文件。 (2)職工信息瀏覽模塊 讀文件然后顯示即可。 (3)職工信息查詢模塊 通過(guò)菜單選擇查詢方式,提供按學(xué)歷查詢和
14、按職工號(hào)查詢兩種查詢方式。采用基本查找算法即可。 (4)職工信息刪除與修改模塊 通過(guò)菜單選擇刪除操作,由于 C 語(yǔ)言沒有提供直接刪除文件記錄的函數(shù),因而需要自 己實(shí)現(xiàn):讀記錄,判斷是否要?jiǎng)h除(與輸入的要?jiǎng)h除的記錄比較),如果要?jiǎng)h除,則舍棄; 否則重新寫入文件。修改操作于刪除操作類似,只是判斷是否是要修改的記錄,如果是,則把修改后的記錄寫入文件,否則直接寫入文件。第七題:圖書管理系統(tǒng)設(shè)計(jì)1、需求分析:圖書管理信息采用文件保存, 因而要提供文件的輸入輸出操作; 要實(shí)現(xiàn)對(duì)圖書基本信息 的查詢,則要提供查找操作(提供按書名、作者名查詢兩種查詢方式)和顯示操作;要實(shí)現(xiàn) 對(duì)撤銷圖書信息的刪除則要提供文件記
15、錄的刪除操作; 辦理借書或還書手續(xù)需要提供修改操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)被設(shè)計(jì)為數(shù)據(jù)輸入模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)刪除模塊和數(shù)據(jù)修改模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,設(shè)計(jì)圖書信息結(jié)構(gòu)體: Struct bookManageInfo Char bookName20; /圖書名稱 Char bookCode20; /圖書編號(hào) Float price; /圖書價(jià)格 Char author10; /作者 Int state; /存在狀態(tài),0 代表可以出借,1 代表已經(jīng)借出 Char borrowerName10; /借書人姓名 Int sex; /借
16、書人性別,0 代表女,1 代表男 Char stuNo10; /借書人學(xué)號(hào) bookMInfo; (1)數(shù)據(jù)輸入模塊 把圖書基本信息寫入圖書信息文件。 (2)數(shù)據(jù)查詢模塊 通過(guò)菜單選擇查詢方式, 提供按書名查詢和按作者名查詢兩種查詢方式。 采用基本查找 算法即可。 (3)數(shù)據(jù)刪除模塊 通過(guò)菜單選擇刪除操作,由于 C 語(yǔ)言沒有提供直接刪除文件記錄的函數(shù),因而需要自己 實(shí)現(xiàn):讀記錄,判斷是否要?jiǎng)h除(與輸入的要?jiǎng)h除的記錄比較) ,如果要?jiǎng)h除,則舍棄;否 4 則重新寫入文件。 (4)數(shù)據(jù)修改模塊 辦理借書手續(xù)時(shí),先要在文件中查找要借的書的存在狀態(tài),若可以出借,則允許借出, 把借書人姓名、性別和學(xué)號(hào)添加
17、到該書的記錄中,并把存在狀態(tài)改為已經(jīng)借出;否則,顯示 “抱歉,該書已借出” 。辦理還書手續(xù)時(shí),在文件中查找該書的記錄,然后把存在狀態(tài)改為 允許出借,把借書人姓名、性別和學(xué)號(hào)刪除。具體修改操作可以參考刪除操作。 第八題:實(shí)驗(yàn)設(shè)備管理系統(tǒng)設(shè)計(jì)1、需求分析:實(shí)驗(yàn)室設(shè)備信息用文件存儲(chǔ), 故要提供文件的輸入輸出操作; 要能夠完成設(shè)備的錄入和 修改,需要提供設(shè)備添加和修改操作;實(shí)現(xiàn)對(duì)設(shè)備進(jìn)行分類統(tǒng)計(jì),需要提供排序操作;實(shí)現(xiàn) 對(duì)設(shè)備的查詢需要提供查找操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)被設(shè)計(jì)為實(shí)驗(yàn)設(shè)備信息輸入模塊、 實(shí)驗(yàn)設(shè)備信息添加模塊、 實(shí)驗(yàn)設(shè)備信息修改 模塊、實(shí)驗(yàn)設(shè)備
18、分類統(tǒng)計(jì)模塊和實(shí)驗(yàn)設(shè)備查詢模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,設(shè)計(jì)實(shí)驗(yàn)設(shè)備信息結(jié)構(gòu)體: Struct equipmentInfo Char equipCode10; /設(shè)備編號(hào) Char equipType20; /設(shè)備總類 Char equipName20; /設(shè)備名稱 float equipPrice; /設(shè)備價(jià)格 char buyDate20; /設(shè)備購(gòu)入日期 int scrap; /是否報(bào)廢,0 表示沒有報(bào)廢,1 表示報(bào)廢 char scrapDate20; /報(bào)廢日期 EquInfo; (1) 實(shí)驗(yàn)設(shè)備信息輸入模塊 把實(shí)驗(yàn)設(shè)備基本信息寫入實(shí)驗(yàn)設(shè)備信息文件。 (2) 實(shí)驗(yàn)設(shè)備信息
19、添加模塊 添加設(shè)備時(shí),把添加的設(shè)備基本信息采用追加的方式寫入設(shè)備信息文件。 (3) 實(shí)驗(yàn)設(shè)備信息修改模塊 修改設(shè)備信息,則需要讀文件,判斷信息是否是要修改的設(shè)備的信息,如果是,修改, 重新寫入文件;否則直接重新寫入文件。(4) 實(shí)驗(yàn)設(shè)備分類統(tǒng)計(jì)模塊 根據(jù)給定的分類標(biāo)準(zhǔn)(設(shè)備種類、設(shè)備名、設(shè)備購(gòu)入日期)對(duì)文件的記錄進(jìn)行排序,排 序方法可以選擇冒泡、插入、選擇等方法。然后采用查找算法查找同類設(shè)備,采用基本的數(shù) 學(xué)運(yùn)算即可統(tǒng)計(jì)同類設(shè)備的相關(guān)信息,比如數(shù)量、價(jià)錢等。 (5) 實(shí)驗(yàn)設(shè)備查詢模塊 通過(guò)菜單選擇查詢方式,提供按設(shè)備編號(hào)、設(shè)備種類、設(shè)備名稱、設(shè)備購(gòu)入日期和設(shè)備狀態(tài)為正常(scrap 字段值為
20、0)這些查詢方式查詢。采用基本查找算法即可。 第九題:儀器儀表管理系統(tǒng)設(shè)計(jì)1、需求分析:儀器儀表信息用文件存儲(chǔ), 故要提供文件的輸入輸出操作; 要能夠完成對(duì)儀器儀表信息 的修改和刪除, 需要對(duì)提供儀器儀表信息修改和刪除操作; 實(shí)現(xiàn)對(duì)儀器儀表信息的查詢和統(tǒng) 計(jì)及顯示操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)儀器儀表管理系統(tǒng)分為儀器表信息輸入模塊、儀器表信息修改和刪除模塊、儀器表信息查詢和統(tǒng)計(jì)模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體: Struct instrumentInfo Char instrName20; /儀器儀表名 Char instrNo10; /儀器儀表編
21、號(hào) Char buyDate20; /購(gòu)買時(shí)間 Char borrowDate20; /借入時(shí)間 Char lendDate20; /借出時(shí)間 Char returnDate20; /歸還時(shí)間 Char repairDate20; /維修時(shí)間 Int state; /狀態(tài)信息(0 代表可借出,1 代表已借出,2 代表正在維修) InstrInfo; (1)輸入模塊 把儀器儀表信息寫入儀器儀表信息文件。 (2)修改和刪除模塊 通過(guò)菜單選擇借出操作,查找文件儀器儀表信息,找到相應(yīng)的儀器儀表,如果儀器儀表 狀態(tài)為 0,則允許借出,在文件中更改儀器儀表狀態(tài)為1,更改借出時(shí)間;否則,即儀器儀 表借出或正
22、在維修,則輸出“抱歉,儀器儀表已借出(正在維修)”這個(gè)過(guò)程是一個(gè)對(duì)文件 ! 查找(讀文件、判斷是否是要查找的紀(jì)錄) 、重新寫入的過(guò)程。 刪除操作只需讀文件,判斷所讀紀(jì)錄是不是要?jiǎng)h除的記錄,如果是,則舍棄;否則重新 寫入文件。 (3)查詢和統(tǒng)計(jì)模塊 通過(guò)菜單選擇查詢或統(tǒng)計(jì)操作,若選擇查詢,則需要再選擇查詢方式:基本信息、時(shí)間 段、時(shí)間點(diǎn)。基本信息查詢,就顯示所有記錄,這是一個(gè)讀文件和輸出的過(guò)程。時(shí)間段查詢, 則要輸入起止時(shí)間和表征字段(可以用 0 表示購(gòu)買起止時(shí)間,1 表示借出起止時(shí)間,2 表示 維修起止時(shí)間) 。例如輸入 2004 1 1 2004 10 10 0 表示查詢 2004 年 1
23、月 1 日到 2004 年 10 月 10 日之間購(gòu)買的儀器儀表信息。則讀一條記錄, 判斷購(gòu)買時(shí)間是否處于起止時(shí)間之間,如果處于,則打印輸出,否則舍棄。借出和維修查詢與此類似。 統(tǒng)計(jì)功能和查詢功能類似,只需要加一個(gè)計(jì)數(shù)變量即可。 第十題:服裝銷售管理系統(tǒng)設(shè)計(jì)1、需求分析:用戶與商品信息要采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;實(shí)現(xiàn)用戶的添加、 修改、刪除,商品信息的添加、修改、刪除、查找等需要提供信息的添加、刪除、修改與查 6 找操作; 實(shí)現(xiàn)商品瀏覽功能的實(shí)現(xiàn)需要實(shí)現(xiàn)顯示操作; 另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn) 功能選擇。 2、總體設(shè)計(jì):整個(gè)服裝銷售系統(tǒng)被設(shè)計(jì)為管理員模塊、店長(zhǎng)模塊、銷售員
24、模塊、商品模塊等,如下圖所示:另外還要實(shí)現(xiàn)各用戶自身信息的管理。3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,構(gòu)造結(jié)構(gòu)體如下: 先建立文本文件 Admin.txt,其中存放管理員的 ID 和密碼及其它信息;文本文件 Shopkeeper.txt, 其中存放店主的用戶名和密碼及其它信息; 文本文件 Seller.txt,其中存放銷售 員的 ID 和密碼及其他信息。 登錄系統(tǒng)時(shí),通過(guò)菜單選擇登錄身份,然后提示輸入用戶 ID 和密碼。 如果以管理員身份登錄,則在 Admin.txt 文件中查找(采用基本的查找算法)輸入的用 戶 ID 和密碼是否存在,如果存在,則允許進(jìn)入,顯示選擇菜單:修改密碼 添加用戶 用 戶
25、信息 商品信息;否則,顯示“輸入的用戶名或密碼錯(cuò)誤!,返回上級(jí)菜單。 ” 店長(zhǎng)與銷售員登錄系統(tǒng)與此類似, 店長(zhǎng)登錄成功后顯示選擇菜單為: 修改密碼 修改個(gè) 人信息 商品信息 查看報(bào)表 商品儲(chǔ)備信息。銷售員登錄成功后顯示選擇菜單為:商品 瀏覽 查找商品 出售商品 本日?qǐng)?bào)表 本月報(bào)表 密碼修改與個(gè)人信息修改既是寫入新的密碼、個(gè)人信息,覆蓋掉原來(lái)的,就是文件的讀 寫操作。在登錄成功后,就標(biāo)志出登錄人員的紀(jì)錄位置,這樣修改信息時(shí),可以直接定位到 修改記錄的位置。 管理員添加用戶, 就是執(zhí)行文件寫操作, 采用追加的方式把用戶信息寫入用戶信息文件 (根據(jù)添加的用戶身份選擇寫入 Shopkeeper.txt
26、 還是 Seller.txt) 。刪除用戶操作,讀取用戶信 息文件,如果讀出的用戶不是要?jiǎng)h除的用戶,則直接重新寫入文件,否則,舍棄。 管理員選擇用戶信息, 將進(jìn)入用戶信息修改和用戶信息統(tǒng)計(jì)的選擇。 用戶信息修改操作, 即查找要修改的用戶信息文件,找到要修改的用戶,寫入修改后的信息覆蓋掉原始信息。用 戶信息統(tǒng)計(jì)操作,讀用戶信息文件,比較統(tǒng)計(jì)信息字段,符合統(tǒng)計(jì)要求則計(jì)數(shù)加 1,最后輸 出符合條件的記錄數(shù)(也可以把符合條件的記錄信息完全輸出) 。 管理員選擇商品信息,則可以選擇商品信息添加、修改、刪除、查找、統(tǒng)計(jì),商品信息 的添加、修改、刪除、統(tǒng)計(jì)操作與用戶信息的相應(yīng)操作類似。查找操作只需采用基本的
27、查找 算法查找商品信息文件即可。 店長(zhǎng)修改密碼和修改個(gè)人信息操作與管理員相應(yīng)操作類似。 店長(zhǎng)的商品信息可以選擇商品信息修改和商品信息統(tǒng)計(jì), 此類操作與管理員的相應(yīng)操作相同。 店長(zhǎng)選擇查看報(bào)表, 則顯示選擇菜單: 日?qǐng)?bào)表 月報(bào)表 商品銷售量報(bào)表 營(yíng)業(yè)員業(yè)績(jī) 報(bào)表。查看日?qǐng)?bào)表,根據(jù)輸入的日期在商品報(bào)表文件中查找,把出售日期與輸入日期符合的 記錄輸出。 查看月報(bào)表操作類似, 查找商品報(bào)表文件中商品出售日期在輸入月份之間的記錄 輸出。商品銷售量報(bào)表,這是一個(gè)統(tǒng)計(jì)的過(guò)程,查找商品報(bào)表,統(tǒng)計(jì)同一商品的銷售量(月 銷售量、年銷售量) 。查看營(yíng)業(yè)員業(yè)績(jī)報(bào)表,則讀銷售員信息文件,把信息打印輸出即可。 店長(zhǎng)查找瀏
28、覽修改商品儲(chǔ)備信息, 查找與修改操作可以參考管理員對(duì)商品的查找與修改操作,瀏覽操作就是把商品儲(chǔ)備信息輸出。 這些操作在該店長(zhǎng)對(duì)應(yīng)的商品儲(chǔ)備信息文件中執(zhí) 行。 注:每個(gè)店長(zhǎng)對(duì)應(yīng)一個(gè)商品儲(chǔ)備信息文件,里面存放該店儲(chǔ)備的商品信息。 文件格式: 店長(zhǎng) ID 商品名 商品代號(hào) 制造商 價(jià)格 銷售員可以選擇商品瀏覽、查找、出售商品、察看自己本日?qǐng)?bào)表、本月報(bào)表。商品瀏覽、查找以及查看自己本日?qǐng)?bào)表、 本月報(bào)表可以參考前面相關(guān)操作。 出售商品操作執(zhí)行的動(dòng)作是:在本店的商品儲(chǔ)備文件中查找要出售的商品,如果存在,則出售,在商品報(bào)表文件和銷售員 銷售文件中添加該商品信息,并把該商品信息從商品儲(chǔ)備文件中刪除。 第十一題
29、:雜志訂閱管理系統(tǒng)設(shè)計(jì)1、需求分析:訂戶的信息要用文件存儲(chǔ), 所以要提供文件的輸入輸出操作; 要實(shí)現(xiàn)增加新訂戶的功能, 所以要提供文件的添加操作;要實(shí)現(xiàn)對(duì)訂戶文件的查詢,所以要提供文件的查找操作;要?jiǎng)h 除已到期的訂戶記錄, 所以要提供文件的刪除操作; 要統(tǒng)計(jì)本期雜志訂戶數(shù)并打印運(yùn)算結(jié)果, 所以要提供統(tǒng)計(jì)和顯示操作;另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):該管理軟件被設(shè)計(jì)為數(shù)據(jù)添加模塊、數(shù)據(jù)刪除模塊和數(shù)據(jù)統(tǒng)計(jì)模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)選擇結(jié)構(gòu)體: Struct subscriberInfo Char name20; /姓名 Int sex; /性別 Char addr20;
30、 /地址 Char tel12; /電話號(hào)碼 Float price; /雜志單價(jià) Int num; /訂閱數(shù) Char date10; /訂閱的期限 subInfo; /訂戶信息結(jié)構(gòu)體 (1)數(shù)據(jù)添加模塊 用追加的方式采用 fwrite 或 fprintf 把新增訂戶信息寫入訂戶信息文件。 (2)數(shù)據(jù)刪除模塊 采用基本的查找算法,查找訂戶信息文件,比較當(dāng)天日期和訂閱期限,如果到期,則刪 除該訂戶記錄。刪除方法:如果判斷該條訂戶信息要?jiǎng)h除,則不再把該條信息寫入文件,繼續(xù)讀下一條訂戶信息。 (3)數(shù)據(jù)統(tǒng)計(jì)模塊 對(duì)本期雜志訂戶數(shù)的統(tǒng)計(jì),就是讀文件,輸出訂戶名、訂閱數(shù)、單價(jià),并計(jì)算金額(單價(jià)*訂閱數(shù)
31、)??梢远x變量統(tǒng)計(jì)訂戶數(shù)、訂閱數(shù)和總金額,最后輸出。 第十二題:人事管理系統(tǒng)設(shè)計(jì)1、需求分析:人事檔案信息采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;根據(jù)學(xué)院人事的變動(dòng)情況,添加刪除記錄,因而要提供文件的添加刪除操作;根據(jù)編號(hào)和姓名進(jìn)項(xiàng)查詢,所以要提供文件的查找操作;高級(jí)編輯功能,就是提供文件的修改操作;統(tǒng)計(jì)功能要提供統(tǒng)計(jì)操作; 排序功能要提供用排序算法對(duì)文件記錄的排序; 另外還要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選 擇。 2、總體設(shè)計(jì):整體設(shè)計(jì)為數(shù)據(jù)輸入模塊、數(shù)據(jù)添加模塊、數(shù)據(jù)刪除模塊、數(shù)據(jù)查詢模塊、數(shù)據(jù)修改模 塊、數(shù)據(jù)統(tǒng)計(jì)模塊、數(shù)據(jù)排序模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體: Struct
32、personnelArchiveInfo Char No10; /編號(hào) Char name10; /姓名 Int sex; /性別 Int age; /年齡 Char job10; /職務(wù) Char post10; /職稱 Char politic10; /政治面貌 Char edu_level10; /最高學(xué)歷 Char period10; /任職時(shí)間 Char start_time10; /來(lái)院時(shí)間 Char type10; /人員類別 PAInfo; (1)數(shù)據(jù)輸入模塊 把員工信息寫入人事檔案文件。 (2)數(shù)據(jù)添加模塊 用追加的方式把新增員工信息寫入人事檔案文件。 (3)數(shù)據(jù)刪除模塊 根
33、據(jù)人員編號(hào)查找要?jiǎng)h除的人員,從文件中讀一條記錄,查看編號(hào)是否要?jiǎng)h除,如果 是,則舍棄,不再寫入文件;否則重新寫入文件。 (4)數(shù)據(jù)查詢模塊 把編號(hào)和姓名作為查詢字段,用基本查找算法查找人事檔案文件,把符合查找要求的 記錄輸出。 (5)數(shù)據(jù)修改模塊 查找要修改的記錄,修改之。先讀記錄,若是要修改的記錄,則修改信息,把修改后的 信息寫入文件;否則直接寫入文件。 (6)數(shù)據(jù)排序模塊 通過(guò)菜單選擇年齡或者來(lái)院時(shí)間, 把數(shù)據(jù)從文件中讀出來(lái), 任意選擇一種排序算法對(duì)記 錄進(jìn)行排序,輸出排序結(jié)果。 (7)數(shù)據(jù)統(tǒng)計(jì)模塊 通過(guò)菜單選擇統(tǒng)計(jì)字段:在職人數(shù)、黨員人數(shù)、女工人數(shù)、高學(xué)歷人數(shù)、高職稱人數(shù)。 例如選擇黨員
34、人數(shù),則統(tǒng)計(jì)運(yùn)算偽碼如下: Count=0; /記錄在職人數(shù) While(文件未讀完) 讀一條記錄; If(政治面貌是黨員) Count+; 輸出該條記錄; 其他字段的統(tǒng)計(jì)運(yùn)算與次類似。 第十三題:機(jī)房機(jī)位預(yù)約模擬管理系統(tǒng)設(shè)計(jì)1、數(shù)據(jù)結(jié)構(gòu) 顧客信息結(jié)構(gòu)體: Struct CusInfo Char name20;/顧客姓名 Int sex; /性別 Char tel11; /電話 CInfo; 機(jī)位信息結(jié)構(gòu)體: Struct Int State6; /機(jī)位狀態(tài),每 2 個(gè)小時(shí)為一個(gè)時(shí)間段,08:00-20:00 共 6 個(gè)時(shí)間段。0 表示有空機(jī)位,1 表示沒有空機(jī)位 CInfo waitlist
35、6; /各個(gè)時(shí)間段的運(yùn)行客戶 Int year; Int month; Int day; /日期 PCInfo; PCInfo info100; /存放 100 天的機(jī)位信息 2、具體實(shí)現(xiàn) (1)查詢 輸入時(shí)間,則遍歷 info 數(shù)組,查看日期(year/month/day),如果日期匹配,則把機(jī)位信息輸出。 (2)機(jī)位預(yù)訂 輸入日期(或時(shí)間段)查詢機(jī)位信息文件,如果日期符合,再查看狀態(tài)字段,若相應(yīng)字段為0,則預(yù)約(即把該用戶信息加入寫入機(jī)位 waitlist 相應(yīng)時(shí)間段中) ;若相應(yīng)字段為 1,則查看本天其他時(shí)間段,尋找最近空時(shí)間段。如果用戶要求在非空時(shí)間上機(jī),則查找 info 數(shù)組中該時(shí)間
36、段為空的元素,把該時(shí)間段的狀態(tài)字段設(shè)為 1,把用戶信息加入機(jī)位當(dāng)天 waitlist 相應(yīng)時(shí)間段中。 (3)退出預(yù)訂 根據(jù)預(yù)訂日期和客戶信息找到預(yù)訂信息,把客戶信息刪除,并把該時(shí)間段的狀態(tài)置為 0。 (4)查詢 輸入日期和時(shí)間段,查看該時(shí)間段的狀態(tài),如為 1,則把相應(yīng)時(shí)間段的運(yùn)行客戶信息打 印輸出。如為 0,則顯示“該時(shí)間段空閑!?!?第十四題:停車場(chǎng)管理系統(tǒng)設(shè)計(jì)1、需求分析:車輛信息要用文件存儲(chǔ),因而要提供文件的輸入輸出操作;當(dāng)車離開時(shí),要?jiǎng)h除文件中 該車的信息, 因而要提供文件的刪除操作; 另外還要提供現(xiàn)實(shí)操作和用鍵盤式菜單實(shí)現(xiàn)功能 選擇。 2、總體設(shè)計(jì):整個(gè)管理系統(tǒng)可以設(shè)計(jì)為停車模塊、取
37、車模塊、車輛信息瀏覽模塊。 3、詳細(xì)設(shè)計(jì) 停車場(chǎng)用二位數(shù)組實(shí)現(xiàn) park26; /2 層,每層有 6 個(gè)車位 每輛車的信息用結(jié)構(gòu)體來(lái)實(shí)現(xiàn),設(shè)立車信息結(jié)構(gòu)體: Struct carInfo Int carNo; /車牌號(hào) Int layerNo; /層號(hào) Int parkNo; /車位號(hào) Int time; /停車時(shí)間 CInfo; (1)停車模塊 對(duì)車輛信息賦值,分配前檢查車位使用情況(按行查找 park 數(shù)組,元素為 0 表示車位 為空,則允許分配) 。把新添加的車輛信息以追加的方式寫入汽車信息文件,并更改汽車信 息文件中其他汽車信息的停車時(shí)間(停車時(shí)間加 5) 。 (2)取車模塊 計(jì)算費(fèi)用
38、(停車費(fèi)用=停車時(shí)間*0.2 元) ,從文件中刪除該車信息。并將該車位對(duì)應(yīng)的 二位數(shù)組變量設(shè)為 0,表示該車位可用。輸出提示信息:是否輸出停車費(fèi)用總計(jì)?(Y/N) 如果選擇 Y,則輸出停車費(fèi)用,否則回到上級(jí)菜單。 (3)車輛信息瀏覽模塊 輸出車輛信息文件中的記錄。 另外,用戶按 Esc 鍵退出系統(tǒng)。 第十五題:建筑工地信息管理系統(tǒng)設(shè)計(jì)1、需求分析:信息采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;要插入數(shù)據(jù),因而要提供數(shù)據(jù)的 添加操作; 要實(shí)現(xiàn)數(shù)據(jù)的刪除、 更新和查詢, 因而要提供文件記錄的刪除、 修改和查找操作; 另外要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)系統(tǒng)可以被設(shè)計(jì)為數(shù)據(jù)
39、輸入模塊、數(shù)據(jù)添加模塊、數(shù)據(jù)刪除模塊、數(shù)據(jù)更新模塊和 數(shù)據(jù)查詢模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,建立四個(gè)結(jié)構(gòu)體: /銷售商-配件-建筑工地結(jié)構(gòu)體 Struct SellerFitBuild Char seller_code10; /銷售商號(hào)碼 Char fit_code10; /配件號(hào) Char build_code10; /工地號(hào) Int num; /銷售數(shù)量 SFB; /seller_code號(hào)銷售商銷售num個(gè)fit_code號(hào)配件給build_code工地 /建筑工地 Struct BuildingSite Char build_code10; /工地號(hào) Char build_
40、name10; /工地名 Char city10; /城市 BS; /配件 Struct Fitting Char fit_code10; /配件號(hào)Char fit_name10; /配件名Char color10; /配件顏色Float weight; /配件重量Char city10; /配件產(chǎn)地Fit; /銷售商 Struct Seller Char seller_code10; /銷售商號(hào)碼 Char seller_name10; /銷售商名字 Char city10; /銷售商城市 Seller; (1)主函數(shù)建立四個(gè)文件,輸出提示用戶操作的信息,選擇操作文件:R銷售商-配件-建筑工
41、地,B建筑工地,F(xiàn)配件,S銷售商,空格鍵查詢。 (2)數(shù)據(jù)輸入模塊 寫數(shù)據(jù)到相應(yīng)文件中。 (3)數(shù)據(jù)插入模塊 采用追加的方式寫數(shù)據(jù)到文件。 (4)數(shù)據(jù)刪除模塊 通過(guò)菜單選擇相應(yīng)的文件后,打開該文件,從文件中讀一條記錄,判斷是否要?jiǎng)h除,如 果是,則舍棄;否則重新寫入文件,讀下一條記錄。 (5)數(shù)據(jù)更新模塊 與數(shù)據(jù)刪除模塊類似,只是判斷所讀的紀(jì)錄是否要更新,如果是,則把更新后的紀(jì)錄寫 入文件,否則直接寫入文件。 (6)按空格鍵進(jìn)入查詢操作 通過(guò)菜單選擇查詢零件-供應(yīng)商或者項(xiàng)目-供應(yīng)商。例如選擇查詢零件-供應(yīng)商。其基本流程如下: 打開銷售商-配件-建筑工地文件; While(文件未結(jié)束) 讀一條記錄
42、,得到銷售商號(hào)碼和配件號(hào); 在銷售商文件中查找該銷售商號(hào)碼,得到該銷售商所在城市; 在配件文件中查找配件號(hào),得到該配件的產(chǎn)地; 如果銷售商所在城市與配件的產(chǎn)地相同,則輸出銷售商號(hào)碼和配件號(hào)碼; 查詢項(xiàng)目-供應(yīng)商記錄對(duì)的操作類似,只需把配件號(hào)改為工地號(hào)即可。 第十六題:電影俱樂部管理系統(tǒng)設(shè)計(jì)1、需求分析:DVD 信息和俱樂部會(huì)員信息用文件存儲(chǔ),因而要提供文件的輸入輸出操作;要注冊(cè)新 會(huì)員,因而要提供文件的添加操作;實(shí)現(xiàn)按月繳納費(fèi)用,因而要提供文件的修改操作;要瀏 覽信息因而要提供顯示操作; 要實(shí)現(xiàn)查詢則要提供文件的查找操作; 另外要提供鍵盤式選擇 菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整體設(shè)計(jì)為會(huì)
43、員注冊(cè)模塊、會(huì)員交費(fèi)模塊、會(huì)員租用 DVD 模塊、會(huì)員歸還 DVD 模塊、 信息瀏覽模塊和信息查詢模塊。 3、詳細(xì)設(shè)計(jì) 采用文件管理信息,建立兩個(gè)文件:DVD 信息文件和會(huì)員信息文件。 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體: /DVD 信息結(jié)構(gòu)體 Struct DVDInfo Char No10; /DVD 編號(hào) Char name10; /DVD 名字 Int state; /DVD 狀態(tài):0 表示已借出,1 表示可出借 DI; /會(huì)員信息結(jié)構(gòu)體 Struct MemberInfo Char No10; /會(huì)員編號(hào) Char name10; /會(huì)員姓名 Char password20; /會(huì)員密碼 Float
44、 balance; /賬戶余額 DI borrowDVD3; /所借 DVD 信息; Int state; /表示租用 DVD 的數(shù)目,取值為 0-3 MI; 分析: 建立 DVD 文件和會(huì)員信息文件,輸出菜單:新用戶注冊(cè)N 直接登錄Enter。如果是 新用戶注冊(cè),則進(jìn)入用戶注冊(cè)模塊。如果直接登錄,則提示輸入用戶名和密碼。普通會(huì)員正 確登錄后顯示:租用 DVDH 歸還 DVDR 繳納費(fèi)用P 賬戶信息D。按相應(yīng)的提示 鍵將進(jìn)入相應(yīng)的模塊。 管理員登錄則顯示: DVD 信息D 會(huì)員信息M 交易信息T。 DVD 信息查看就是分屏輸出 DVD 文件中的記錄,會(huì)員信息就是分屏輸出會(huì)員信息文件中 的記錄,
45、交易信息則輸出租用 DVD 數(shù)不為 0 的會(huì)員信息。 (1)會(huì)員注冊(cè)模塊 提示輸入用戶信息:會(huì)員編號(hào)(昵稱) ,會(huì)員姓名,密碼。將把新的會(huì)員信息添加到會(huì) 員信息文件中,并把賬戶余額初始化為 0,所借 DVD 信息初始化為空。然后系統(tǒng)顯示提示 信息:繳納費(fèi)用?Y/N。按 Y 鍵將進(jìn)入會(huì)員交費(fèi)模塊,N 則返回系統(tǒng)初始界面。 (2)會(huì)員交費(fèi)模塊 提示輸入交費(fèi)金額,則在會(huì)員信息文件中修改其賬戶余額。 (3)會(huì)員租用 DVD 模塊 可以通過(guò)菜單選擇瀏覽 DVD 信息或者租用。瀏覽 DVD 信息調(diào)用信息瀏覽模塊,租用 則首先查看自己的余額,如果0,則查看狀態(tài),如果 state3,則允許出借,提示輸入租用
46、的 DVD 編號(hào),在會(huì)員信息文件中加入該 DVD 信息,state+。并在 DVD 信息文件中把該 DVD 狀態(tài)改為已借出。 (4)會(huì)員歸還 DVD 模塊 提示用戶輸入要?dú)w還的 DVD 編號(hào),把該用戶記錄的該 DVD 信息初始化為空,state-。 同時(shí)在 DVD 信息文件中把其狀態(tài)改為可供出借。 (5)信息瀏覽模塊 瀏覽 DVD 信息,則從 DVD 信息文件中讀記錄,輸出。瀏覽會(huì)員信息文件,則讀會(huì)員信 息文件,輸出。 (6)信息查詢模塊 會(huì)員對(duì)自己賬戶狀況的查詢,則輸出其賬戶信息即可(登錄時(shí)在會(huì)員信息文件中找到自 身信息,事先讀到臨時(shí)變量中)。管理員對(duì)所有交易情況的查看,則查找用戶信息文件,
47、如果用戶的 staet!=0,則輸出用戶信息。 第十七題:歌曲信息管理系統(tǒng)設(shè)計(jì)1、需求分析:用文件存儲(chǔ)信息,因而要提供文件的輸入輸出操作;可對(duì)歌曲信息進(jìn)行輸入、刪除、瀏 覽,因而要提供文件的輸入、刪除和信息顯示操作;查詢歌曲信息要提供查找操作;實(shí)現(xiàn)按 作者分組顯示功能則要提供排序功能;另外要提供鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、總體設(shè)計(jì):整個(gè)管理系統(tǒng)可以被設(shè)計(jì)為數(shù)據(jù)輸入模塊、數(shù)據(jù)刪除模塊、信息瀏覽模塊、信息查詢模塊和信息分組顯示模塊。 3、詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,建立歌曲信息結(jié)構(gòu)體: Struct SongInfo Char name20; /歌曲名 Char author20; /作
48、者 Char singer20; /演唱者 Char pub_date6; /發(fā)行年月(yyyymm) SI; (1) 數(shù)據(jù)輸入模塊 把歌曲信息寫入文件。 (2) 數(shù)據(jù)刪除模塊 采用基本的查找算法,查找歌曲信息文件,如果是要?jiǎng)h除的歌曲,則舍棄改信息。否則 重新寫入文件。 (3) 信息瀏覽模塊 讀歌曲信息文件,顯示輸出。 (4) 信息查詢模塊 通過(guò)菜單選擇查詢字段:歌曲名 作者 演唱者。 然后采用基本查找算法在歌曲信息 文件中查找,如果找到,則輸出;否則輸出“對(duì)不起,沒有您要找的歌曲信息!。 ” (5) 信息分組顯示模塊 選擇按作者分組顯示歌曲信息,用 fread 或 fscanf 把歌曲信息文
49、件中的信息讀取到臨時(shí) 變量中(臨時(shí)變量數(shù)據(jù)結(jié)構(gòu)可以采用歌曲信息結(jié)構(gòu)體數(shù)組) ,采用排序算法(冒泡、插入、 選擇等)把歌曲信息按照作者排序,然后輸出。 第十八題:交通處罰單管理系統(tǒng)設(shè)計(jì)1、需求分析:交通處罰單信息用文件存儲(chǔ),因而要提供文件的輸入輸出操作;要求可以輸入、刪除、 瀏覽交通處罰單信息,因而要提供信息的輸入、刪除和顯示操作;要實(shí)現(xiàn)按車輛、駕駛員和 開單交警查詢,則要提供查找操作;另外提供統(tǒng)計(jì)操作和鍵盤式選擇菜單以實(shí)現(xiàn)功能選擇。 2、 總體設(shè)計(jì) 整個(gè)管理系統(tǒng)被設(shè)計(jì)為信息輸入模塊、信息刪除模塊、信息瀏覽模塊、信息查詢模塊和 信息統(tǒng)計(jì)模塊。 3、 詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,設(shè)計(jì)交通處罰單結(jié)
50、構(gòu)體: Struct TranficPunishBill Char carNo10; /車牌號(hào) Char driverNo20; /駕照號(hào) Char policeNo10; /開單交警號(hào)碼 Char billNo20; /處罰單號(hào)碼 Char time12; /處罰時(shí)間(yyyymmddhhmm,年月日時(shí)分) TPB; (1)主函數(shù)提示用戶選擇功能:輸入 刪除 瀏覽 查詢 統(tǒng)計(jì) (2)信息輸入模塊 16 把處罰單信息寫入處罰單信息文件。 (3)信息刪除模塊 輸入處罰單號(hào)碼,然后在處罰單信息文件中查找該條處罰單,刪除之。具體刪除操作: 打開該文件,從文件中讀一條記錄,判斷是否要?jiǎng)h除,如果是,則舍
51、棄;否則重新寫入文件, 讀下一條記錄。 (4)信息瀏覽模塊 讀處罰單信息文件,輸出記錄。 (5)信息查詢模塊 通過(guò)菜單選擇查詢字段:車輛 駕駛員 開單交警, 分別按照車牌號(hào)、駕照號(hào)、開 單交警號(hào)采用基本的查找算法查找交通處罰單信息文件, 如果找到相應(yīng)得記錄則輸出處罰單 信息,否則輸出“您所查找的信息不存在!。 ” (6)信息統(tǒng)計(jì)模塊 提示輸入駕駛員的駕照號(hào)和時(shí)間段。設(shè)置一個(gè)計(jì)數(shù)器,初始化為 0。采用基本算法查找 交通處罰單信息文件,比較駕照號(hào),如果駕照號(hào)匹配,再看處罰單時(shí)間是否出于查詢時(shí)間段 內(nèi),如果是,則計(jì)數(shù)器加 1,并輸出該處罰單號(hào)。文件查找結(jié)束后,輸出計(jì)數(shù)器的值。 第十九題:學(xué)生證的管理
52、系統(tǒng)設(shè)計(jì)1、 需求分析:學(xué)生證信息采用文件存儲(chǔ),因而要提供文件的輸入輸出操作;給定學(xué)號(hào)或班號(hào),做相應(yīng) 得操作,要提供查找操作;顯示信息要提供顯示操作;修改和刪除信息要提供文件的修改和 刪除操作; 提供一些統(tǒng)計(jì)各類信息的功能要實(shí)現(xiàn)統(tǒng)計(jì)操作; 另外提供鍵盤式選擇菜單以實(shí)現(xiàn) 功能選擇。 2、 總體設(shè)計(jì):整個(gè)管理程序被設(shè)計(jì)為數(shù)據(jù)輸入模塊、數(shù)據(jù)查找模塊、數(shù)據(jù)修改模塊、數(shù)據(jù)刪除模塊和 數(shù)據(jù)統(tǒng)計(jì)模塊。 3、 詳細(xì)設(shè)計(jì) 數(shù)據(jù)結(jié)構(gòu)采用結(jié)構(gòu)體,設(shè)計(jì)學(xué)生證信息結(jié)構(gòu)體: Struct studentCard Char name10; Int sex; /0 表示男,1 表示女 Char stuNo10; /學(xué)號(hào) In
53、t classNo; /班號(hào) /其他信息 StuCard; (1)主函數(shù) 主函數(shù)中,顯示功能菜單:信息輸入(1) 信息查找(2) 信息修改(3) 信息刪 除(4) 信息統(tǒng)計(jì)(5) 按相應(yīng)的數(shù)字鍵則進(jìn)入相應(yīng)的計(jì)算模塊。 (2)數(shù)據(jù)輸入模塊 輸入學(xué)生的學(xué)生證信息,把該信息以追加的方式寫入學(xué)生證信息管理文件。 (3)數(shù)據(jù)查找模塊 進(jìn)入該模塊,首先顯示提示菜單:按學(xué)號(hào)查找(1) 按班級(jí)查找(2) 按學(xué)號(hào)查找,則提示輸入學(xué)號(hào),然后采用基本查找算法(順序查找)在學(xué)生證信息文件中查找學(xué)號(hào)字段,當(dāng)找到該記錄時(shí),則輸出該學(xué)生信息,停止繼續(xù)查找。 按班級(jí)查找,則提示輸入班級(jí)班號(hào),然后采用基本查找算法(順序查找)在學(xué)生證信息 文件中查找班號(hào)字段,如果班號(hào)匹配,則輸出該學(xué)生信息,直到文件結(jié)束。 (4)數(shù)據(jù)修改模塊 在主菜單中選擇(3) ,則進(jìn)入數(shù)據(jù)修改模塊。屏幕上提示輸入要修改的學(xué)生學(xué)號(hào)。輸入 學(xué)號(hào)后,則采用基本查找算法找到該學(xué)生信息,修改之。 (5)數(shù)據(jù)刪除模塊 與數(shù)據(jù)修改模塊相似,只是找到相應(yīng)的學(xué)生信息后刪除,即不再寫入文件。 (6)數(shù)據(jù)統(tǒng)計(jì)模塊 提供對(duì)班級(jí)學(xué)生數(shù)、女生人數(shù)、男生人數(shù)的統(tǒng)計(jì)。通過(guò)菜單選擇統(tǒng)計(jì)字段。建立一個(gè)計(jì) 數(shù)器,初始化為 0。例如統(tǒng)計(jì)班級(jí)學(xué)生數(shù),則提示輸入班號(hào),然后查找學(xué)生證
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度個(gè)人毛坯房租賃合同水電費(fèi)繳納約定協(xié)議4篇
- 二零二五年度出租車公司駕駛員勞動(dòng)合同競(jìng)業(yè)禁止合同4篇
- 二零二五版學(xué)生走讀課程安排與評(píng)價(jià)體系協(xié)議3篇
- 二零二五年度企業(yè)設(shè)備融資租賃擔(dān)保合同4篇
- 二零二五年度跨境電商銷售業(yè)務(wù)合同范本2篇
- 裝修環(huán)保方案簡(jiǎn)單
- 金屬格柵圍擋施工方案
- 二零二五年度教育科技產(chǎn)品商標(biāo)許可協(xié)議3篇
- 2025版違約保證金退還及追償合同范本3篇
- 二零二五年度城市更新項(xiàng)目土方拉運(yùn)及運(yùn)輸服務(wù)合同范本3篇
- 供貨方案及時(shí)間計(jì)劃安排
- 唐山動(dòng)物園景觀規(guī)劃設(shè)計(jì)方案
- 中國(guó)版梅尼埃病診斷指南解讀
- 創(chuàng)業(yè)投資管理知到章節(jié)答案智慧樹2023年武漢科技大學(xué)
- 暨南大學(xué)《經(jīng)濟(jì)學(xué)》考博歷年真題詳解(宏觀經(jīng)濟(jì)學(xué)部分)
- 藥店員工教育培訓(xùn)資料
- eNSP簡(jiǎn)介及操作課件
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第七章運(yùn)動(dòng)技能的協(xié)調(diào)控制
- 節(jié)后復(fù)工吊籃驗(yàn)收表格
- 《駱駝祥子》第(9、10、11、12)章檢測(cè)題
- 《城南舊事》惠安館--解讀
評(píng)論
0/150
提交評(píng)論