c++商品管理程序_第1頁
c++商品管理程序_第2頁
c++商品管理程序_第3頁
c++商品管理程序_第4頁
c++商品管理程序_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、淮陰工學(xué)院 C+C+程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告 選題名稱選題名稱: 商品管理系統(tǒng) 系(院)系(院): 計(jì)算 機(jī) 工 程 學(xué) 院 專專 業(yè)業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) 班班 級(jí)級(jí): 計(jì)算機(jī)#班 姓姓 名名: # 學(xué)學(xué) 號(hào)號(hào): # 指導(dǎo)教師指導(dǎo)教師: 步山岳 學(xué)年學(xué)期學(xué)年學(xué)期: 2015 2016 學(xué)年 第 1 學(xué)期 2015 年 12 月 29 日 設(shè)計(jì)任務(wù)書設(shè)計(jì)任務(wù)書 課題課題 名稱名稱 商品管理系統(tǒng) 設(shè)計(jì)設(shè)計(jì) 目的目的 1.調(diào)研商品管理系統(tǒng)的功能; 2.學(xué)習(xí)與商品管理系統(tǒng)相關(guān)的參考資料和基于 VC+集成環(huán)境的編程技術(shù); 3.通過實(shí)際編程加深對(duì)基礎(chǔ)知識(shí)的理解,提高實(shí)踐能力; 4.學(xué)習(xí)開

2、發(fā)資料的收集與整理,學(xué)會(huì)撰寫課程設(shè)計(jì)報(bào)告。 實(shí)驗(yàn)實(shí)驗(yàn) 環(huán)境環(huán)境 1.微型電子計(jì)算機(jī)(PC) ; 2.安裝 Windows 2000 以上操作系統(tǒng),Visual C+6.0 開發(fā)工具,Microsoft Office PowerPoint 2003。 任務(wù)任務(wù) 要求要求 1.利用課余時(shí)間去圖書館或上網(wǎng)查閱課題相關(guān)資料,深入理解課題含義及設(shè)計(jì)要求, 注意材料收集與整理; 2.在第,17 周末之前完成預(yù)設(shè)計(jì),并請(qǐng)指導(dǎo)教師審查,通過后方可進(jìn)行下一步工作; 3.本課題主要功能有:1)添加:即增加一個(gè)商品的記錄到系統(tǒng)中;2)刪除:即從系 統(tǒng)中刪除一個(gè)商品的記錄;3)查詢:可根據(jù)商品名稱、編號(hào)查找商品的相關(guān)

3、信息, 若找到顯示該商品的全部信息;4)修改:可修改一個(gè)商品的除名稱外的其它信息; 5)狀態(tài):提供該商品在庫(kù)、不在庫(kù)的狀態(tài)。 4.結(jié)束后,及時(shí)提交設(shè)計(jì)報(bào)告(含紙質(zhì)稿、電子稿) ,要求格式規(guī)范、內(nèi)容完整、結(jié) 論正確,正文字?jǐn)?shù)不少于 3000 字(不含代碼) 。 工作進(jìn)度計(jì)劃工作進(jìn)度計(jì)劃 序號(hào)序號(hào)起止日期起止日期工工 作作 內(nèi)內(nèi) 容容 12015.12.262015.12.27 在預(yù)設(shè)計(jì)的基礎(chǔ)上,進(jìn)一步查閱資料,完善設(shè)計(jì)方 案,形成書面材料。 22015.12. 272015.12. 29 設(shè)計(jì)總體方案,構(gòu)建、繪制流程框圖,編寫代碼, 上機(jī)調(diào)試。 32015.12. 292015.12. 30測(cè)試

