商品訂購系統(tǒng).doc_第1頁
商品訂購系統(tǒng).doc_第2頁
商品訂購系統(tǒng).doc_第3頁
商品訂購系統(tǒng).doc_第4頁
商品訂購系統(tǒng).doc_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

#includeconst int N=5;struct PRODUCT int code;/商品代碼 char name20;/商品名稱 double price;/單價 int amount;/商品數(shù)量 int sales;/銷售量 int stock;/商品的庫存量proN;void input(struct PRODUCT *p);void sort1(int stock,int sales);/冒泡法按商品的庫存量排序void sort2(int code);/選擇法按商品代碼排序void search1();/選擇法按商品庫存量查詢void search2(int code);/折半法按商品代碼查詢void out();void main()int code;struct PRODUCT *p;input(p);int ch;docout按庫存量排序, 請選擇: 1 endl;cout按商品代碼排序,請選擇: 2 endl;cout按商品代碼查詢,請選擇: 3 endl;cout按庫存量查詢, 請選擇: 4 endl;cout顯示商品信息, 請選擇: 5 endl; cout結(jié)束程序, 請選擇: 6 ch;switch (ch) case 1:sort1(proN.stock,proN.sales); break; case 2:sort2(proN.code);break; case 3: coutcode; search2(code); break; case 4:search1();break; case 5:out();break; case 6:0;break; default:cout您的輸入有錯endl;while(ch!=6);void input(struct PRODUCT *P)cout輸入英文的時候,請以?為結(jié)束標(biāo)志endlendl;for(int i=0;iN;i+)coutproi.code;cin.getline(,10,?);cinproi.priceproi.amountproi.sales;proi.stock=proi.amount-proi.sales;void sort1(int stock,int sales)/冒泡法按商品的庫存量排序struct PRODUCT t;for(int i=0;iN-1;i+)for(int j=0;jproj+1.stock) t=proj;proj=proj+1;proj+1=t;for(i=0;iN-1;i+)for(int j=0;jproj+1.sales) t=proj;proj=proj+1;proj+1=t; coutcodetnametpricetamounttsaleststockendl; for(i=0;iN;i+)tproi.pricetproi.amounttproi.salestproi.stockendl;void sort2(int code)/選擇法按商品代碼排序struct PRODUCT t;for(int i=0;iN-1;i+) for(int j=i+1;jproj.code) t=proi;proi=proj;proj=t; coutcodetnametpricetamounttsaleststockendl;for(i=0;iN;i+)tproi.pricetproi.amounttproi.salestproi.stockendl; void search1()/選擇法按商品庫存量查詢int stock1,stock2;coutstock1stock2;coutcodetnametpricetamounttsaleststockendl; for(int i=stock1;i=stock2;i+) for(int j=0;jN;j+) if(i=proj.stock)break; if(j=N) cout; else tproj.pricetproj.amounttproj.salestproj.stockendl; cout如果沒有顯示則無此商品信息endl;void search2(int code)/折半法按商品代碼查詢 struct PRODUCT t;for(int i=0;iN-1;i+)for(int j=0;jproj+1.code) t=proj;proj=proj+1;proj+1=t;int top=0,bottom=N-1,middle=(top+bottom)/2;/折半法查找商品代碼while(toppromiddle.code)top=middle+1;else bottom=middle-1;middle=(top+bottom)/2;if(code=promiddle.code)coutcodetnametpricetamounttsaleststockendl;tpromiddle.pricetpromiddle.amounttpromiddle.salestpromiddle.stockendl;elsecout沒有您要找的商品endl;void out()coutcodetnametpricetamounttsaleststockendl;for(int i=0;iN;i+)tproi.pricetproi.amounttproi.salestproi.stockendl;#include #include #include using namespace std;class Goodsprivate:string name;/商品名 double price;/商品價格 int storage;/商品存量 public:double sell(int num);/出售商品,減少本商品的存量同時返回出售商品的總價,失敗返回-1 double buy(int num);/購買商品,減少本商品的存量同時返回購買商品的總價bool isEmpty();void show();bool operator =(string name);/重載等號運算符,用來進(jìn)行商品是否重復(fù)的比較 Goods(string name,double price);/構(gòu)造 ;class GoodsManagerprivate:vector goods_list;/商品列表 double account;/賬戶余額 public:bool add(string name,double num);/添加新商品,不可重名,成功則商品被加入列表同時返回true,失敗返回false bool sell(string name,int num);/出售商品,成功則商品存量減少,賬戶余額增加同時返回true,失敗返回false bool buy(string name,int num);/購買商品,成功則商品存量增加,賬戶余額減少同時返回true,失敗返回false bool del(string name);/刪除商品,商品數(shù)量不為0時不可刪除 void show();GoodsManager();void menu()cout1.添加商品endl;cout2.刪除商品endl;cout3.出售商品endl;cout4.購入商品endl;cout5.查看庫存endl;cout0.退出程序endl;int main()GoodsManager gm;char order;while(1)system(cls);menu();coutorder;switch(order)case 1:/添加 string name;double price;coutname;coutprice;if(gm.add(name,price)coutsuccess!endl;elsecoutfailed!endl;getch();break;case 2:/刪除 string name;coutname;if(gm.del(name)coutsuccess!endl;elsecoutfailed!endl;getch();break;case 3:/出售 string name;int num;coutname;coutnum;if(gm.sell(name,num)coutsuccess!endl;elsecoutfailed!endl;getch();break;case 4:/購入 string name;int num;coutname;coutnum;if(gm.buy(name,num)coutsuccess!endl;elsecoutfailed!endl;getch();break;case 5:/查看 gm.show();getch();break;case 0:/退出 exit(0);break;default:coutwrong order!endl;break; return 0;double Goods:sell(int num)if(storagenum)return -1;storage-=num;return price*num;double Goods:buy(int num)storage+=num;return price*num;bool Goods:isEmpty()return 0=storage;void Goods:show()coutnametpricetstoragename=name;Goods:Goods(string name,double price)this-name=name;this-price=price;storage=0;bool GoodsManager:add(string name,double num)vector:iterator result = find(goods_list.begin(),goods_list.end(),name); if(goods_list.end()=result)goods_list.push_back(Goods(name,num);return true;elsereturn false;bool GoodsManager:sell(string name,int num)vector:iterator result = find(goods_list.begin(),goods_list.end(),name); if(goods_list.end()!=result&!result-isEmpty()double count=result-sell(num);if(count0)return false;account+=count;return true;elsereturn false;bool GoodsManager:buy(string name,int num)vector:iterator result = find(goods_list.begin(),goods_list.end(),name); if(goods_list.end()!=result)double count=result-buy(num);account-=count;return true;elsereturn false;bool GoodsManager:del(string name)vector:iterator result = find(goods_list.begin(),goods_list.end(),name);

溫馨提示

  • 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

提交評論