商品庫(kù)存管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)_第1頁(yè)
商品庫(kù)存管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)_第2頁(yè)
商品庫(kù)存管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)_第3頁(yè)
商品庫(kù)存管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)_第4頁(yè)
商品庫(kù)存管理系統(tǒng)課程設(shè)計(jì)說(shuō)明書(shū)_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上燕山大學(xué)課 程 設(shè) 計(jì) 說(shuō) 明 書(shū)題目: 商品庫(kù)存管理系統(tǒng) 學(xué)院(系):理學(xué)院 年級(jí)專業(yè):13級(jí)應(yīng)用軟件 學(xué) 號(hào):0 學(xué)生姓名:楊亞南 指導(dǎo)教師:聶棟棟 燕山大學(xué)課程設(shè)計(jì)(論文)任務(wù)書(shū)院(系): 理學(xué)院信息與計(jì)算科學(xué)系 基層教學(xué)單位: 學(xué) 號(hào)0學(xué)生姓名楊亞南專業(yè)(班級(jí))應(yīng)用軟件設(shè)計(jì)題目 商品庫(kù)存管理系統(tǒng)設(shè)計(jì)技術(shù)參數(shù)1. 以C+面向?qū)ο蟮脑O(shè)計(jì)思想完成設(shè)計(jì)任務(wù);2. 詳細(xì)說(shuō)明設(shè)計(jì)中的各個(gè)類,尤其是各類的屬性及所提供的接口;3. 要求對(duì)任務(wù)問(wèn)題進(jìn)行詳細(xì)分析,說(shuō)明程序所實(shí)現(xiàn)的功能;4. 通過(guò)具體的應(yīng)用程序?qū)λ鶎?shí)現(xiàn)的功能進(jìn)行測(cè)試,并給出結(jié)果;設(shè)計(jì)要求1 詳細(xì)說(shuō)明程序的總體設(shè)計(jì),

2、及各個(gè)類的設(shè)計(jì)細(xì)節(jié);2 寫(xiě)出各自對(duì)這次設(shè)計(jì)的心得體會(huì);3 要求4篇以上參考文獻(xiàn);4 報(bào)告正文在5000字以上;工作量1. 主要包括程序的編碼實(shí)現(xiàn)和數(shù)據(jù)庫(kù)的設(shè)計(jì)2. 代碼總行數(shù)為307行,數(shù)據(jù)庫(kù)中兩張表工作計(jì)劃第一周:進(jìn)行需求分析和業(yè)務(wù)流程圖,實(shí)體關(guān)系圖的繪制,建立邏輯模型第二周:進(jìn)行類的設(shè)計(jì)和數(shù)據(jù)庫(kù)的設(shè)計(jì),編碼測(cè)試參考資料1馬光志等編著. C+程序設(shè)計(jì)實(shí)踐教程. 華中科技大學(xué)出版社,2001年2黃維通等編著.Visual C+ 面向?qū)ο笈c可視化程序設(shè)計(jì).清華大學(xué)出版社,2000年3劉瑞新等編著. Visual C+ 面向?qū)ο蟪绦蛟O(shè)計(jì)教程. 機(jī)械工業(yè)出版社指導(dǎo)教師簽字基層教學(xué)單位主任簽字說(shuō)明:此

3、表一式四份,學(xué)生、指導(dǎo)教師、基層教學(xué)單位、系部各一份。年 月 日 燕山大學(xué)課程設(shè)計(jì)評(píng)審意見(jiàn)表指導(dǎo)教師評(píng)語(yǔ):成績(jī): 指導(dǎo)教師: 年 月 日答辯小組評(píng)語(yǔ):成績(jī): 組長(zhǎng): 年 月 日課程設(shè)計(jì)總成績(jī):答辯小組成員簽字:年 月 日專心-專注-專業(yè)目 錄 摘要 商品庫(kù)存管理系統(tǒng)是商店中不可缺少的部分,本篇主要利用C+面向?qū)ο缶幊痰姆椒ㄔO(shè)計(jì)了一個(gè)商品庫(kù)存管理系統(tǒng),后臺(tái)數(shù)據(jù)庫(kù)采用輕量級(jí)數(shù)據(jù)庫(kù)mysql 5.0,管理員通過(guò)賬號(hào)密碼登錄系統(tǒng)后實(shí)現(xiàn)對(duì)庫(kù)存商品的增加,刪除,修改,查詢等功能,進(jìn)而實(shí)現(xiàn)對(duì)商品庫(kù)存的管理。1. 引言面向?qū)ο蟪绦蛟O(shè)計(jì)與結(jié)構(gòu)化程序設(shè)計(jì)考慮問(wèn)題的角度不同,他的重點(diǎn)不是對(duì)問(wèn)題本身的功能分解和各個(gè)功