4、程序,優(yōu)化代碼,增強(qiáng)功能,撰寫設(shè)計(jì)報(bào)告。 42015.12. 302015.12. 31 提交軟件代碼、設(shè)計(jì)報(bào)告,參加答辯,根據(jù)教師反 饋意見,修改、完善設(shè)計(jì)報(bào)告。 指導(dǎo)教師(簽章):指導(dǎo)教師(簽章): 年年 月月 日日 摘要: 分別對(duì)軟件的需求進(jìn)行分析,對(duì)軟件的概要設(shè)計(jì)和軟件的詳細(xì)設(shè)計(jì)進(jìn)行闡述,以 及對(duì)軟件的組裝及測(cè)試的詳細(xì)敘述,并附加了軟件的使用說明書(操作手冊(cè)) 。程序 設(shè)計(jì)一般由兩部分組成:算法和數(shù)據(jù)結(jié)構(gòu),合理選擇和實(shí)現(xiàn)一個(gè)數(shù)據(jù)結(jié)構(gòu)與處理這些 數(shù)據(jù)結(jié)構(gòu)具有同樣的重要性。以將每個(gè)功能分別編譯實(shí)現(xiàn),再通過函數(shù)包含,調(diào)用等 方法實(shí)現(xiàn)各項(xiàng)功能間的連接為設(shè)計(jì)思想,并采用將商品當(dāng)作一個(gè)整體,整體類

5、型為結(jié) 構(gòu)體,結(jié)構(gòu)體中的域表示商品的屬性的這種定義結(jié)構(gòu)作為數(shù)據(jù)結(jié)構(gòu)。軟件將各個(gè)模塊 的功能分為列菜單、商品登記、添加、查詢、修改、刪除、顯示等來組成整個(gè)程序, 實(shí)現(xiàn)對(duì)商品信息的系統(tǒng)管理。該程序界面友好,易于操作,使操作者和使用者應(yīng)用更 加方便。 關(guān)鍵詞:課程設(shè)計(jì);商品管理;VC+;代碼 目目錄錄 1 1 課題綜述課題綜述 .1 1 1.1 課題來源.1 1.2 課題意義.1 1.3 預(yù)期目標(biāo).1 1.4 面對(duì)問題.1 1.5 需要解決的關(guān)鍵技術(shù).2 2 2 系統(tǒng)分析系統(tǒng)分析.3 3 2.1 涉汲的基礎(chǔ)知識(shí).3 2.2 解決問題的基本思路.4 2.3 總體方案.4 3 3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì).5

6、5 3.1 系統(tǒng)達(dá)到的目的.5 3.2 系統(tǒng)功能說明.5 3.2.1 功能分析說明圖.5 3.2.2 各項(xiàng)功能說明.5 3.3 系統(tǒng)設(shè)計(jì)環(huán)境與模塊的劃分.6 3.3.1 系統(tǒng)設(shè)計(jì)環(huán)境.6 3.3.2 系統(tǒng)模塊的劃分.6 3.4 軟件設(shè)計(jì)主要原理.7 3.4.1 采用的主要數(shù)據(jù)結(jié)構(gòu)類型.7 3.4.2 各個(gè)模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲(chǔ)存格式說明.8 3.4.3 主要流程圖.8 4 4 代碼編寫代碼編寫.1414 4.1 各模塊之間的調(diào)用方式.14 4.2 程序中實(shí)現(xiàn)各項(xiàng)功能的函數(shù)與程序代碼.14 5 5 程序調(diào)試程序調(diào)試.2323 5.1 出現(xiàn)問題及解決方法.23 6 6 運(yùn)行與測(cè)試運(yùn)行與測(cè)試.2

7、424 總總 結(jié)結(jié) .2929 致致 謝謝 .2929 參考文獻(xiàn)參考文獻(xiàn).2929 1 課題綜述課題綜述 本章主要闡述了課題的來源、意義、預(yù)期的目標(biāo)以及要面對(duì)的問題和需要解決的 關(guān)鍵技術(shù)。 1.1 課題來源課題來源 “C+程序設(shè)計(jì)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)最重要的一門專業(yè)基礎(chǔ)課程,涉及知 識(shí)點(diǎn)多,教、學(xué)難度非常大,往往費(fèi)了大量時(shí)間而達(dá)不到預(yù)期效果。俗語說:學(xué)習(xí)的 最好方法是實(shí)踐。為了給我們提供一個(gè)理論聯(lián)系實(shí)際的機(jī)會(huì),學(xué)院特課設(shè)課程設(shè)計(jì)實(shí) 踐課,布置一定難度的課題,要求我們獨(dú)立完成。本課題便是來自課程設(shè)計(jì)實(shí)踐課中 的課題。 1.2 課題意義課題意義 通過設(shè)計(jì)商品管理系統(tǒng)這一實(shí)踐活動(dòng),可以促使我們建

