這篇文章給大家分享的是有關(guān)使用C++實(shí)現(xiàn)商品管理程序的案例的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿(mǎn)足客戶(hù)于互聯(lián)網(wǎng)時(shí)代的潯陽(yáng)網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!一、題目:商品管理程序
二、目的與要求
1.目的
培養(yǎng)學(xué)生綜合利用C++語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力,培養(yǎng)學(xué)生綜合利用C++語(yǔ)言進(jìn)行程序設(shè)計(jì)的能力,熟悉數(shù)組的操作,加強(qiáng)函數(shù)的運(yùn)用,掌握典型算法的使用,提高軟件系統(tǒng)分析能力和程序文檔建立、歸納總結(jié)的能力。
2.基本要求
(1) 要求用C++語(yǔ)言編程,在Visual C++環(huán)境下調(diào)試完成;
(2) 要求按照程序功能分成幾個(gè)功能模塊來(lái)實(shí)現(xiàn),各個(gè)功能模塊分別使用函數(shù)來(lái)完成;
(3) 要求提供操作菜單,以便用戶(hù)進(jìn)行選擇;
(4) 應(yīng)對(duì)程序添加必要的注釋?zhuān)?br/>(5) 要求應(yīng)用本課所講授的程序設(shè)計(jì)語(yǔ)言知識(shí)來(lái)解決問(wèn)題,使用教材前六章的內(nèi)容來(lái)完成程序。
3.創(chuàng)新要求
在基本要求達(dá)到后,進(jìn)行創(chuàng)新設(shè)計(jì):
(1) 對(duì)程序功能進(jìn)行拓展,使其更加實(shí)用。例如增加刪除功能和插入功能,即找到指定商品后將其從原數(shù)組中刪除;將新商品的信息按照商品代碼升序的順序插入到原數(shù)組中。
三、設(shè)計(jì)方法和基本原理
1.1功能描述
編寫(xiě)一個(gè)簡(jiǎn)單的商品信息管理程序,主要完成商品的一些信息的計(jì)算,商品的排序、查詢(xún)及顯示功能。
問(wèn)題詳細(xì)描述
某商場(chǎng)的電器區(qū)有多種商品,每種商品包括以下信息:
代碼(整型),名稱(chēng)(字符串),總量(整型),單價(jià)(雙精度),銷(xiāo)售量(整型),庫(kù)存量(=總量-銷(xiāo)售量,整型),銷(xiāo)售額(銷(xiāo)售量*單價(jià),雙精度),例如目前有五種商品的基本信息,如表1所示。
--------------------------------------表1 商品信息列表-----------------------------------------------
要求在主函數(shù)中對(duì)各類(lèi)商品的信息進(jìn)行初始化,編寫(xiě)多個(gè)函數(shù)分別實(shí)現(xiàn)下列功能,而后在main函數(shù)中進(jìn)行調(diào)用。
各個(gè)函數(shù)的功能描述為:
(1) 計(jì)算函數(shù)cal:計(jì)算各類(lèi)商品的庫(kù)存量及銷(xiāo)售額。
(2) 排序函數(shù)sort1:按庫(kù)存量升序排序,若庫(kù)存量相同則按銷(xiāo)售量升序排序,要求使用冒泡法排序。
(3) 排序函數(shù)sort2:按商品名稱(chēng)降序排序,要求使用選擇法排序。
(4) 查詢(xún)函數(shù)search:根據(jù)商品代碼查找指定商品。若找到則返回該商品的下標(biāo),否則返回-1。
(5) 匯總函數(shù)total:計(jì)算并返回銷(xiāo)售總額(所有商品的銷(xiāo)售額的和)。
(6) 顯示函數(shù)output:輸出商品的信息。
(7) 顯示菜單函數(shù)showMenu:顯示菜單。
下面給出程序運(yùn)行的部分界面:
(1) 程序首先計(jì)算庫(kù)存量與銷(xiāo)售額,而后顯示菜單,提示用戶(hù)輸入數(shù)字1~6以進(jìn)行對(duì)應(yīng)操作,運(yùn)行界面如圖1所示。
(2)若用戶(hù)輸入的菜單選項(xiàng)不滿(mǎn)足要求(未在1~6范圍內(nèi)),則給出提示信息,提示用戶(hù)重新輸入,直到用戶(hù)輸入正確選項(xiàng),運(yùn)行界面如圖2所示。
(3) 當(dāng)用戶(hù)輸入正確菜單選項(xiàng)時(shí),則調(diào)用對(duì)應(yīng)函數(shù),運(yùn)行界面如圖3所示(執(zhí)行菜單項(xiàng)1與5后的界面)、圖4(執(zhí)行菜單項(xiàng)3后的界面)。
(4) 當(dāng)用戶(hù)輸入6時(shí),結(jié)束程序執(zhí)行,否則將一直提示用戶(hù)進(jìn)行輸入。
1. 2. 問(wèn)題的解決方案
根據(jù)問(wèn)題的描述,為實(shí)現(xiàn)程序的功能,可按照下述過(guò)程完成程序(僅供參考,可自行設(shè)計(jì)實(shí)現(xiàn)過(guò)程及方法):
* (1) 在主函數(shù)中定義結(jié)構(gòu)體數(shù)組存儲(chǔ)五種商品的信息,并使用給出的數(shù)據(jù)對(duì)該數(shù)組進(jìn)行初始化,而后調(diào)用cal函數(shù)進(jìn)行計(jì)算。
* (2) 為方便用戶(hù)選擇,應(yīng)提供良好的操作界面供用戶(hù)使用,根據(jù)不同的要求進(jìn)入到對(duì)應(yīng)的功能模塊。執(zhí)行完某個(gè)功能后,應(yīng)重新顯示菜單,因此可定義顯示菜單函數(shù)showMenu,并將該函數(shù)的調(diào)用置于循環(huán)結(jié)構(gòu)中。
* (3) 為實(shí)現(xiàn)根據(jù)用戶(hù)的不同輸入(共6個(gè))調(diào)用對(duì)應(yīng)函數(shù),應(yīng)采用多分支結(jié)構(gòu),可使用switch語(yǔ)句或else if語(yǔ)句實(shí)現(xiàn)。為實(shí)現(xiàn)多次輸入,應(yīng)將將菜單的顯示、用戶(hù)對(duì)菜單選項(xiàng)的輸入及各個(gè)功能模塊的調(diào)用置于一個(gè)循環(huán)結(jié)構(gòu),當(dāng)輸入為6時(shí),結(jié)束該循環(huán)。
* (4) 輸入待查找商品的代碼,再調(diào)用查找函數(shù)search進(jìn)行查找,若找到,調(diào)用output函數(shù)輸出該商品的信息,否則輸出未找到的提示信息。
四、主要技術(shù)問(wèn)題的描述
根據(jù)三的分析與描述,主要問(wèn)題在于:
* 1. 結(jié)構(gòu)體類(lèi)型的構(gòu)造(struct PRO)
為表示商品的完整信息,該類(lèi)型應(yīng)包括以下成員:代碼(int code)、名稱(chēng)(char name[20]) ,總量(int amount) ,單價(jià)(double price),銷(xiāo)售量(int sale1),商品的庫(kù)存量(int stock),銷(xiāo)售額(double sale2)。
* 2. 函數(shù)的參數(shù)傳遞問(wèn)題
由于該程序是對(duì)結(jié)構(gòu)體數(shù)組的操作,因此使用傳遞地址的方法,并傳遞數(shù)組長(zhǎng)度。以查找函數(shù)為例,該函數(shù)的原型說(shuō)明語(yǔ)句為:int search(PRO s[],int n ,int x); ,即在長(zhǎng)度為n的s數(shù)組中查找代碼為x的商品,若找到,則返回該商品的下標(biāo),否則返回-1。形參分別表示結(jié)構(gòu)體數(shù)組,數(shù)組長(zhǎng)度及待查商品的代碼。
* 3. 查詢(xún)后如何調(diào)用output函數(shù)只輸出一種商品的信息
已知output函數(shù)的原型說(shuō)明語(yǔ)句為: void output(PRO s[],int n); ,因此若要輸出下標(biāo)為k的一個(gè)商品的信息, 調(diào)用形式應(yīng)為:output(s+k, 1); ,其中,s為結(jié)構(gòu)體數(shù)組名,k為調(diào)用查詢(xún)函數(shù)search后返回的商品下標(biāo),1表示輸出商品的個(gè)數(shù)。
程序源代碼
#includeusing namespace std; void showMenu() { cout<<"***************************"< s[j+1].stock||(s[j].stock==s[j+1].stock&&s[j].sale1>s[j+1].sale1)) { PRO a; a=s[j]; s[j]=s[j+1]; s[j+1]=a; } } } } void sort2(struct PRO s[],int n)//按商品名稱(chēng)降序排序,要求使用選擇法排序。 { for(int i=0;i 0)max=j; } PRO temp; temp=s[i]; s[i]=s[max]; s[max]=temp; } } double total(PRO s[],int n)//計(jì)算并返回銷(xiāo)售總額(所有商品的銷(xiāo)售額的和)。 { double sum=0; for(int i=0;i >C) { if(C<1|C>6){cout<<"輸入錯(cuò)誤,請(qǐng)輸入1~6范圍內(nèi)的數(shù)字"< >x; if(search(s,5,x)==-1) { cout<<"未找到,沒(méi)有該種商品!"< 感謝各位的閱讀!關(guān)于“使用C++實(shí)現(xiàn)商品管理程序的案例”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.cdcxhl.com,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)站題目:使用C++實(shí)現(xiàn)商品管理程序的案例-創(chuàng)新互聯(lián)
鏈接分享:http://weahome.cn/article/ddpsse.html