4、能的具體算法實(shí)現(xiàn),而是從系統(tǒng)組成的角度進(jìn)行分解,對(duì)問(wèn)題進(jìn)行自然分解,以更接近人類思維的方式建立問(wèn)題域模型。1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)思想將數(shù)據(jù)及對(duì)數(shù)據(jù)的操作方法進(jìn)行封裝,作為一個(gè)有機(jī)體對(duì)象。封裝使得算法和數(shù)據(jù)形成了相互依存的關(guān)系。通過(guò)采用抽象、封裝、繼承和多態(tài)性等概念和措施,以一種模擬人類認(rèn)知的方式對(duì)軟件系統(tǒng)建模,從而構(gòu)造出可重用性好、易維護(hù)的軟件,提高軟件的開(kāi)放效率。1.2 面向?qū)ο蟪绦蛟O(shè)計(jì)的優(yōu)點(diǎn)1) 程序模塊之間的關(guān)系更為簡(jiǎn)單,程序模塊的獨(dú)立性、數(shù)據(jù)的安全性有良好的保障。2) 通過(guò)繼承與多態(tài)性,可以大大提高程序的可重用性,使得軟件的開(kāi)發(fā)和維護(hù)都更為方便。2. 總體設(shè)計(jì)2.1 需求分析管理員可

5、以登錄系統(tǒng),登錄成功后對(duì)查詢所有商品的名稱,編號(hào),數(shù)量,價(jià)格以及類型;通過(guò)商品編號(hào)修改某一商品的價(jià)格;通過(guò)商品編號(hào)刪除該商品;輸入商品的名稱,編號(hào),數(shù)量,價(jià)格,類型進(jìn)行添加;2.2 業(yè)務(wù)流程圖開(kāi)始輸入用戶名以及密碼登錄驗(yàn)證添加刪除修改查詢退出操作選擇注銷用戶結(jié)束12043否是2.3 實(shí)體-關(guān)系模型商品管理管理員姓名編號(hào)密碼名稱編號(hào)數(shù)量?jī)r(jià)格類型1n2.4 類的設(shè)計(jì) 2.4.1 管理員類管理員類靜態(tài)屬性有管理員姓名,管理員密碼,管理員編號(hào)動(dòng)態(tài)方法有登錄login(); 2.4.2 商品基類商品基類靜態(tài)屬性有商品名稱,商品價(jià)格,商品數(shù)量,商品編號(hào),商品類型動(dòng)態(tài)方法有添加商品addGoods(),更新

6、商品價(jià)格updateGoods(),刪除商品 deleteGoods(),查詢所有商品 getAllGoods();其中添加商品addGoods()為純虛函數(shù),因?yàn)榭紤]到散稱和零售商品添加的時(shí)候商品價(jià)格表示不同,所以設(shè)置成純虛函數(shù),由各自的類重寫(xiě)該方法。 2.4.3 零售商品類重寫(xiě)了添加商品addGoods();價(jià)格設(shè)置成:元/件 2.4.4 散稱商品類重寫(xiě)了添加商品addGoods();價(jià)格設(shè)置成:元/kg 2.4.5 數(shù)據(jù)庫(kù)連接類主要負(fù)責(zé)數(shù)據(jù)庫(kù)的連接,操作指針的生成。方法有構(gòu)造方法DataBase();初始化數(shù)據(jù)庫(kù)連接2.5 數(shù)據(jù)庫(kù)的設(shè)計(jì)數(shù)據(jù)庫(kù)中總共有兩個(gè)表,管理員表adminer,商品表