8、立課程設(shè)計(jì)的整體思想, 鍛煉我們的編寫程序、調(diào)試程序的能力,學(xué)習(xí)文檔編寫規(guī)范,培養(yǎng)獨(dú)立學(xué)習(xí)、吸取他 人經(jīng)驗(yàn)、探索前沿知識(shí)的習(xí)慣,樹立團(tuán)隊(duì)協(xié)作精神。 1.3 預(yù)期目標(biāo)預(yù)期目標(biāo) 寫出代碼,不斷調(diào)試修改,最終實(shí)現(xiàn)登記商品信息、添加一個(gè)商品記錄、查詢一 個(gè)商品的全部信息(包括按商品編號(hào)查詢和商品名稱查詢) 、修改一個(gè)商品除名稱外 的全部信息、刪除一個(gè)商品記錄等功能。 1.4 面對(duì)問題面對(duì)問題 如何去實(shí)現(xiàn)預(yù)期的功能?比如在修改商品信息的時(shí)候如果出現(xiàn)編號(hào)重復(fù)了,如何 實(shí)現(xiàn)對(duì)此的辨別?在修改商品信息時(shí),如果遇到不需要修改的信息,如何簡(jiǎn)化工作, 跳過對(duì)某一信息的修改,而非將愿信息重新輸入一邊等。這些都是要面對(duì)

9、的問題。 1.5 需要解決的關(guān)鍵技術(shù)需要解決的關(guān)鍵技術(shù) 選擇使用結(jié)構(gòu),則須知道結(jié)構(gòu)體的基礎(chǔ)知識(shí),要定義的域內(nèi)容,各數(shù)據(jù)的類型。 需要用到的函數(shù)及其定義,熟練運(yùn)用循環(huán)語句。 確立菜單形式選項(xiàng),則要熟悉 switch 語句。 2 系統(tǒng)分析系統(tǒng)分析 2.1 涉汲的基礎(chǔ)知識(shí)涉汲的基礎(chǔ)知識(shí) 基本數(shù)據(jù)類型:基本數(shù)據(jù)類型:整型(int) 、浮點(diǎn)型(單精度 float、雙精度 double) 、字符型 (char) 。 結(jié)構(gòu)體結(jié)構(gòu)體:自定義數(shù)據(jù)類型中的一種,它可將多種數(shù)據(jù)類型組合在一起使用,方 便描述現(xiàn)實(shí)世界的各種各樣的客觀對(duì)象之間的關(guān)系。 If 語句語句:也稱條件語句,主要功能是當(dāng)程序運(yùn)行到此處可以根據(jù)條件

10、的不同而 決定執(zhí)行什么樣的后續(xù)語句。它的語法有兩種形式: if ( (表達(dá)式表達(dá)式) ) 語句語句; ; if ( (表達(dá)式表達(dá)式) ) 語句語句 1; ; else 語句語句 2; ; Switch 語句語句:也稱開關(guān)語句,它是多分支結(jié)構(gòu)。 一般形式為: case : break; case : break; case : break; default: : 注意點(diǎn):注意點(diǎn):Switch 括號(hào)中的表達(dá)式只能是整型、字符型或枚舉型表 達(dá)式。Case 后面的常量表達(dá)式之類型必須而與其匹配。 String.h 頭文件:頭文件:是諸多字符空間操作的庫(kù)函數(shù)集合。 本系統(tǒng)用到“strcmp”來實(shí)現(xiàn)字符的

11、比較。 函數(shù):函數(shù):由能完成特定任務(wù)的獨(dú)立程序代碼塊組成;其內(nèi)部工作對(duì)程序的其余部分 是不可見的。 形式如下: 返回類型返回類型 函數(shù)名(參數(shù)表)函數(shù)名(參數(shù)表) 語句塊;語句塊; 函數(shù)名:函數(shù)名:應(yīng)盡可能反映函數(shù)的功能; 參數(shù)表:參數(shù)表:0 個(gè)或多個(gè)變量,用于向函數(shù)傳送數(shù)值或從函數(shù)帶回?cái)?shù)值。如果 參數(shù)表列中參數(shù)個(gè)數(shù)為 0,稱為無參函數(shù) 返回類型:返回類型:用 return 返回函數(shù)值的類型。如果函數(shù)沒有返回值,返回類型 應(yīng)為 void。一個(gè)函數(shù)也可以有多個(gè) return 語句,在函數(shù)的執(zhí)行 過程中,遇到任一個(gè) return 語句,將立即停止執(zhí)行,并返回到 調(diào)用函數(shù)。 函數(shù)體:函數(shù)體:花括號(hào)中

