課程設(shè)計(jì)超市商品管理系統(tǒng).doc_第1頁(yè)
課程設(shè)計(jì)超市商品管理系統(tǒng).doc_第2頁(yè)
課程設(shè)計(jì)超市商品管理系統(tǒng).doc_第3頁(yè)
課程設(shè)計(jì)超市商品管理系統(tǒng).doc_第4頁(yè)
課程設(shè)計(jì)超市商品管理系統(tǒng).doc_第5頁(yè)
已閱讀5頁(yè),還剩24頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

課 程 設(shè) 計(jì) 報(bào) 告 課程名稱(chēng):面向?qū)ο蟪绦蛟O(shè)計(jì)C+ 設(shè)計(jì)題目: 超市商品管理系統(tǒng) 專(zhuān) 業(yè):計(jì)算機(jī)科學(xué)與技術(shù) 姓 名: 學(xué) 號(hào): 指導(dǎo)教師:李 曉 虹2016 年 1 月 10 日摘要:商品管理系統(tǒng)是一個(gè)超市不可或缺的一部分,它的內(nèi)容對(duì)于超市的管理者或者決策者來(lái)說(shuō)都很重要。所以超市管理系統(tǒng)應(yīng)該能夠?yàn)橛脩?hù)提供充足的信息和快捷的查詢(xún)手段。隨著科學(xué)技術(shù)的不斷提高,其強(qiáng)大的功能已經(jīng)為人們深刻意識(shí),它已經(jīng)進(jìn)入人類(lèi)社會(huì)的各個(gè)領(lǐng)域并發(fā)揮著重要作用。因此,通過(guò)電腦軟件編程,開(kāi)發(fā)這樣一套商品管理系統(tǒng)成為很有必要的事情。用戶(hù)可以根據(jù)該系統(tǒng)查詢(xún)相關(guān)信息,管理者可以根據(jù)該系統(tǒng)查詢(xún)、修改商品信息。關(guān)鍵詞:商品管理、查詢(xún)、編程一.需求分析隨著科技的進(jìn)步,計(jì)算機(jī)技術(shù)的飛速發(fā)展,許多企業(yè)在進(jìn)行技術(shù)改造的同時(shí),各種工作也趨向于信息技術(shù)化管理。管理系統(tǒng)事一個(gè)信息化、智能化和先進(jìn)管理集合,一個(gè)高效有用的管理系統(tǒng)課一減少一個(gè)企業(yè)或者上商家的管理費(fèi)用和人力物力開(kāi)支,不僅可以節(jié)省大量時(shí)間,還可以為企業(yè)的各項(xiàng)決策帶來(lái)巨大的經(jīng)濟(jì)效益。與人們生活接觸最貼近的超市也有它自己完善的管理系統(tǒng)。計(jì)算機(jī)的自動(dòng)化管理系統(tǒng)提高了超市管理的管理水平和工作效率,增強(qiáng)超市的競(jìng)爭(zhēng)能力降低成本,為客戶(hù)提供更加優(yōu)質(zhì)的服務(wù)。所以需要開(kāi)發(fā)一個(gè)計(jì)算機(jī)系統(tǒng)來(lái)代替人工管理超市人員對(duì)商品信息管理和顧客購(gòu)買(mǎi)等方面的工作。使用該系統(tǒng)可以使超市的服務(wù)更加快捷、準(zhǔn)確和方便,減少大量的人工操作,提高了工作效率。1.功能需求分析1).登陸根據(jù)系統(tǒng)的使用權(quán)限不同,講登陸權(quán)限設(shè)置為管理員登陸和普通用戶(hù)登錄,管理員登陸需要賬號(hào)和密碼,普通用戶(hù)登陸不需要賬號(hào)和密碼;普通用戶(hù)登錄具有操作權(quán)限:查找商品,買(mǎi)入商品,售出商品,商品排序系統(tǒng)管理員登陸具有的操作權(quán)限:增加商品,刪除商品,查找商品,修改商品,售出商品,買(mǎi)入商品,清空庫(kù)存,商品排序。2).商品管理功能:商品管理功能主要是針對(duì)超市管理人員使用,對(duì)庫(kù)存商品進(jìn)行簡(jiǎn)單的管理。本功能當(dāng)中主要可以實(shí)現(xiàn)商品的添加、查詢(xún)、修改、刪除,出售,買(mǎi)入等功能。(1)添加商品通過(guò)主頁(yè)面提示菜單鍵入相對(duì)應(yīng)數(shù)字進(jìn)入添加商品選項(xiàng),然后根據(jù)提示添加商品信息,主要包括商品ID、商品名稱(chēng)、商品金額、商品數(shù)量、商品生產(chǎn)廠家、以、商品的庫(kù)存量以及備注。(2)刪除商品通過(guò)主頁(yè)面的提示菜單鍵入相應(yīng)數(shù)字進(jìn)入刪除商品選項(xiàng),完成最商品信息的刪除。首先選擇輸入要?jiǎng)h除商品的類(lèi)別,再輸入要?jiǎng)h除的商品的名稱(chēng),根據(jù)查詢(xún)結(jié)果刪除商品的記錄,如果該商品在庫(kù)存物品當(dāng)中不存在,則系統(tǒng)給出相應(yīng)提示,該商品不存在。(3)修改商品通過(guò)主頁(yè)面的提示菜單鍵入相應(yīng)數(shù)字進(jìn)入修改商品選項(xiàng),對(duì)商品信息進(jìn)行修改。可根據(jù)查詢(xún)的結(jié)果對(duì)相應(yīng)的商品信息進(jìn)行修改,包括商品的名稱(chēng)、品牌、價(jià)格、生產(chǎn)廠家和庫(kù)存量。(4)查詢(xún)商品通過(guò)主頁(yè)面的提示菜單鍵入相應(yīng)數(shù)字進(jìn)入查詢(xún)商品選項(xiàng),對(duì)商品信息進(jìn)行查詢(xún)??筛鶕?jù)相應(yīng)提示選擇查詢(xún)方式,按商品類(lèi)別、商品名稱(chēng)、生產(chǎn)廠家進(jìn)行查詢(xún)商品的全部信息。如果存在相應(yīng)商品的信息,則輸出所查詢(xún)商品的信息,如果不存在該商品的記錄,則系統(tǒng)自動(dòng)提示該商品的記錄不存在。(5) 排序輸出,排序方式有:1. 按ID從小到大排序2. 按ID從大到小排序3. 按名稱(chēng)從小到大排序4. 按名稱(chēng)從大到小排序5. 按數(shù)量從小到大排序6. 按數(shù)量從大到小排序7. 按價(jià)格從小到大排序8. 按價(jià)格從大到小排序2 總體設(shè)計(jì) 圖1超市商品管理系統(tǒng)模塊結(jié)構(gòu)圖 三.詳細(xì)設(shè)計(jì)1.利用數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)結(jié)構(gòu)要求:在整個(gè)系統(tǒng)當(dāng)中除了使用類(lèi)層次結(jié)構(gòu)、繼承機(jī)制、模板等,還使用的了數(shù)據(jù)結(jié)構(gòu)當(dāng)中的鏈表結(jié)構(gòu),主要用來(lái)進(jìn)行商品的管理功能。包括商品的添加、修改、刪除、查詢(xún)等??梢酝ㄟ^(guò)鏈表進(jìn)行存儲(chǔ)、訪問(wèn)操作。通過(guò)動(dòng)態(tài)申請(qǐng)鏈表空間,用指針操作數(shù)據(jù)節(jié)點(diǎn)完成商品信息的一系列操作2.代碼詳細(xì)設(shè)計(jì):1).登陸代碼void CAdminLoginDialog:OnLogin() / TODO: Add your control notification handler code hereCString name;CString keyword;this-GetDlgItemText(IDC_EDIT1, name);this-GetDlgItemText(IDC_EDIT2, keyword);char *pNameStr = (LPSTR)(LPCTSTR)name;char *pKeywordStr = (LPSTR)(LPCTSTR)keyword;CStringTool stringTool;if(stringTool.IsEqual(pNameStr, 123456) & stringTool.IsEqual(pKeywordStr, 123456)CAdminMainDialog dialog;OnOK();dialog.DoModal();elsethis-MessageBox(賬號(hào)密碼輸入錯(cuò)誤, 超市商品管理系統(tǒng));2).查找商品代碼:void CLocateDialog:OnLocate() / TODO: Add your control notification handler code hereCString str1;this-GetDlgItemText(IDC_COMBO1, str1);char *pSeleteStr = CSTRING_TO_CHAR(str1);CString str2;this-GetDlgItemText(IDC_EDIT1, str2);char *pItemStr = CSTRING_TO_CHAR(str2);CStringTool stringTool;if(stringTool.IsEqual(pSeleteStr, 名稱(chēng))CItem item = this-m_pItemSystem-LocateItemByName(pItemStr);if(item = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;char pIdID_STR_SIZE;char pNameNAME_STR_SIZE;char pPrice100;char pNumber100;char pDescribeDESCRIBE_STR_SIZE;item.GetID(pId);item.GetName(pName);item.GetDescribe(pDescribe);double dPrice = item.GetPrice();int iNumber = item.GetNumber();sprintf(pPrice, %lf, dPrice);sprintf(pNumber, %d, iNumber);this-SetDlgItemText(IDC_STATIC1, pId);this-SetDlgItemText(IDC_STATIC2, pName);this-SetDlgItemText(IDC_STATIC3, pPrice);this-SetDlgItemText(IDC_STATIC4, pNumber);this-SetDlgItemText(IDC_STATIC5, pDescribe);else if(stringTool.IsEqual(pSeleteStr, ID)CItem item = this-m_pItemSystem-LocateItemById(pItemStr);if(item = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;char pIdID_STR_SIZE;char pNameNAME_STR_SIZE;char pPrice100;char pNumber100;char pDescribeDESCRIBE_STR_SIZE;item.GetID(pId);item.GetName(pName);item.GetDescribe(pDescribe);double dPrice = item.GetPrice();int iNumber = item.GetNumber();sprintf(pPrice, %lf, dPrice);sprintf(pNumber, %d, iNumber);this-SetDlgItemText(IDC_STATIC1, pId);this-SetDlgItemText(IDC_STATIC2, pName);this-SetDlgItemText(IDC_STATIC3, pPrice);this-SetDlgItemText(IDC_STATIC4, pNumber);this-SetDlgItemText(IDC_STATIC5, pDescribe);elseassert(0);3) .添加新商品:void CInsertDialog:OnOk() / TODO: Add your control notification handler code hereif(this-UpdateData() = false)return;CString id;CString name;CString price;CString number;CString describe;GetDlgItemText(IDC_EDIT1, id);GetDlgItemText(IDC_EDIT2, name);GetDlgItemText(IDC_EDIT3, price);GetDlgItemText(IDC_EDIT4, number);GetDlgItemText(IDC_EDIT5, describe);char *pName;char *pId;char *pDescribe;char *pNumber;char *pPrice;pName = CSTRING_TO_CHAR(name);pId = CSTRING_TO_CHAR(id);pDescribe = CSTRING_TO_CHAR(describe);pNumber = CSTRING_TO_CHAR(number);pPrice = CSTRING_TO_CHAR(price);int iNumber = atoi(pNumber);double dPrice = atof(pPrice);CStringTool stringTool;if(stringTool.IsEqual(pId, ) |stringTool.IsEqual(pName, ) |stringTool.IsEqual(pPrice, ) |stringTool.IsEqual(pNumber, ) |stringTool.IsEqual(pDescribe, ) )this-MessageBox(請(qǐng)輸入完整的信息);return;CItem item;item.SetID(pId);item.SetName(pName);item.SetPrice(dPrice);item.SetNumber(iNumber);item.SetDescribe(pDescribe);if(m_pItemSystem-NoSuchItem() = item)this-MessageBox(插入的商品非法);return;if(m_pItemSystem-IsHaveID(pId)this-MessageBox(已存在相同ID的商品!);return;m_pItemSystem-InsertItem(pName, pId, dPrice, pDescribe, iNumber);this-m_pItemSystem-SaveFile(FILE_STRING);this-MessageBox(增加商品成功);this-EndDialog(IDC_OK);4) .刪除商品代碼:void CDeleteDialog:OnOk() / TODO: Add your control notification handler code hereCString str1;this-GetDlgItemText(IDC_COMBO1, str1);char *pSeleteStr = CSTRING_TO_CHAR(str1);CString str2;this-GetDlgItemText(IDC_EDIT1, str2);char *pItemStr = CSTRING_TO_CHAR(str2);CStringTool stringTool;if(stringTool.IsEqual(pSeleteStr, 名稱(chēng))if(this-m_pItemSystem-LocateItemByName(pItemStr) = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;this-m_pItemSystem-DeleteItemByName(pItemStr);else if(stringTool.IsEqual(pSeleteStr, ID)if(this-m_pItemSystem-LocateItemById(pItemStr) = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;char nameNAME_STR_SIZE;this-m_pItemSystem-GetItemControllerByID(pItemStr).GetItemName(name);this-m_pItemSystem-DeleteItemByName(name);elseassert(0);this-m_pItemSystem-SaveFile(FILE_STRING);this-MessageBox(刪除商品成功);this-EndDialog(IDC_OK);5) .修改商品信息代碼:void CReviseDialog:OnOk() / TODO: Add your control notification handler code hereif(this-UpdateData() = false)return;CString str1;this-GetDlgItemText(IDC_COMBO1, str1);char *pSeleteStr = CSTRING_TO_CHAR(str1);CString str2;this-GetDlgItemText(IDC_EDIT1, str2);char *pItemStr = CSTRING_TO_CHAR(str2);CStringTool stringTool;if(stringTool.IsEqual(pSeleteStr, 名稱(chēng))CItem item = this-m_pItemSystem-LocateItemByName(pItemStr);if(item = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;CString edit1; CString edit2;CString edit3;CString edit4;CString edit5;this-GetDlgItemText(IDC_EDIT1, edit1);this-GetDlgItemText(IDC_EDIT2, edit2);this-GetDlgItemText(IDC_EDIT3, edit3);this-GetDlgItemText(IDC_EDIT4, edit4);this-GetDlgItemText(IDC_EDIT5, edit5);if(edit1.IsEmpty() | edit2.IsEmpty() | edit3.IsEmpty() | edit4.IsEmpty() | edit5.IsEmpty()this-MessageBox(請(qǐng)輸入完整的信息);return;char *pId;char *pName;char *pPrice;char *pNumber;char *pDescribe;pName = CSTRING_TO_CHAR(edit1);pId = CSTRING_TO_CHAR(edit2);pPrice = CSTRING_TO_CHAR(edit3);pNumber = CSTRING_TO_CHAR(edit4);pDescribe = CSTRING_TO_CHAR(edit5);double dPrice = atof(pPrice);int iNumber = atof(pNumber);CItemController itemController = this-m_pItemSystem-GetItemControllerByName(pName);itemController.SetItemID(pId);itemController.SetItemPrice(dPrice);itemController.SetItemNumber(iNumber);itemController.SetItemDescribe(pDescribe);this-m_pItemSystem-SaveFile(FILE_STRING);this-MessageBox(修改成功);this-EndDialog(IDC_OK);else if(stringTool.IsEqual(pSeleteStr, ID)CItem item = this-m_pItemSystem-LocateItemById(pItemStr);if(item = this-m_pItemSystem-NoSuchItem()this-MessageBox(對(duì)不起,庫(kù)存中沒(méi)有此商品);return;CString edit1; CString edit2;CString edit3;CString edit4;CString edit5;this-GetDlgItemText(IDC_EDIT1, edit1);this-GetDlgItemText(IDC_EDIT2, edit2);this-GetDlgItemText(IDC_EDIT3, edit3);this-GetDlgItemText(IDC_EDIT4, edit4);this-GetDlgItemText(IDC_EDIT5, edit5);if(edit1.IsEmpty() | edit2.IsEmpty() | edit3.IsEmpty() | edit4.IsEmpty() | edit5.IsEmpty()this-MessageBox(請(qǐng)輸入完整的信息);return;char *pId;char *pName;char *pPrice;char *pNumber;char *pDescribe;pName = CSTRING_TO_CHAR(edit2);pId = CSTRING_TO_CHAR(edit1);pPrice = CSTRING_TO_CHAR(edit3);pNumber = CSTRING_TO_CHAR(edit4);pDescribe = CSTRING_TO_CHAR(edit5);double dPrice = atof(pPrice);int iNumber = atof(pNumber);CItemController itemController = this-m_pItemSystem-GetItemControllerByID(pId);itemController.SetItemName(pName);itemController.SetItemPrice(dPrice);itemController.SetItemNumber(iNumber);itemController.SetItemDescribe(pDescribe);this-m_pItemSystem-SaveFile(FILE_STRING);this-MessageBox(修改成功);this-EndDialog(IDC_OK);elseassert(0);6) .售出商品:void CSellDialog:OnOk() / TODO: Add your control notification handler code hereif(this-UpdateData() = false)return;CString static1;CString static2;CString static3;CString static4;CString static5;this-GetDlgItemText(IDC_STATIC1, static1);this-GetDlgItemText(IDC_STATIC2, static2);this-GetDlgItemText(IDC_STATIC3, static3);this-GetDlgItemText(IDC_STATIC4, static4);this-GetDlgItemText(IDC_STATIC5, static5);if(static1.IsEmpty() & static2.IsEmpty() & static3.IsEmpty() & static4.IsEmpty() & static5.IsEmpty()this-MessageBox(沒(méi)有找到商品);return;int itemNumber = atof(CSTRING_TO_CHAR(static4);if(this-m_number itemNumber)this-MessageBox(庫(kù)存數(shù)量不夠);return;char *pName = CSTRING_TO_CHAR(static2);CItemController itemController = this-m_pItemSystem-GetItemControllerByName(pName);itemController.SetItemNumber(itemNumber-this-m_number);this-m_pItemSystem-SaveFile(FILE_STRING);this-MessageBox(出售成功);this-EndDialog(IDC_OK);BOOL CSellDialog:OnInitDialog() CDialog:OnInitDialog();/ TODO: Add extra initialization hereModifyStyleEx(WS_EX_TOOLWINDOW, WS_EX_APPWINDOW);(CComboBox*)GetDlgItem(IDC_COMBO1)-SetCurSel(0);return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE7) .買(mǎi)入商品:void CBuyDialog:OnOk() / TODO: Add your control notification handler code hereif(this-UpdateData() = false)return;CString static1;CString static2;CString static3;CString static4;CString static5;this-GetDlgItemText(IDC_STATIC1, static1);this-GetDlgItemText(IDC_STATIC2, static2);this-GetDlgItemText(IDC_STATIC3, static3);this-GetDlgItemText(IDC_STATIC4, static4);this-GetDlgItemText(IDC_STAT

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論