7、goods管理員表adminer結(jié)構(gòu)如下:adminId 管理員在數(shù)據(jù)庫(kù)中的id adminName 管理員姓名 adminPasswd 密碼 adminNum 管理員編號(hào)管理員表adminer的內(nèi)容如下:商品表goods的結(jié)構(gòu)如下:商品表的內(nèi)容如下:3. 實(shí)現(xiàn)方法3.1 類的定義/* mysql數(shù)據(jù)庫(kù)操作類*/class DataBasepublic:DataBase();MYSQL *conn;MYSQL_RES *resSet;MYSQL_ROW row;MYSQL_FIELD *field;unsigned int ret,numFields;MYSQL* getConnection(

8、);/* 管理員類*/class Adminerpublic:bool login(string user,string pwd); /登錄方法;/* 商品基類*/class BaseGoodsprotected:int goodsId; /數(shù)據(jù)庫(kù)自增id string goodsName; /商品名稱string goodsNum; /編號(hào)string goodsPrice;/價(jià)格string goodsCount;/剩余數(shù)量string goodsType; /類型public:/基類屬性的set get函數(shù)void setGoodsId(int id);int getGoodsId();

9、void setGoodsName(string name);string getGoodsName();void setGoodsNum(string num);string getGoodsNum();void setGoodsPrice(string price);string getGoodsPrice();void setGoodsCount(string count);string getGoodsCount();void setGoodsType(string type);string getGoodsType(); /數(shù)據(jù)庫(kù)操作函數(shù)virtual void addGoods(B

10、aseGoods* goods)=0; /純虛函數(shù)-添加商品void updateGoods(string goodsName,string goodsNum);void deleteGoods(string goodsNum); /刪除商品void getAllGoods(string type); /查看所有商品void getGoodsByCount(string type,int count); /條件查詢庫(kù)存數(shù)量低于count的商品;/* 散裝商品類*/class BulkGoods:public BaseGoodspublic:void addGoods(BaseGoods* go

11、ods);/* 零售商品類*/class RetailGoods:public BaseGoodspublic:void addGoods(BaseGoods* goods);3.2 類的實(shí)現(xiàn)/* mysql數(shù)據(jù)庫(kù)操作類*/DataBase:DataBase()conn=mysql_init(NULL); if(conn=NULL)cout<<"數(shù)據(jù)庫(kù)初始化連接失敗"<<endl;ret=mysql_options(conn,MYSQL_SET_CHARSET_NAME,"gb2312"); /設(shè)置字符編碼if(ret!=0)co

12、ut<<"數(shù)據(jù)庫(kù)初始化設(shè)置失敗"<<endl;if(mysql_real_connect(conn,"localhost","root","yyn1995","goodsManage",0,NULL,0)=NULL)cout<<"數(shù)據(jù)庫(kù)連接失敗!"<<endl;/* 管理員類*/bool Adminer:login(string user,string pwd) DataBase db;string sql="SELE

13、CT adminPasswd FROM adminer where adminNum='"+user+"'"const char *c_sql=sql.c_str();if(mysql_query(db.conn, c_sql) /查詢成功返回非0cout<<"查詢失敗"<<endl;elsedb.resSet = mysql_store_result(db.conn); /查詢失敗返回NULLif(db.resSet=NULL)cout<<"resSet is null"

14、<<endl;elsedb.numFields = mysql_num_fields(db.resSet);while (db.row = mysql_fetch_row(db.resSet) != NULL)if(pwd!=db.row0)return false;elsereturn true;mysql_close(db.conn);/* 商品基類*/void BaseGoods:setGoodsId(int id)if(id>0)this->goodsId=id;int BaseGoods:getGoodsId()return goodsId;void Base

15、Goods:setGoodsName(string name)if(name.length()>0&&name.length()<=20)this->goodsName=name;string BaseGoods:getGoodsName()return goodsName;void BaseGoods:setGoodsNum(string num) if(num.length()>0&&num.length()<=5)this->goodsNum=num;string BaseGoods:getGoodsNum()retur

16、n goodsNum;void BaseGoods:setGoodsPrice(string price)if(price.length()>0)this->goodsPrice=price;string BaseGoods:getGoodsPrice()return goodsPrice;void BaseGoods:setGoodsCount(string count)if(count.length()>0)this->goodsCount=count;string BaseGoods:getGoodsCount()return goodsCount;void Ba

17、seGoods:setGoodsType(string type)this->goodsType=type;string BaseGoods:getGoodsType()return goodsType;void BaseGoods:deleteGoods(string goodsNum) /刪除商品DataBase db;string sql="delete from goods where 編號(hào)='"+goodsNum+"'"const char *c_sql=sql.c_str();mysql_query(db.conn,c_

18、sql); int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"刪除"<<flag<<"條記錄成功"<<endl;elsecout<<"刪除失敗"<<endl;mysql_close(db.conn);void BaseGoods:getAllGoods(string type) /按類型查詢商品DataBase db;string sql="SELECT * FROM goods whe