12、的語句稱為函數(shù)體。一個(gè)函數(shù)的功能,通過函數(shù)體中的 語句來完成。 2.2 解決問題的基本思路解決問題的基本思路 針對(duì)相應(yīng)的問題,選擇合適的語句。通過函數(shù)調(diào)用,來實(shí)現(xiàn)各個(gè)功能。 2.3 總體方案總體方案 將各功能,以菜單的形式列出。建立菜單,通過使用 case 語句,選擇相應(yīng)的功 能。將每一個(gè)功能以函數(shù)的形式寫出,在主函數(shù)的每一個(gè) case 語句中調(diào)用。 3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì) 3.1 系統(tǒng)達(dá)到的目的系統(tǒng)達(dá)到的目的 該系統(tǒng)主要是實(shí)現(xiàn)對(duì)商品信息進(jìn)行系統(tǒng)化的管理,首先可以對(duì)商品基本信息進(jìn)行 登記,其次在有需要的情況下可以繼續(xù)添加一條或多條商品記錄,然后可以按照商品 的編號(hào)或者名稱查詢商品的全部信息,還可

13、以實(shí)現(xiàn)修改商品除名稱外的所有信息以及 刪除商品記錄等。由此來系統(tǒng)化管理商品信息,并達(dá)到簡(jiǎn)易操作的目的。 3.2 系統(tǒng)功能說明系統(tǒng)功能說明 3.2.1 功能分析說明圖 該軟件功能分析說明圖如 3-1 所示 圖 3-1 商品管理系統(tǒng)分析說明圖 3.2.2 各項(xiàng)功能說明 (1)登記商品信息: 這部分的功能主要是商品信息的登記。按照提示依次輸入商品的編號(hào)、名稱、價(jià) 格以及庫(kù)存。 (2)添加商品信息: 商品管理系統(tǒng) 按 編 號(hào) 按 名 稱 修 改 編 號(hào) 修 改 價(jià) 格 修 改 庫(kù) 存 此功能是在已登記的基礎(chǔ)上如果需要添加則選擇此項(xiàng)。 (3)按編號(hào)查找商品信息: 此項(xiàng)功能可以根據(jù)用戶輸入的商品編號(hào)查出該

14、商品的所有信息。 (4)按名稱查找商品信息: 此項(xiàng)功能可以根據(jù)用戶輸入的商品名稱查出該商品的所有信息。 (5)刪除學(xué)生信息: 進(jìn)入該項(xiàng)功能界面后,用戶可以通過學(xué)生的編號(hào)對(duì)某個(gè)商品記錄進(jìn)行刪除。 (6)修改商品信息: 進(jìn)入修改界面,系統(tǒng)將提示輸入要修改的商品編號(hào),用戶正確輸入編號(hào)后會(huì)出現(xiàn) 子菜單,其中包括修改編號(hào)、價(jià)格、庫(kù)存以及返回主菜單。如果修改后的編號(hào)與庫(kù)存 中其他商品編號(hào)重復(fù),將提示重新輸入。 (7)商品庫(kù)存狀態(tài): 此項(xiàng)功能可以根據(jù)用戶輸入的商品編號(hào)查出該商品庫(kù)存是否為零,如果為零,則 顯示“該商品不在庫(kù)!” 。不為零,則顯示“該商品在庫(kù)!” 。 (8)顯示商品的所有信息: 選擇此項(xiàng)功能后

