c++校園超市商品信息管理系統(tǒng)課程設(shè)計說明書(含源代碼)_第1頁
c++校園超市商品信息管理系統(tǒng)課程設(shè)計說明書(含源代碼)_第2頁
c++校園超市商品信息管理系統(tǒng)課程設(shè)計說明書(含源代碼)_第3頁
c++校園超市商品信息管理系統(tǒng)課程設(shè)計說明書(含源代碼)_第4頁
c++校園超市商品信息管理系統(tǒng)課程設(shè)計說明書(含源代碼)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機科學(xué)與技術(shù)教研室課程設(shè)計說明書(2015-2016學(xué)年第二學(xué)期)課程名稱程序設(shè)計基礎(chǔ)課程設(shè)計設(shè)計題目校園超巾商品信息管理系統(tǒng)學(xué)號*姓名*小組成員*起止時問:*年*月*日至*年*月*日課程設(shè)計評語平時表現(xiàn)比較積極,紀(jì)律良好,沒有缺勤得情況,在演示過程中,表達(dá)流暢,做出來得作品也有很強得使用價值,設(shè)計報告寫得也比較全面,比較細(xì)致,深入人心,老師在提問得過程中,回答問題也頭頭就是道,沒有磕磕絆絆得情況發(fā)生,對于問題得解答也比較透徹.平時成績報告成績演示與答辯成績成績總評指導(dǎo)教師(簽字)年月日注:成績均用百分制??偝煽?平時成績*20%+報告成績*40%+演示與答辯成績*40%設(shè)計題目:校園超市

2、商品信息管理系統(tǒng)1、課程設(shè)計目得本系統(tǒng)得目得在于,可以很好得管理超市商品與銷售員之間得關(guān)系,使得系統(tǒng)得功能與用途更加得全面與實用,這樣兩個與在一起可以避免用戶使用起來得麻煩,使得可以更好得方便于使用者。本課程設(shè)計得目得就就是要通過一次集中得強化訓(xùn)練,能及時鞏固已學(xué)得知識,補充未學(xué)得但又必要得內(nèi)容。進(jìn)行課程設(shè)計目得在于加深對程序設(shè)計基礎(chǔ)理論與基本知識得理解,促進(jìn)理論與實踐得結(jié)合,進(jìn)一步提高程序設(shè)計能力.具體目得如下:(1)更深入地理解與掌握該課程中得有關(guān)基本概念,程序設(shè)計思想與方法。(2)培養(yǎng)綜合運用所學(xué)知識獨立完成課程設(shè)計得能力。(3)培養(yǎng)勇于探索、嚴(yán)謹(jǐn)推理、實事求就是、有錯必改、用實踐來檢驗

3、理論,全方位考慮問題等科學(xué)技術(shù)人員應(yīng)具備得素質(zhì)。(4)可以運用自己所學(xué)得知識在系統(tǒng)得實現(xiàn)。2、課程設(shè)計正文2、1系統(tǒng)分析2、1、1可行性分析從經(jīng)濟(jì)、技術(shù)、法律、操作四方面得分析可以瞧出,本系統(tǒng)得開發(fā)時機成熟。從多種角度考慮,都就是可行得,采用本系統(tǒng),能夠使整個超市內(nèi)部所有得信息工作簡化、提高工作效益。由于采用統(tǒng)一得數(shù)據(jù)信息,使相關(guān)資料能夠查詢所需要得數(shù)據(jù)、資料及其它信息,使信息快速高效運行。2、1、2需求分析該設(shè)計就是通過計算機設(shè)計程序軟件來實現(xiàn)校園超市商品信息管理系統(tǒng)得基本業(yè)務(wù),商品共包含以下信息項:商品編號、商品名稱、商品進(jìn)貨數(shù)目、商品銷售數(shù)目、商品剩余庫存數(shù)目、商品單價、商品產(chǎn)地、商品銷

4、售額等;主要功能包括:創(chuàng)建商品信息文件,增加、刪除、修改商品信息,銷售商品、通過關(guān)鍵字、廠家名稱或者編號來查找商品,按照不同得條件對商品信息進(jìn)行統(tǒng)計工作。在該系統(tǒng)中利用通過類得方式來定義對象以及在類中定義各項得成員函數(shù)與數(shù)據(jù)成員來實現(xiàn)對商品信息得管理中小型超市采購得商品一般都成千上萬件。對這些商品進(jìn)行有效得管理必不可少。每件商品一般都需要記錄商品名、商品編號、產(chǎn)地、價格、出廠日期等商品得基本信息.除此之外,還需要記錄商品得其她相關(guān)信息,如生產(chǎn)廠家、進(jìn)貨數(shù)量、銷售數(shù)量、剩余庫存數(shù)量等。超市商品得相關(guān)信息需要存儲到磁盤文件中,一般都需要提供對商品信息得添加、編輯、刪除、查找等操作。超市管理員每天都