19、re 類型='"+type+"'"const char *c_sql=sql.c_str();if(mysql_query(db.conn, c_sql) /查詢成功返回非0 cout<<"mysql_query failed!"<<endl;elsedb.resSet = mysql_store_result(db.conn); /查詢失敗返回NULLif(db.resSet=NULL)cout<<"resSet is null"<<endl;elsedb.n

20、umFields = mysql_num_fields(db.resSet);for(int i=0; i < db.numFields; i+)db.field = mysql_fetch_field_direct(db.resSet, i);cout<<setw(10)<<db.field->name;cout<<endl;while (db.row = mysql_fetch_row(db.resSet) != NULL)for (int i = 0; i < mysql_num_fields(db.resSet); i +)cout

21、<<setw(10)<<db.rowi; cout<<endl;mysql_close(db.conn);void BaseGoods:updateGoods(string goodsPirce,string goodsNum) /更新商品信息 DataBase db;string sql="update goods set 價(jià)格='"+goodsPirce+"' where 編號(hào)='"+goodsNum+"'"const char *c_sql=sql.c_str(

22、);mysql_query(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"修改"<<flag<<"條記錄成功"<<endl;elsecout<<"修改失敗"<<endl;mysql_close(db.conn);/* 散裝商品*/void BulkGoods:addGoods(BaseGoods* goods)/添加商品DataBase

23、 db;string name=goods->getGoodsName();string num=goods->getGoodsNum();string count=goods->getGoodsCount();count.append("kg");string price=goods->getGoodsPrice();price.append("元/kg");string type=goods->getGoodsType();string sql="insert into goods(名稱,編號(hào),價(jià)格,數(shù)量,類型

24、)values('"+name+"','"+num+"','"+price+"','"+count+"','"+type+"')"const char *c_sql=sql.c_str();mysql_query(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"

25、;插入"<<flag<<"條記錄成功"<<endl;elsecout<<"插入失敗"<<endl;mysql_close(db.conn);/* 零售商品*/void RetailGoods:addGoods(BaseGoods* goods) /零售商品的添加商品 DataBase db;string name=goods->getGoodsName();string num=goods->getGoodsNum();string count=goods->getG

26、oodsCount();count.append("件");string price=goods->getGoodsPrice();price.append("元/件");string type=goods->getGoodsType();string sql="insert into goods(名稱,編號(hào),價(jià)格,數(shù)量,類型)values('"+name+"','"+num+"','"+price+"','"