15、,系統(tǒng)將自動(dòng)在屏幕上顯示出所有商品的信息。 (9)退出系統(tǒng): 選擇此項(xiàng)功能后,退出系統(tǒng),結(jié)束任務(wù)。 3.3 系統(tǒng)設(shè)計(jì)環(huán)境與模塊的劃分系統(tǒng)設(shè)計(jì)環(huán)境與模塊的劃分 3.3.1 系統(tǒng)設(shè)計(jì)環(huán)境 Microsoft Visual C+ 6.0:美國(guó)微軟公司開發(fā)的 C+集成開發(fā)環(huán)境,它集源程序的 編寫、編譯、連接、調(diào)試、運(yùn)行,以及應(yīng)用程序的文件管理于一體,是當(dāng)前 PC 機(jī)上 最流行的 C+程序開發(fā)環(huán)境。 3.3.2 系統(tǒng)模塊的劃分 該軟件主要組成模塊和各個(gè)模塊之間的調(diào)用關(guān)系如圖3-2: 圖 3-2 模塊調(diào)用關(guān)系圖 3.4 軟件設(shè)計(jì)主要原理軟件設(shè)計(jì)主要原理 3.4.1 采用的主要數(shù)據(jù)結(jié)構(gòu)類型 該程序采用的是結(jié)

16、構(gòu)體類型來處理學(xué)生的所有基本信息,如下所述: 包含的庫(kù)函數(shù)有: #include/數(shù)據(jù)流輸入/輸出 #include /字符串處理 #include /參數(shù)化輸入/輸出 setw() #include /進(jìn)程處理 system(cls) #include /standard input and output #define N 100 /宏定義又稱為預(yù)定義,可以定義常量 /商品結(jié)構(gòu)體定義 struct shangpin int id; /商品編號(hào) 商品管理系統(tǒng)商品管理系統(tǒng) 主菜單 主函數(shù)(包括以 下所有函數(shù)) 登 記 商 品 信 息 添加 商品 信息 查找 商品 信息 修改 商品 信息 刪除

17、商品 信息 商品 在庫(kù) 狀態(tài) 退 出 系 統(tǒng) 顯示 所有 商品 信息 char spname20; /商品名稱 float price; /商品價(jià)格 int kucun; /商品庫(kù)存 ; shangpin spN=0,0,0,0; /結(jié)構(gòu)體初始化 int count=0,temp; /定義全局變量 count,temp; /函數(shù)聲明: void tianjia(); /添加商品記錄 void bianhaochazhao(); /按編號(hào)查找商品信息 void namechazhao(); /按名稱查找商品信息 void xiugai(); /修改商品信息 void shanchu(); /刪除

18、商品記錄 void zhuangtai(); /商品庫(kù)存狀態(tài) void xianshi(); /顯示所有商品信息 void xiugaibianhao(); /修改編號(hào) void xiugaijiage(); /修改價(jià)格 void xiuggaikucun(); /修改庫(kù)存 3.4.2 各個(gè)模塊之間的調(diào)用關(guān)系和數(shù)據(jù)儲(chǔ)存格式說明 各函數(shù)模塊之間的調(diào)用關(guān)系主要是主函數(shù)調(diào)用所有其它功能函數(shù)和菜單函數(shù),并 利用循環(huán)使各個(gè)功能函數(shù)運(yùn)行完畢后都會(huì)回到菜單。該程序的數(shù)據(jù)以二進(jìn)制儲(chǔ)存。 3.4.3 主要流程圖 一、主函數(shù) 開始 圖圖 3-3 主函數(shù)流程圖 二、添加商品信息 圖 3-4 登記商品信息流程圖 三、

19、查找商品信息 選擇功能 結(jié)束 開始 輸入商品的編號(hào)、 名稱、價(jià)格、庫(kù)存 提示是否繼續(xù) 輸入(y/n) 自動(dòng)保存 結(jié)束 登 記 商 品 信 息 添加 商品 信息 按編 號(hào) 查找 商品 信息 修改 商品 信息 刪除 商品 信息 商品 在庫(kù) 狀態(tài) 退 出 系 統(tǒng) 顯示 所有 商品 信息 按名 稱 查找 商品 信息 圖圖 3-5 查找商品信息流程圖 開始 選擇操作 3 或操作 4 按提示輸入編 號(hào)或者名稱 輸出相應(yīng)商 品信息 返回主菜單 結(jié)束 四、修改商品信息 圖 3-6 修改商品信息 五、刪除商品信息 輸入要修改 的商品編號(hào) 選擇操作 4 返回本函數(shù)菜單 輸入新 編號(hào) 開始 開始 選擇操作 6 輸入