5、會記錄購進(jìn)得商品信息,核銷過期得商品等。為了鞏固我們所學(xué)得C+語言程序設(shè)計知識,也為了滿足課程設(shè)計得要求,我們設(shè)計與實現(xiàn)一個小型得超市商品管理系統(tǒng),提供商品系統(tǒng)得添加、刪除、編輯、查找等功能。同類系統(tǒng)多數(shù)使用結(jié)構(gòu)體數(shù)組來操作數(shù)據(jù),本系統(tǒng)使用類定義對象,以及成員函數(shù)與數(shù)據(jù)成員來完成對增刪查改功能得實現(xiàn),利用鏈表結(jié)構(gòu)操作數(shù)據(jù),提高了數(shù)據(jù)處理得效率.2、 1、3功能分析(1)分別定義兩個類為Supermarket與Supermarketmassage來實現(xiàn)對價格信息、名稱信息、數(shù)量信息得存儲、更正、刪除與查詢以及其她功能得實現(xiàn)。( 2) 初始化功能當(dāng)系統(tǒng)第一次啟動時,系統(tǒng)中沒有關(guān)于商品得信息,所以要

6、根據(jù)商品得類型輸入關(guān)于商品得一系列信息,把這些信息放在磁盤文件中。例如:編號、名稱、進(jìn)貨總數(shù)、銷售數(shù)目、剩余庫存數(shù)目、單價、產(chǎn)地、銷售額以及生產(chǎn)日期與保質(zhì)期。( 3) 查詢功能此時每件商品所包含得信息已經(jīng)全部在磁盤文件中,所以就要通過一系列得函數(shù)來方便使用者查詢有關(guān)商品得信息,以便更及時地發(fā)現(xiàn)商品在銷售過程中存在得問題并及時改正或者更新。輸入需要查詢得商品名稱或者編號,如果搜索到得信息與使用者輸入進(jìn)去得信息相同,則返回此件商品所在得位置,輸出商品得各項信息.反之,如果搜索不到此件商品,則輸出無此商品得信息。(4)修改功能先在磁盤文件中找出就是否有該商品,然后提示使用者要進(jìn)行修改操作得編號,將修

7、改過得商品放到原來那個商品所在得位置,將結(jié)果保存到原文件中,就提示使用者按任意字符繼續(xù)。(5)銷售功能提示使用者輸入要進(jìn)行銷售得商品得編號或者名稱,通過在函數(shù)中搜索,如果系統(tǒng)中有該商品彳#信息,則提示使用者輸入要銷售得數(shù)量,通過if語句,檢查一下輸入得數(shù)量就是否大于庫存數(shù)量,如果大于庫存數(shù)量,則提示使用者要重新輸入;如果小于庫存數(shù)量,就將該商品所對應(yīng)得庫存數(shù)量減去銷售數(shù)量,再把剩下得商品數(shù)量存入到磁盤文件中,完成了銷售功2、2系統(tǒng)設(shè)計2、2、1概要設(shè)計系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。校園超市商品信息管理系統(tǒng)退出系統(tǒng)銷售功能替換功能查詢功能初始功能進(jìn)入系統(tǒng)系統(tǒng)功能結(jié)構(gòu)圖2、2、2詳細(xì)設(shè)計(1)增加函數(shù)