27、;+count+"','"+type+"')"const char *c_sql=sql.c_str();mysql_query(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"插入"<<flag<<"條記錄成功"<<endl;elsecout<<"插入失敗"<<endl;m

28、ysql_close(db.conn);3.3 類的應(yīng)用void main()cout<<" -商品庫(kù)存管理-"<<endl;bool flag=true;bool flag2=true;while(flag)DataBase a;RetailGoods bg;BaseGoods* goods=&bg;Adminer b;bool result;string user,password;while(flag2) /登錄判斷cout<<"請(qǐng)輸入用戶名和密碼"<<endl;cin>>user

29、>>password;result=b.login(user,password);if(result)cout<<user<<"歡迎使用"<<endl;flag2=false;break;elsecout<<"用戶名或密碼錯(cuò)誤"<<endl;if(result)cout<<"請(qǐng)輸入操作號(hào) 1.查看所有商品 2.添加商品 3.刪除商品 4.修改商品 0.退出"<<endl;string goodsName,goodsNum,goodsPric

30、e,goodsCount,goodsType;int num;cin>>num;switch(num)case 0:flag=false;break;case 1:goods->getAllGoods("零售");goods->getAllGoods("散裝");break;case 2:cout<<"請(qǐng)輸入商品名稱,編號(hào),價(jià)格,數(shù)量,類型"<<endl;cin>>goodsName>>goodsNum>>goodsPrice>>goods

31、Count>>goodsType;bg.setGoodsName(goodsName);bg.setGoodsNum(goodsNum);bg.setGoodsPrice(goodsPrice);bg.setGoodsCount(goodsCount);bg.setGoodsType(goodsType);goods->addGoods(goods); /向上轉(zhuǎn)型 分別調(diào)用對(duì)象各自的函數(shù)break;case 3:cout<<"請(qǐng)輸入要?jiǎng)h除的商品編號(hào)"<<endl;cin>>goodsNum;goods->delet

32、eGoods(goodsNum);break;case 4:cout<<"請(qǐng)輸入商品價(jià)格,商品編號(hào)"<<endl;cin>>goodsPrice>>goodsNum;goods->updateGoods(goodsPrice,goodsNum);break;3.4 程序代碼#include <iostream>#include<iomanip> #include <windows.h>#include <cstdlib>#include <cstdio>#inc

33、lude <mysql.h>#include <string>#pragma comment(lib, "libmysql.lib")using namespace std;/* mysql數(shù)據(jù)庫(kù)操作類*/class DataBasepublic:DataBase();MYSQL *conn;MYSQL_RES *resSet;MYSQL_ROW row;MYSQL_FIELD *field;unsigned int ret,numFields;MYSQL* getConnection();DataBase:DataBase()conn=mysql_

34、init(NULL); if(conn=NULL)cout<<"數(shù)據(jù)庫(kù)初始化連接失敗"<<endl;ret=mysql_options(conn,MYSQL_SET_CHARSET_NAME,"gb2312"); /設(shè)置字符編碼if(ret!=0)cout<<"數(shù)據(jù)庫(kù)初始化設(shè)置失敗"<<endl;if(mysql_real_connect(conn,"localhost","root","yyn1995","goods

35、Manage",0,NULL,0)=NULL)cout<<"數(shù)據(jù)庫(kù)連接失敗!"<<endl;/* 管理員類*/class Adminerpublic:bool login(string user,string pwd); /登錄方法;bool Adminer:login(string user,string pwd) DataBase db;string sql="SELECT adminPasswd FROM adminer where adminNum='"+user+"'"con

36、st char *c_sql=sql.c_str();if(mysql_query(db.conn, c_sql) /查詢成功返回非0cout<<"查詢失敗"<<endl;elsedb.resSet = mysql_store_result(db.conn); /查詢失敗返回NULLif(db.resSet=NULL)cout<<"resSet is null"<<endl;elsedb.numFields = mysql_num_fields(db.resSet);while (db.row = mysq

37、l_fetch_row(db.resSet) != NULL)if(pwd!=db.row0)return false;elsereturn true;mysql_close(db.conn);/* 商品基類*/class BaseGoodsprotected:int goodsId; /數(shù)據(jù)庫(kù)自增id string goodsName; /商品名稱string goodsNum; /編號(hào)string goodsPrice;/價(jià)格string goodsCount;/剩余數(shù)量string goodsType; /類型public:/基類屬性的set get函數(shù)void setGoodsId(i

38、nt id);int getGoodsId();void setGoodsName(string name);string getGoodsName();void setGoodsNum(string num);string getGoodsNum();void setGoodsPrice(string price);string getGoodsPrice();void setGoodsCount(string count);string getGoodsCount();void setGoodsType(string type);string getGoodsType(); /數(shù)據(jù)庫(kù)操作函

39、數(shù)virtual void addGoods(BaseGoods* goods)=0; /純虛函數(shù)-添加商品void updateGoods(string goodsName,string goodsNum);void deleteGoods(string goodsNum); /刪除商品void getAllGoods(string type); /查看所有商品void getGoodsByCount(string type,int count); /條件查詢庫(kù)存數(shù)量低于count的商品;void BaseGoods:setGoodsId(int id)if(id>0)this->

40、;goodsId=id;int BaseGoods:getGoodsId()return goodsId;void BaseGoods:setGoodsName(string name)if(name.length()>0&&name.length()<=20)this->goodsName=name;string BaseGoods:getGoodsName()return goodsName;void BaseGoods:setGoodsNum(string num) if(num.length()>0&&num.length()&l

41、t;=5)this->goodsNum=num;string BaseGoods:getGoodsNum()return goodsNum;void BaseGoods:setGoodsPrice(string price)if(price.length()>0)this->goodsPrice=price;string BaseGoods:getGoodsPrice()return goodsPrice;void BaseGoods:setGoodsCount(string count)if(count.length()>0)this->goodsCount=c

42、ount;string BaseGoods:getGoodsCount()return goodsCount;void BaseGoods:setGoodsType(string type)this->goodsType=type;string BaseGoods:getGoodsType()return goodsType;void BaseGoods:deleteGoods(string goodsNum) /刪除商品DataBase db;string sql="delete from goods where 編號(hào)='"+goodsNum+"&

43、#39;"const char *c_sql=sql.c_str();mysql_query(db.conn,c_sql); int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"刪除"<<flag<<"條記錄成功"<<endl;elsecout<<"刪除失敗"<<endl;mysql_close(db.conn);void BaseGoods:getAllGoods(string type

44、) /按類型查詢商品DataBase db;string sql="SELECT * FROM goods where 類型='"+type+"'"const char *c_sql=sql.c_str();if(mysql_query(db.conn, c_sql) /查詢成功返回非0 cout<<"mysql_query failed!"<<endl;elsedb.resSet = mysql_store_result(db.conn); /查詢失敗返回NULLif(db.resSet=NU

45、LL)cout<<"resSet is null"<<endl;elsedb.numFields = mysql_num_fields(db.resSet);for(int i=0; i < db.numFields; i+)db.field = mysql_fetch_field_direct(db.resSet, i);cout<<setw(10)<<db.field->name;cout<<endl;while (db.row = mysql_fetch_row(db.resSet) != NUL

46、L)for (int i = 0; i < mysql_num_fields(db.resSet); i +)cout<<setw(10)<<db.rowi; cout<<endl;mysql_close(db.conn);void BaseGoods:updateGoods(string goodsPirce,string goodsNum) /更新商品信息 DataBase db;string sql="update goods set 價(jià)格='"+goodsPirce+"' where 編號(hào)='

47、;"+goodsNum+"'"const char *c_sql=sql.c_str();mysql_query(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"修改"<<flag<<"條記錄成功"<<endl;elsecout<<"修改失敗"<<endl;mysql_close(db.conn);/

48、* 散裝商品*/class BulkGoods:public BaseGoodspublic:void addGoods(BaseGoods* goods);void BulkGoods:addGoods(BaseGoods* goods)/添加商品DataBase db;string name=goods->getGoodsName();string num=goods->getGoodsNum();string count=goods->getGoodsCount();count.append("kg");string price=goods->

49、getGoodsPrice();price.append("元/kg");string type=goods->getGoodsType();string sql="insert into goods(名稱,編號(hào),價(jià)格,數(shù)量,類型)values('"+name+"','"+num+"','"+price+"','"+count+"','"+type+"')"const c

50、har *c_sql=sql.c_str();mysql_query(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"插入"<<flag<<"條記錄成功"<<endl;elsecout<<"插入失敗"<<endl;mysql_close(db.conn);/* 零售商品*/class RetailGoods:public BaseGood

51、spublic:void addGoods(BaseGoods* goods);void RetailGoods:addGoods(BaseGoods* goods) /零售商品的添加商品 DataBase db;string name=goods->getGoodsName();string num=goods->getGoodsNum();string count=goods->getGoodsCount();count.append("件");string price=goods->getGoodsPrice();price.append(&q

52、uot;元/件");string type=goods->getGoodsType();string sql="insert into goods(名稱,編號(hào),價(jià)格,數(shù)量,類型)values('"+name+"','"+num+"','"+price+"','"+count+"','"+type+"')"const char *c_sql=sql.c_str();mysql_que

53、ry(db.conn,c_sql); /執(zhí)行插入一條商品記錄操作int flag=mysql_affected_rows(db.conn);if(flag>0) cout<<"插入"<<flag<<"條記錄成功"<<endl;elsecout<<"插入失敗"<<endl;mysql_close(db.conn);void main()cout<<" -商品庫(kù)存管理-"<<endl;bool flag=true;bo

54、ol flag2=true;while(flag)DataBase a;RetailGoods bg;BaseGoods* goods=&bg;Adminer b;bool result;string user,password;while(flag2) /登錄判斷cout<<"請(qǐng)輸入用戶名和密碼"<<endl;cin>>user>>password;result=b.login(user,password);if(result)cout<<user<<"歡迎使用"<&

55、lt;endl;flag2=false;break;elsecout<<"用戶名或密碼錯(cuò)誤"<<endl;if(result)cout<<"請(qǐng)輸入操作號(hào) 1.查看所有商品 2.添加商品 3.刪除商品 4.修改商品 0.退出"<<endl;string goodsName,goodsNum,goodsPrice,goodsCount,goodsType;int num;cin>>num;switch(num)case 0:flag=false;break;case 1:goods->getAllGoods("零售");goods->getAllGoods("散裝");break;case 2:cout<<"請(qǐng)輸入商品名稱,編號(hào),價(jià)格,數(shù)量,類型"<<endl;cin>>goodsName>>goodsNum>>goodsPrice>>goodsCount>>goodsType;bg.setGoodsName

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論