20、要?jiǎng)h除 的商品編號(hào) 選擇操作 1 選擇操作 2 選擇操作 4 選擇操作 3 進(jìn)入編號(hào) 修改界面 返回主菜 單 進(jìn)入庫(kù)存 修改界面 進(jìn)入價(jià)格 修改界面 輸入新 價(jià)格 輸入新 庫(kù)存 結(jié)束 圖圖 3-7 刪除商品信息流程圖 六、商品在庫(kù)狀態(tài) 圖圖 3-7 商品在庫(kù)狀態(tài)流程圖 七、顯示所有商品信息 系統(tǒng)對(duì)此編號(hào)商品的所 有進(jìn)行清零實(shí)現(xiàn)刪除 結(jié)束 開始 選擇操作 8 輸出所有商品 的編號(hào)、名稱、 價(jià)格、庫(kù)存清 單 開始 選擇操作 7 輸入要查詢的 商品編號(hào) 輸出相應(yīng)商品 在庫(kù)狀態(tài) 返回主菜單 結(jié)束 圖圖 3-8 顯示所有商品信息流程圖 八、退出函數(shù) 圖圖 3-9 退出函數(shù)流程圖 4 代碼編寫代碼編寫 4

21、.1 各模塊之間的調(diào)用方式各模塊之間的調(diào)用方式 程序中各個(gè)模塊之間的調(diào)用方式主要是通過文件的包含和函數(shù)的調(diào)用實(shí)現(xiàn) 的,用文件的形式把各個(gè)函數(shù)分開,再用頭文件把它們包含進(jìn)來,使用主函數(shù)進(jìn) 行調(diào)用。 4.2 程序中實(shí)現(xiàn)程序中實(shí)現(xiàn)各項(xiàng)功能的函數(shù)與程序代碼各項(xiàng)功能的函數(shù)與程序代碼 一、頭文件及宏定義: #include/數(shù)據(jù)流輸入/輸出 開始 選擇操作 9 退出程序 結(jié)束 結(jié)束 #include /字符串處理 #include /參數(shù)化輸入/輸出 setw() #include /進(jìn)程處理 system(cls) #include /standard input and output #define

22、N 100 /宏定義又稱為預(yù)定義,可以定義常量 /商品結(jié)構(gòu)體定義 struct shangpin int id; /商品編號(hào) char spname20; /商品名稱 float price; /商品價(jià)格 int kucun; /商品庫(kù)存 ; shangpin spN=0,0,0,0; /結(jié)構(gòu)體初始化 int count=0,temp; /定義全局變量 count,temp; /函數(shù)聲明: void tianjia(); /添加商品記錄 void bianhaochazhao(); /按編號(hào)查找商品信息 void namechazhao(); /按名稱查找商品信息 void xiugai();

23、 /修改商品信息 void shanchu(); /刪除商品記錄 void zhuangtai(); /商品庫(kù)存狀態(tài) void xianshi(); /顯示所有商品信息 void xiugaibianhao(); /修改編號(hào) void xiugaijiage(); /修改價(jià)格 void xiuggaikucun(); /修改庫(kù)存 /主菜單 void MenuMain() system(cls); /清屏 cout-歡迎使用我們的商品管理系統(tǒng)-endl; cout-endl; coutendl; cout-endl; cout 請(qǐng)選擇服務(wù) endl; cout 1 - 添加商品記錄 endl;

24、cout 2 - 按編號(hào)查找商品信息 endl; cout 3 - 按名稱查找商品信息 endl; cout 4 - 修改商品信息 endl; cout 5 - 刪除商品記錄 endl; cout 6 - 商品庫(kù)存狀態(tài) endl; cout 7 - 顯示所有商品信息 endl; cout 8 - 安全退出 endl; cout-endl; coutoptions; switch (options) case 1: tianjia(); /調(diào)用添加函數(shù) break; case 2: bianhaochazhao(); /調(diào)用編號(hào)查找函數(shù) break; case 3: namechazhao();

25、 /調(diào)用名稱查找函數(shù) break; case 4: xiugai(); /調(diào)用修改函數(shù) break; case 5: shanchu(); /調(diào)用刪除函數(shù) break; case 6: zhuangtai(); /調(diào)用庫(kù)存狀態(tài)函數(shù) break; case 7: xianshi(); /調(diào)用顯示函數(shù) break; case 8: cout謝謝使用!endl; return; / getchar(); /添加商品記錄 void tianjia() char str; for(int i=0;iN;i+) cout請(qǐng)輸入商品編號(hào)、名稱、價(jià)格、庫(kù)存:spi.idspi.spnamespi.prices