8、得設(shè)計該函數(shù)實現(xiàn)了對超市商品得增加功能,輸入商品得信息,此時磁盤文件中就已經(jīng)存入了這件商品得信息。增加函數(shù)流程圖如圖2所示。開始調(diào)用輸入函數(shù)創(chuàng)建新的結(jié)占八、輸入數(shù)據(jù),將結(jié)點加入鏈表添加成功增加函數(shù)流程圖(2)刪除函數(shù)得設(shè)計該函數(shù)實現(xiàn)了對超市商品得刪除功能,輸入商品得生產(chǎn)日期與截止日期,判斷就是否過期,如果過期就輸入這件商品得編號或名稱,最后就刪除成功。刪除函數(shù)流程圖如圖3所示。開始(刪除結(jié)束刪除函數(shù)流程圖(3)查找函數(shù)得設(shè)計該函數(shù)實現(xiàn)了對超市商品得查找功能,輸入想要查找到商品得編號或名稱,如果找到了就顯示出來,否則就顯示找不到該商品。查找函數(shù)流程圖如圖4所示。開始輸入要查詢的商品的編號或名稱查

9、找商品的結(jié)占八、圖4查找函數(shù)流程圖(4)修改函數(shù)得設(shè)計該函數(shù)實現(xiàn)了對超市商品信息得修改功能,輸入想要修改得商品信息,如果在系統(tǒng)中找到了該商品,則輸入該商品修改過得信息,再存入到磁盤文件中去,修改成功。修改函數(shù)流程圖如圖5所示開始圖5修改函數(shù)流程圖(5)銷售函數(shù)得設(shè)計該函數(shù)實現(xiàn)了對超市商品得銷售功能,輸入要銷售得商品得編號或名稱,如果系統(tǒng)中存在該商品信息,則輸入要銷售彳#數(shù)量,如果小于庫存量,則輸出銷售成功,并將銷售過后得剩余庫存量存入到磁盤文件中去。銷售函數(shù)流程圖如圖6所示。開始否圖6銷售功能流程圖2、3系統(tǒng)實現(xiàn)(1)進(jìn)入系統(tǒng)進(jìn)入系統(tǒng)圖如圖7、圖8所示。圖7進(jìn)入系統(tǒng)界面圖圖8系統(tǒng)菜單圖(2)增

10、加界增界面圖圖9所示。*.SgKKUAmi市商兄苣理系統(tǒng)l增加商星信息二十TTrrr/r丁十=*a.顯示商品信息口.排序疣計同品4.壹找育品信息寫.刪除高儲信息小修改盲品信包7鐺管超市商品8.安全退出蔡玩0二千十二丁丁丁丁丁TTtT圖9增加界面圖(3)查找界面查T丁丁T丁-丁一丁丁4公工二*-r*TT?rTTTT'A'':T干丁干-!-!"一3 .排序茹滸向品4 一亙技商品信息5求赫商品信息S*慘東商品信息九鋪售超市商品回.安生正出素猊1225目m:皎la督存CS的L=嚏序步古事善,羊口出西剪的品口科加;商R商商商育商擇人入人入入入人繼續(xù)找界面圖如圖10、圖1

11、1所示。找商11按編而品名通昌喘號式8況請圜已:|!(同,輯果摘睥.餐首餐餐及:;1忖網(wǎng)首帆算(有旨辯1翼一有彳餐鼻生L甚商品的名稱宜找荻Z恚商品編號直掛找商學(xué)落1轆螂:K2.按兩口口編號查找濡寅JfKMMKMWIXMNJIKB!KM!其莞StM衣幀JtKKMXM清就人要言找的曲品編號:100210624)任意字符!銷售界面圖如圖12所示。4,查找卷品信息刪除音品信息青輸入相蘿銷售的請選擇:入修改商品信息九銷售超市商品加安全正出系統(tǒng)請湎人要查找的商品的編號:1004人要錯售的數(shù)1:2012界面(5)出系統(tǒng)退出系統(tǒng)界面圖如圖13所示。圖13退出系統(tǒng)界面圖2、4系統(tǒng)測試與維護(hù)2、4、1系統(tǒng)測試(1

12、) voidAddItem()/*添加商品信息*/例:input:(商品名稱):aoutput:商品名稱:ainput:(商品編號):1001output:商品編號:10011 nput:(進(jìn)貨總數(shù)):10Output:進(jìn)貨總數(shù):10input:(銷售數(shù)目):20output:銷售數(shù)目:20input:(剩余庫存):10output:剩余庫存:10input:(產(chǎn)地):ssoutput:產(chǎn)地:ssinput:(單價):10output:單價:10(2) voidSupermarketmassage::RemoveItem()/*刪除商品信息*/例:input:(刪除商品名稱):aoutput:

13、刪除成功(3) voidSupermarketmassage:ModifyItem()/*修改商品信息*/例:input:(商品名稱):aoutput:商品名稱:a1 nput:(商品編號):1001output:商品編號:10012 nput:(進(jìn)貨總數(shù)):10output:進(jìn)貨總數(shù):10input:(銷售數(shù)目):20outpu t :銷售數(shù)目:20input :(剩余庫存):5 0output:剩余庫存:50inpu t :(產(chǎn)地):ssoutput:產(chǎn)地:ssi n p u t:(單價):1ou t p u t:單價:1 0(4) void Sup ermarketm a ssag e:

14、 Find。/*查詢商品信息*/例:i np u t:(商品名稱):aoutpu t :商品名稱:查找商品名稱in p u t :(商品編號):10 0 1o u t put: 輸出商品信息系統(tǒng)測試圖如圖1 4、15所示。輸入界面圖TTTTTTT千TT千* >3邛,,挎花: 品%查找商品信息k刪炯品信息I傳武商品信總九楣售鋰市商品1 tt rT =*平干干T£7JtT t t T T T T蟲 /二士 千千千千千.干六育十老 去千千 千千統(tǒng)測試圖系統(tǒng)測試退出界面2、4、2 系經(jīng)過多系統(tǒng)得測保證系統(tǒng)準(zhǔn)得運行,用WWW統(tǒng)維護(hù). |HH|I ip4Hl. . 4Hm 144 . .

15、Uv MW * .1vWi '"M. N"W.VW T V 4一,*.試,能夠放心使用。3、課程設(shè)計總結(jié).利在為期十天得課程設(shè)計中,通過完成這次老師布置得任務(wù),體會頗多,收獲也很多用設(shè)計這次校園超市商品信息管理系統(tǒng)得機會使我比較熟練得掌握了這學(xué)期所學(xué)習(xí)有關(guān)c、C+中得一些主要得知識點與應(yīng)用點。例如:類與對象得定義、類內(nèi)數(shù)據(jù)成員及成員函數(shù)得聲明與定義、類得實現(xiàn)、構(gòu)造函數(shù)與析構(gòu)函數(shù)得定義等等。不只就是死板得只知道書本上得知識,能夠?qū)W以致用。在本次得課程設(shè)計中,我不僅僅只學(xué)到了利用C+語言來編寫程序,還學(xué)到了程序開發(fā)得一些比較重要得步驟,比如需求分析、總體設(shè)計、程序模塊設(shè)

16、計(包含功能需求、程序代碼設(shè)計與分析、運行結(jié)果等卜對系統(tǒng)得檢測與維護(hù)等一些中重要得東西。為整個課程設(shè)計中得程序設(shè)計模塊提供主要思路以及實現(xiàn)功能得主要方法,這個工作說起來簡單,卻不太容易實現(xiàn),整體得思路對于能否完成一個比較漂亮得程序就是至關(guān)重要得,如果最一開始得整體思路都沒有明確,或者說我們定下來得主題很難用我們學(xué)過得知識去實現(xiàn),這將會導(dǎo)致以后得一系列工作都無法開展.所以說,有一個明確得主題就是重中之重。由于我們得人力與所學(xué)得知識有限,導(dǎo)致我們此次工作中存在著許多得不足與缺點。比如,這個系統(tǒng)只能實現(xiàn)簡單得增、刪、查、改,還有好多得功能不能去實現(xiàn),比如說打折活動、員工與老板之間得聯(lián)系、顧客與售貨員

17、之間得聯(lián)系都沒有在這個系統(tǒng)中體現(xiàn)出來,這個系統(tǒng)只能體現(xiàn)出來商品與顧客之間得聯(lián)系,比較單一,純粹得就就是一個單鏈結(jié)構(gòu),沒有擴(kuò)散出來.再比如,這個系統(tǒng)幾乎沒有亮點可尋,只就是普普通通得,規(guī)規(guī)矩矩得按照學(xué)過得或者就是從別得書籍中得到得知識來編寫得程序,沒有讓人耳目一新得新穎得地方,創(chuàng)新得東西太少。其實,我在本次得課程設(shè)計中也學(xué)到了不少東西,同時也運用到了我們得系統(tǒng)中.例如:(1)對鏈表得靈活運用.鏈表,就是存儲數(shù)據(jù)得一個很方便得工具,簡而言之,就就是基于鏈?zhǔn)絻Υ娼Y(jié)構(gòu)下得線性表。包括單向鏈表、雙向鏈表以及循環(huán)鏈表。鏈表得基本操作包括創(chuàng)建鏈表、在鏈表中插入結(jié)點、在鏈表中刪除結(jié)點、遍歷鏈表中得內(nèi)容以及銷毀

18、鏈表等.相對于順序表來說,它方便進(jìn)行插入、刪除操作,但就是,線性表得內(nèi)容遍歷與輸出需要從頭指針開始。在這個系統(tǒng)中我們用到了鏈表得遍歷,主要就是利用它來查詢我們要找得商品信息。(2)#includeconio、h頭文件得應(yīng)用。此頭文件包含了本程序中得按任意鍵繼續(xù)得函數(shù),就是庫函數(shù)。conio就是ConsoleInput/Output(控制臺輸入輸出)得簡寫淇中定義了通過控制臺進(jìn)行數(shù)據(jù)輸入與數(shù)據(jù)輸出得函數(shù),主要就是一些用戶通過按鍵盤產(chǎn)生得對應(yīng)操作,比如getch()函數(shù)等等.(3)voidRead&in)函數(shù)。它得輸入?yún)?shù)就是標(biāo)準(zhǔn)輸入流,沒有輸出。函數(shù)完成得作用就是,依次將標(biāo)準(zhǔn)輸入流中得數(shù)

19、據(jù)讀入到變量中.通過頭次課程設(shè)計,學(xué)到得也不只有這些新知識,對于編程得思想與方法我也頗有感觸。如果想要編寫出來邏輯清晰,可讀性比較強得程序,應(yīng)該在編程之前先有一個對于程序設(shè)計得整體思路,并把它記錄下來,這樣就可以避免了直接編程序得手忙腳亂。還有就就是編程得思想,存儲數(shù)據(jù)最好得就就是用鏈表或者就是對象數(shù)組,在編寫稍微復(fù)雜一點得程序時,盡量用類定義對象以及數(shù)據(jù)成員、成員函數(shù)等得方式來實現(xiàn)。還有就就是,我得能力也相應(yīng)得提高了一些,比如就就是比較淺顯得掌握與運用鏈表結(jié)構(gòu),能夠比以前更加熟練得利用類以及成員函數(shù)來實現(xiàn)功能.既復(fù)習(xí)了以前得舊知識,又學(xué)到了一些新得知識;設(shè)計增強了我所用所學(xué)知識去解決具體問題

20、得能力,進(jìn)一步培養(yǎng)了我獨立思考問題與解決問題得能力.特別就是學(xué)會了在VisualC+6、。集成開發(fā)環(huán)境中如何調(diào)試程序得方法。本次實踐也鍛煉了我面對難題,自己思索,自己探索,自己查資料發(fā)現(xiàn)問題、解決問題得獨斷能力??偟脕碚f,收獲還就是比較多得。4、參考文獻(xiàn)1譚浩強、C+程序設(shè)計(第二版)M,北京:清華大學(xué)出版社,2004、2李云清,楊慶紅、數(shù)據(jù)結(jié)構(gòu)、人民郵電大學(xué)出版社,2004、63趙曉,王麗麗“C+面向?qū)ο蟪绦蛟O(shè)計”多樣實驗探究J計算機時代20134袁素梅,付文成基于Visua1C+6、0得學(xué)生信息管理系統(tǒng)J電腦編程技巧與維護(hù)2012?答辯記錄答辯小組教師:*,*提問與答辯情況記錄如下:1、您

21、得系統(tǒng)中得查找功能就是如何實現(xiàn)得?答:也就是利用鏈表結(jié)構(gòu),顯示遍歷鏈表,找到想要根據(jù)編號或者名稱查找得商品,如果找到了想要找到商品,就調(diào)用顯示函數(shù),將商品得信息顯示出來。2、您最后運行界面得顏色就是如何顯示出來得?答:就是通過#includewindows、h這個頭文件,這就是個可以調(diào)用庫函數(shù)得一個c語言得頭文件。還用到了system("colorC');其中color后面得C就是前景色代號,還可以在C之前加一些代碼作為背景色代號,各顏色代碼如下:0=黑色1=藍(lán)色2=綠色3=湖藍(lán)色4=紅色5=紫色6=黃色7=白色8=灰色9=淡藍(lán)色A=淡綠色8=淡淺綠色C=淡紅色D曜紫色E=淡

22、黃色F=亮白色3、“按任意鍵繼續(xù)”就是怎樣實現(xiàn)得?答:先就是定義了#includeconio、h這個頭文件,然后調(diào)用這個庫函數(shù)中得getch()函數(shù),最后在自己想用到“按任意鍵繼續(xù)”這個功能得地方直接調(diào)用這個函數(shù)就可以了。4、您得系統(tǒng)中為什么選擇用鏈表結(jié)構(gòu)?答:由于本題目得數(shù)據(jù)元素得個數(shù)不可預(yù)知,所以使用鏈表。鏈表就是動態(tài)得,可以在需要得時候增長與減小其長度,而數(shù)組就是在編譯時分配內(nèi)存得,所以其大小就是不可改變得,而且會出現(xiàn)內(nèi)存浪費得情況。我認(rèn)為單循環(huán)鏈表能較好得解決問題.在建立循環(huán)鏈表時,因為鏈表得大小由輸入決定,因此與其匹配得結(jié)點數(shù)也就是變化得,所以要進(jìn)行動態(tài)內(nèi)存分配。附錄:程序源代碼#i

23、nclude<iostream>#includefstream>#include<windows、h>#include<string、h>#includeconio、h>/用getch()usingnamespacestd;intnumber;classSupermarketpublic:£harname20;charNum20;intCnum;/進(jìn)貨總數(shù)intMnum;/銷售數(shù)目?ntEnum;剩余庫存數(shù)目?doublePrice;/單價£harAdd20;/產(chǎn)地doubleSum;/銷售額Supermarket*Next;

24、voidInput()?outt請輸入商品名:”;?cin>>name;化outtt請輸入商品編號:“;?cin>>Num;?sou t «t t請輸入商品進(jìn)貨總數(shù)方n>>Cnum;?cout<”tt請輸入商品銷售數(shù)目:”;?in>>Mnum;?cout<<"tt請輸入商品剩余庫存數(shù)目:”;?in>>Enum;?outv”tt請輸入商品產(chǎn)地:”;?sin>>Add;cout«"tt請輸入商品單價:";?din>>Price;?Sum=Mnum*

25、Price;voidRead&in)/文件指針?n>>name>>Num>Cnum>Mnum>Enum>塾dd>>Price>>Sum;?/oidShow()?soutv”商品名:"<name<endl?<”商品編號:"vvNum<<endl?<"進(jìn)貨總數(shù):”<Cnumvendl?<<"銷售數(shù)目:"vMnum<vendl<“剩余庫存:"Enum<<endl?七<"