26、pi.kucun; count+; cout繼續(xù)(y/n)str; if(str= n) break; /按編號(hào)查找商品信息 void bianhaochazhao() int num,flag=0; coutnum; for(int i=0;icount;i+) if(num=spi.id) flag=1; coutsetw(6)編號(hào)setw(20)名稱setw(6)價(jià)格setw(6) 庫(kù)存endl; coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun; coutendl; break; if(flag

27、!=1) cout對(duì)不起,該編號(hào)不存在!endl; getchar(); /按名稱查找商品信息 void namechazhao() int flag=0; char sppname20; coutsppname; for(int i=0;icount;i+) if(strcmp(spi.spname,sppname)=0) /相等返回 0 flag=1; coutsetw(6)編號(hào)setw(20)名稱setw(6)價(jià)格setw(6) 庫(kù)存endl; coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun;

28、coutendl; break; if(flag!=1) cout對(duì)不起,該商品不存在!endl; getchar(); /修改商品信息 void xiugai() int flag=0; int t,m; cout請(qǐng)輸入要修改的商品編號(hào):m; for(int i=0;icount;i+) if(m=spi.id) flag=1; temp=i; break; if(flag=1) edit: cout 修改商品信息 endl; cout-endl; cout 請(qǐng)選擇: endl; cout 1 - 修改編號(hào) endl; cout 2 - 修改價(jià)格 endl; cout 3 - 修改庫(kù)存 en

29、dl; cout 4 - 返回主菜單 endl; cout-t; switch (t) case 1: xiugaibianhao(); goto edit; break; case 2: xiugaijiage(); goto edit; break; case 3: xiuggaikucun(); goto edit; break; case 4: break; if(flag!=1) cout對(duì)不起,該商品不存在!endl; /修改編號(hào) void xiugaibianhao() int flag=0,s1; cout請(qǐng)輸入商品的新編號(hào):s1; for(int i=0;icount;i+)

30、 if(spi.id=s1) flag=1; temp=i; break; if(flag=1) cout該編號(hào)已存在!endl; else sptemp.id=s1; /修改價(jià)格 void xiugaijiage() float s2; cout請(qǐng)輸入商品的新價(jià)格 :s2; sptemp.price=s2; /修改庫(kù)存 void xiuggaikucun() int s3; cout請(qǐng)輸入商品庫(kù)存 :s3; sptemp.kucun=s3; /刪除商品記錄 void shanchu() int m; cout請(qǐng)輸入要?jiǎng)h除的商品編號(hào):m; for(int i=0;icount;i+) if(m

31、=spi.id) spi = spi+1; count-; /商品庫(kù)存狀態(tài) void zhuangtai() int num,flag=0,m; coutnum; for(int i=0;icount;i+) if(num=spi.id) flag=1; m=i; if (flag=1) if(spm.kucun=0) cout該商品不在庫(kù)!endl; else cout該商品在庫(kù)!endl; if(flag!=1) cout對(duì)不起,該商品不存在!endl; getchar(); /顯示所有商品信息 void xianshi() cout 商品信息 endl; cout-endl; couts

32、etw(6)編號(hào)setw(20)名稱setw(6)價(jià)格setw(6)庫(kù) 存endl; for(int i=0;icount;i+) coutsetw(6)spi.id setw(20)spi.spname setw(6)spi.price setw(6)spi.kucun; coutendl; getchar(); 5 程序調(diào)試程序調(diào)試 5.1 出現(xiàn)問題及解決方法出現(xiàn)問題及解決方法 (1) 、修改商品信息函數(shù)無法運(yùn)行 原因:函數(shù)結(jié)構(gòu)混亂,case 中鑲?cè)肓颂嗟暮瘮?shù)內(nèi)容,混亂之下,容易含 糊 解決方法:將 case 下的各函數(shù)剝離出來,分別寫 void xiugaibianhao()、void

33、 xiugaijiage()、void xiuggaikucun()將商品信息的編號(hào)修改、價(jià)格修改、庫(kù) 存修改以三個(gè)子函數(shù)的形式寫出來,然后鑲嵌到修改商品信息的主體函 數(shù)中。 (2) 、添加商品信息時(shí),已登記的信息被清空 原因:for(int i=0;iN;i+),此 for 循環(huán)中從 0 重新開始計(jì)數(shù),前面內(nèi)容被替 代 解決方法:在商品信息登記中定義(int count=0)來計(jì)數(shù),將添加商品記錄函 數(shù)中 for 循環(huán)中的 i 初值定位 count(即 int i=count) 。 6 運(yùn)行與測(cè)試運(yùn)行與測(cè)試 將把程序運(yùn)行過程寫出,并對(duì)此程序的一些細(xì)節(jié)和具體的操作方法加以說明,說明如 下: 1

34、、進(jìn)入系統(tǒng),主要有選項(xiàng) 1-登記商品信息、2-添加商品信息、3-按編號(hào)查找商 品信息、4-按名稱查找商品信息、5-修改商品信息、6-刪除商品記錄、7-商品 庫(kù)存狀態(tài)、8-顯示所有商品信息、9-安全退出。界面如圖 6-1: 圖 6-1 商品管理系統(tǒng)主界面 2、選擇 1 登記商品信息,進(jìn)入界面,跟據(jù)提示依次輸入商品編號(hào)、名稱、價(jià)格、 庫(kù)存。如:1 lxq 66 1545。如圖 6-2: 圖 6-2 登記商品信息界面圖 a 輸入 y,繼續(xù)輸入商品記錄,2 ppp 69 1626。如圖 6-3: 圖 6-3 登記商品信息界面圖 b 輸入 n,確認(rèn)。返回主菜單,如圖 6-4: 圖 6-4 登記商品信息界

35、面圖 c 3、選擇 2,添加商品信息,根據(jù)提示,依次輸入商品信息:3 a 6 0。如圖 6-5: 圖 6-5 添加商品信息 輸入庫(kù)存為 0,為下面測(cè)試,第 7 個(gè)選項(xiàng),商品庫(kù)存狀態(tài)作鋪墊;輸入 n 返回 主菜單。 4、選擇 3 按編號(hào)查找商品信息,進(jìn)入界面,按提示輸入要查詢的商品編號(hào),輸 入 1。如圖 6-6: 圖 6-6 編號(hào)查找商品信息 a 確認(rèn),顯示該編號(hào)商品的所有信息,如圖 6-7: 圖 6-7 編號(hào)查找商品信息 b 按任意鍵返回主菜單。 5、選擇 4 按名稱查找商品信息,進(jìn)入界面,按提示輸入要查詢的商品名稱,輸 入 a。如圖 6-8: 圖 6-8 按名稱查找商品信息 a 確認(rèn),顯示該

36、編號(hào)商品的所有信息,如圖 6-9: 圖 6-9 按名稱查找商品信息 b 按任意鍵返回主菜單。 6、選擇 5 修改商品信息,按提示輸入要修改的商品的編號(hào),輸入 1。如圖 6- 10: 圖 6-10 修改商品信息 a 確認(rèn),進(jìn)入操作界面,如圖 6-11: 圖 6-11 修改商品信息 b 選擇 1,進(jìn)入編號(hào)修改界面,并輸入新編號(hào) 2。如圖 6-12: 圖 6-11 修改商品信息 c 如果編號(hào)重復(fù),系統(tǒng)將提示編號(hào)已存在,要求返回上級(jí)菜單,重新選擇輸入, 如圖 6-13: 圖 6-11 修改商品信息 d 選擇 1,重新輸入新編號(hào) 99。如圖 6-14: 圖 6-11 修改商品信息 e 確認(rèn),并返回上級(jí)菜單,選擇 2,修改價(jià)格,輸入新價(jià)格 56。如圖 6-15: 圖 6-11 修改商品信息 f 確認(rèn),并返回上級(jí)菜單,選擇 3,修改庫(kù)存,輸入新庫(kù)存 0。如圖 6-16: 圖 6-11 修改商品信息 g 確認(rèn),并返回上級(jí)菜單,選擇 4,返回主菜單。 7、選擇 8,顯示所有商品信息,以驗(yàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論