26、產(chǎn)地:"<<Addvendl?<"單價:"vPrice<<endlv<"銷售額:"<<SunKendl?endl;voidShow1()?cout<<"商品名:"<<name<<end1?v"商品編號:"v<Num<end1?”進(jìn)貨總數(shù):"<<Cnumendl?”銷售數(shù)目:"vMnum<<ndl?<<"剩余庫存:"<Enum-nu

27、mber<end1?<"產(chǎn)地:"Add<endl?<"單價:"vPricevendl?<<"銷售額:"VSum<<endl?vendl;;classSupermarketmassagepublic:?Supermarketmassage);Supermarketmassage();?voidShowMenu();?voidFind();?voidSave();voidModifyItem();?voidRemoveItem();?voidsale();/銷售函數(shù)voidS*,Superm

28、arket*);voidSort();/voidUnpass();?intListCount();/voidAverage();voidDisplay()inti=1;?for(Supermarket*p=Head->Next;p!=End;p=p->Next,i+)?if(i=2)?p->Showl();?eIsep>Show();?coutV”輸入任意字符!繼續(xù)";?getch();?voidAddItem()?End->Input();?End->Niext=newSupermarket;?End=End->Nlext;?cout<

29、;v"添加成功!"v<endl;?cout<"輸入任意字符!繼續(xù)”;?getch();private:Supermarket*Hcad,*End;ifstreamin;?ofstrcamout;Supermarket*FindItem(char*name)?for(Supermarket*p=Head;p>Next!=End;p=p>Next)/匹配成功則返回上一個指針,不成功就返回空?if(!strcmp(p>Niext->name,name)?returnp;?returnNULL;?Supermarket*FindNum(

30、char*Niumm?or(Supermarket*p=Head;p>Next!=End;p=p->Next)/匹配成功則返回上一個指針,不成功就返回空if(!strcmp(p>Next>Num,Num>)?returnp;?returnNULL;Supermarket*FindAdd(char*Add)?for(Supermarket*p=Head;p->Next!=End;p=p->Next)/匹配成功則返回上一個指針,不成功就返回空?if(!strcmp(pNext>Add,Add)?returnp;?returnNULL;?;Superm

31、arketmassage:Supermarketmassage。?Head=newSupermarket;?Head->Next=newSupermarket;?End=Head->Next;?in、open("sort、txt");?if(!in)?cout<”這就是一個新系統(tǒng),無商品信息。請先輸入。”<end1;else?while(!in、eof()End>Read);?if(End->name0='0')?break;End->Next=newSupermarket;?End=End->Next;?in

32、、c1ose();?cout<"tt讀取商品信息成功!”<endl)Supermarketmassage:-Supermarketmassagei?Save();for(Supermarket*temp;Head->Next!=?temp=Head>Next;Head->Next=Head>Next->Next;?de1etetemp;deleteHead,End;intEnum1=100;voidSupermarketmassage:ShowMenu()cout孑超亍“<endl;cout小 亍亍"vendl;cout(”*

33、 十亍"<endl;coutvv” 十亍“<endl;cout<<"3十亍"<<endl;cout”)End;)商品管理系統(tǒng)1、增加商品信息2、顯木商品信息、排序統(tǒng)計商品4、查找商品信息亍“Vendl;cout<<"5、刪除商品信息十“<<endl;cout<”、修改商品信息亍亍"vendl;cout“7、銷售超市商品*亍"vendl;coutV”、安全退出系統(tǒng)十亍"v<endl;?coutnttntt請選擇voidSupermarketmassage:

34、Find?charname20Num10?intx;permarke*p=NULL?coutvv"ntt*,n;coUtvv”ttX1、按商品得名稱查找ttX2、按商品編號查找”?cout”tt*n請選擇:"n>>x?switch(x)case1?cout<<"tt請輸入要查找得商品得名稱:"?cin>>name;if(p=FindItem(name)?&p>Next>Show();?coutV”輸入任意字符!繼續(xù)"?getch();?良1se?couttt沒有找到該商品信息!"

35、<<'n'<<endl;?cout”輸入任意字符!繼續(xù)"?getch();break;case2:?cout<<"t請輸入要查找得商品編號:”;?in>>Num;if(p=FindNum(Nunrj)?p->Next->Show();coutV”輸入任意字符!繼續(xù)"?getch();else?cout<<"tt沒有找到該編號得商品!"<'十endl;?cout<“輸入任意字符!繼續(xù)”;?getch();?break;voidSuperma

36、rketmassage:Modifyltem()/修改信息charname20;?Supermarket*p=NULL;cout<<"tt請輸入要修改得商品名:”;?cin>>name;if(p=FindItem(nam®)?£out<v"tt已找到商品得信息,請輸入新得信息!"<endl;p->Next>Input();?cout<"修改成功!"<<end1;?cout<”輸入任意字符!繼續(xù)"getch();e1secout<”tt沒有

37、找到!"<endl;?cout<”輸入任意字符!繼續(xù)”;?jetch();voidSupermarketmassage::RemoveItem()/刪除信息intdate(int&,int&,int&);intyear1,month1,day1,year2,month2,day2,suml,sum2,SUM;cout<<"請輸入商品得今天得日期:(年、月、日)"cin>>year1>>month1>>day1;sum1=date(year1,month1,day1);cout<

38、;”請輸入商品彳#截止日期:(年、月、日)”;cin>>year2>>month2>>day2;sum2= d at e (ye a r2 ,mo n t h2, day2);UM=sum2suml;if(SUM>=3)?coutv”該商品處于安全期,不用處理"<<endl;elsecharname20;Supermarket*p=NIULL,*temp=NULL;cout<"皿請輸入要刪除得商品名:"<<endl;cin>>name;if(p=FindItem(name)temp

39、=p->Niext;?p>Next=p>Niext->Next;deletetemp;cout<"tt刪除成功!"«end1;coutv<"輸入任意字符!繼續(xù)";?getch();elsecoutv<"t沒有找到!"<<endl;?cout«"輸入任意字符!繼續(xù)”;getch();?ntdate(int&day,int&month,int&year)/日期函數(shù)intsum,leap;switch(month)?/先計算某月以前月

40、份得總天數(shù)case1:sum=0;break;case2:sum=31;break;case3:sum=59;break;case4:sum=90;break;case5:sum=120;break;case6:sum=151;break;case 7: sum=181;break;case 8: sum=212;break;case9:sum=243;break;case10:sum=273;break;case11:sum=304;break;case12:sum=334;break;default:cout<<"dataerror"break;sum=su

41、m+day;/再加上某天得天數(shù)if(year%400=0)|(ycar%4=0&&year%100!=0)/判斷就是不就是閏年leap=1;elseleap=0;if(leap=1&&month2)?/如果就是閏年且月份大于2,總天數(shù)應(yīng)該加一天sum+;returnsum;voidSupermarketmassage:sale()/銷售函數(shù)Supermarketa;Supermarket*p=NIULL;intm;charname20,Num10;? coutv<”請輸入想要銷售得商品信息:"<<end1;cout<<&q

42、uot; nt* * * * * * *n "?cout<<" t X 1、按商品得名稱查找n tt X 2、按商品編號查找”;cout 請選擇:”;t t* * * * * * *c i n >> m;switch( m)? c a se 1 :?cout <<" t t請輸入要查找得商品得名稱? c i n >> name;if( p = F ind I tem(name)? ?£。u t <V "請輸入要銷售得數(shù)量? cin > >n u mb)e r;?i f(n u m

43、ber < = Enu m 1 )? co u t< <” 銷售成功! " << endl ;?c o utV”輸入任意字符!繼續(xù)?ge t ch ();?el s e:": ,? cou t <v”庫存不足,請重新輸入!" e n dl;? c out"輸入任意字符!繼續(xù)"getch();?elsecout<<"tt沒有找到!"<<endl;?cout”輸入任意字符!繼續(xù)"?getch();?break;?case2:?cout<<"

44、;tt請輸入要查找得商品得編號?cin>>Num;if(p=FindNum(Num)?cout<<"請輸入要銷售得數(shù)量:";?Cin>>number;?if(number=Enum1)?cout”銷售成功!"<<endl;?coutv<"輸入任意字符!繼續(xù)”;?getch();?else?cout<"庫存不足,請重新輸入!"end1;cout<<"輸入任意字符!繼續(xù)getch();?else?cout<<"t沒有找到!"e

45、ndl;cout<”輸入任意字符!繼續(xù)";getch();?break;?voidSupermarketmassage:S*p1,Supermarket*p2)/交換兩個box變量得數(shù)據(jù)域Supcrmarket*temp=newSupermarket;strcpy(temp>name,pl->name);/字符串name里面strcpy(temp>Num,pl>Num);?strcpy(temp->Add,p1>Add);?temp>Cnum=p1->Cnum;?temp->Mnum干1->Mnurn;temp->

46、;Enum=pl>Enum;tempPrice=p1>Price;?temp>Sum=p1>Sum;?strcpy(p1>name,p2>nam*;strcpy(plNum,p2>Num);strcpy(p1Add,p2->Add);p1>Cnum=p2Cnum;p1->Mnum=p2>Mnun;?p1Enum=p2>Enum;p1->Price=p2>Price;?p1->Sum=p2>Sumi;?strcpy(p2->name,temp>name);?strcpy(p2->Nu

47、m,temp->Nuni);?strcpy(p2>Add,temp->Add);p2>Cnum=temp>Cnum;p2->Mnum=temp>Mnum;?p2->Enum=temp->Enum;p2>Price=temp>Price;p2->Sum=temp>Sum;intSupermarketmassage:ListCount()/統(tǒng)計當(dāng)前鏈表得記錄總數(shù),返回一個整數(shù)if!Head)?return0;intn=0;?for(Supermarket*p=Head->Niext;p!=End;p=p>Ne

48、xt)?n+;?returnn;voidSupermarketmassage:Sort)/對當(dāng)前鏈表進(jìn)行排序?cout<<"Sorting、"endl;?Supermarket*p=NULL*p1=NULL,*k=NULL?intn=Supermarketmassage::ListCount();?if(nv2)return;for(p=Head>Niext;p!=End;p=p->Next)?for(k=p->Next;k!=End;k=k->Next)if(p-Add>k>Add)?Supermarketmassage:S

49、);?cout<"排序完成!"endl;?getch();return;voidSupermarketmassagc:Save()?out、open("sort、txt");for(Supermarket*p=Head>Next;p!=End;p=pNiext)?outv<p>name«"tt"?<p>Num<"tt"<pCnum<"tt"<p->Mnum<<"tt"?VpEnum<"t"p->Add<t"?<<p>Price<t"?p>Sum<<'n

溫馨提示

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

評論

0/150

提交評論