找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 8016|回復(fù): 2
收起左側(cè)

c++商品銷售管理系統(tǒng)源碼與綜合程序課程設(shè)計(jì)說明書

[復(fù)制鏈接]
ID:359090 發(fā)表于 2018-6-26 10:23 | 顯示全部樓層 |閱讀模式
綜合程序課程設(shè)計(jì)說明書
課程設(shè)計(jì)名稱:        軟件綜合課程設(shè)計(jì)      
課程設(shè)計(jì)題目:         商品銷售統(tǒng)計(jì)系統(tǒng)      
學(xué) 院 名 稱:          信息工程學(xué)院         
專業(yè):電子信息工程   班級(jí):   150411  
學(xué)號(hào):   15041113    姓名:   高*
評分:  教師:    鄒*

    綜合程序    課程設(shè)計(jì)任務(wù)書
20 17 -20 18學(xué)年 第 2 學(xué)期  第 1 周- 2
題目
商品銷售統(tǒng)計(jì)系統(tǒng)
內(nèi)容及要求
編寫商品銷售統(tǒng)計(jì)程序,商品的信息有:商品的名稱,計(jì)量單位(重量或件),單價(jià)。所有商品的信息事先已存入計(jì)算機(jī),屏幕上顯示所有商品的名稱,選擇商品名,輸入商品計(jì)量單位(如重量,件數(shù)等),根據(jù)單價(jià)算出總價(jià)?蛻粢淮钨徫锟赡苜徺I多種商品,程序應(yīng)計(jì)算出客戶應(yīng)付的錢款數(shù)。
要求:
程序分為兩個(gè)部分:第一部分用于輸入商品的信息并允許修改和刪除;第二部分實(shí)現(xiàn)銷售統(tǒng)計(jì)。程序運(yùn)行時(shí)由用戶選擇進(jìn)入哪一部分功能,并能在運(yùn)行時(shí)在兩部分之間切換。第二部分運(yùn)行時(shí),首先顯示所有商品名稱及代碼(商品數(shù)目較多時(shí),應(yīng)考慮分屏顯示),用戶輸入商品代碼及商品重量或件數(shù),用戶一次操作可輸入若干商品的購買信息,然后輸入一個(gè)特殊的代碼表示本次購物結(jié)束。此時(shí)。程序計(jì)算出應(yīng)付錢款數(shù)并顯示。
進(jìn)度安排
1周周一至第1周周二:查資料;
1周周三至第2周周四:程序編寫與調(diào)試;
2周周五:設(shè)計(jì)結(jié)果檢查。
學(xué)生姓名:  15041106鄭文婷  15041113高志華
指導(dǎo)時(shí)間  周一、周三、周五
指導(dǎo)地點(diǎn):  E311
任務(wù)下達(dá)
2018年2月26 日
任務(wù)完成
2018  年 3 月9 日
考核方式
1.評閱     2.答辯       3.實(shí)際操作      4.其它□
指導(dǎo)教師
鄒*
系(部)主任
孫*
注:1、此表一組一表二份,課程設(shè)計(jì)小組組長一份;任課教師授課時(shí)自帶一份備查。
2、課程設(shè)計(jì)結(jié)束后與“課程設(shè)計(jì)小結(jié)”、“學(xué)生成績單”一并交院教務(wù)存檔。


摘要
銷售統(tǒng)計(jì)系統(tǒng)是銷售統(tǒng)計(jì)軟件的通俗化名稱,銷售統(tǒng)計(jì)系統(tǒng)是管理銷售線索、銷售活動(dòng)、業(yè)務(wù)報(bào)告、統(tǒng)計(jì)銷售業(yè)績的先進(jìn)工具,適合企業(yè)銷售部門辦公和管理使用,協(xié)助銷售經(jīng)理和銷售人員快速管理客戶、銷售和業(yè)務(wù)的重要數(shù)據(jù)。
由于經(jīng)濟(jì)的飛速發(fā)展,銷售人員付出大量的時(shí)間,得到的效率很低。因此為了提高工作效率,減輕銷售人員查找等繁雜的工作,設(shè)計(jì)出一個(gè)功能完善、合理的銷售管理系統(tǒng)。本課題設(shè)計(jì)出此系統(tǒng)以供操作者進(jìn)行商品銷售管理,方便操作者隨時(shí)添加、查詢和修改商品信息。
關(guān)鍵字:c語言;查找;刪除;修改;保存。
目錄
第一章需求分析·························1
第二章系統(tǒng)組成及設(shè)計(jì)原理····················2
2.1 系統(tǒng)組成·····················2
2.2 設(shè)計(jì)原理·····················2
第三章概要設(shè)計(jì)························3
3.1 系統(tǒng)層次圖·····················3
3.2 方案對比······················4
詳細(xì)設(shè)計(jì)························5
4.1商品錄入·····················5
4.2 商品查詢······················6
4.3 顯示商品······················7
4.4 購買商品······················8
4.5 保存信息······················9
    4. 6  修改商品·····························10
4. 7 主函數(shù)模塊······ ·····················11
第五章調(diào)試及測試及結(jié)果與分析···················12
5.1 調(diào)試過程 ···························12
5.2 調(diào)試結(jié)果 ···························14
結(jié)論······························18
參考文獻(xiàn)····························19
附錄A·······························20
                                                                                
  • 需求分析
分析此課題題目的要求,本系統(tǒng)需要具備以下功能:能夠統(tǒng)計(jì)所銷售商品的代碼、名稱、價(jià)格、數(shù)量等信息;能夠通過輸入選擇鍵調(diào)出倉庫中所有商品的所有信息;實(shí)現(xiàn)通過代碼來查詢某個(gè)商品,并且輸出該商品的所有信息;能夠在用戶購買商品時(shí),根據(jù)情況給予用戶反饋信息,其中包括購買商品名稱、代碼、單價(jià)、所買數(shù)量,并對該商品進(jìn)行一次小結(jié),告知用戶消費(fèi)情況;購買結(jié)束后,統(tǒng)計(jì)用戶所消費(fèi)的總金額,記錄其所付金額以及找零金額。
  • 系統(tǒng)組成及設(shè)計(jì)原理
2.1系統(tǒng)的組成
系統(tǒng)的組成包括以下幾個(gè)模塊
1.錄入商品
2.商品查詢
3.顯示數(shù)據(jù)
4.購買商品
5.保存信息
6.修改信息
7.退出系統(tǒng)
2.2  設(shè)計(jì)原理
實(shí)現(xiàn)這些功能,需要聲明構(gòu)造函數(shù)Sale(),此函數(shù)中包含數(shù)據(jù)成員商品代碼、名字、價(jià)格、數(shù)量。另外,創(chuàng)建鏈表,用于儲(chǔ)存商品錄入信息,購買情況,以及所有商品的信息。利用switch語句來實(shí)現(xiàn)根據(jù)需要選擇不同的功能。
創(chuàng)建鏈表,對頭結(jié)點(diǎn)進(jìn)行初始化,對數(shù)據(jù)域分配內(nèi)存大小,通過指針域訪問結(jié)點(diǎn),來實(shí)現(xiàn)元素的儲(chǔ)存調(diào)用等。
定義子函數(shù),來實(shí)現(xiàn)商品的錄入、查詢、顯示、購買等功能。錄入功能需要包含商品的一些信息,如:代碼、名稱、價(jià)格等;查詢功能則是為了方便用戶獲得所需購買物品的一些信息;顯示功能可以使用戶對倉庫的儲(chǔ)存情況一目了然;購買功能主要是進(jìn)行商品的結(jié)算。
編寫過程中,代碼和名字需應(yīng)用字符串,數(shù)量以整型輸出,考慮到上平的數(shù)量可能會(huì)很多,故定義為unsigned int quality,價(jià)格以浮點(diǎn)型輸出。
第三章概要設(shè)計(jì)
3.1 系統(tǒng)結(jié)構(gòu)層次圖
本銷售系統(tǒng)使用設(shè)置主菜單,從主菜單進(jìn)入分應(yīng)用的模式。一方面使人機(jī)交互界面人性化,便于操作者的操作,另一方面使系統(tǒng)模塊化,以便在日后調(diào)試檢測時(shí)較為方便。系統(tǒng)結(jié)構(gòu)層次圖如圖3.1所示
圖3.1 結(jié)構(gòu)層次圖
3.2方案對比
圖3.2 對比結(jié)構(gòu)層次圖
圖3.2為備選設(shè)計(jì)方案,菜單選項(xiàng)分兩級(jí),實(shí)際操作過程中從每級(jí)子程序退出時(shí)需要進(jìn)入第一級(jí)人機(jī)界面,所以操作過于繁瑣,再與方案一對比過后選擇更為簡便的第一種方案。
  • 詳細(xì)設(shè)計(jì)
4.1  商品錄入
商品錄入功能用鏈表保存輸入的商品信息,執(zhí)行順序流程,輸入商品代碼、名稱、數(shù)量、單價(jià)。將數(shù)據(jù)保存在鏈表中。流程圖如圖4.1所示。
圖4.1 商品錄入流程圖
4.2  商品查詢
按商品名稱查詢通過Link Search(Link Head,string&num)函數(shù)實(shí)現(xiàn),用到while循環(huán)語句和if-else語句。輸入要查詢商品的名稱,在文件中讀取,若該商品存在,則從文件中獲取該商品信息,并顯示到輸出界面,若不存在,則輸出界面顯示“商品信息不存在”。


圖4.2 商品查詢流程圖

4.3  顯示商品
商品顯示功能通過定義Display函數(shù)實(shí)現(xiàn),在此函數(shù)中要調(diào)用查詢子函數(shù)Search,通過查找按順序輸出商品信息。         


圖4.3 顯示商品流程圖

4.4   商品購買
商品購買功能子程序需要調(diào)用Total、Display、ChechOut三個(gè)函數(shù),用while循環(huán)語句實(shí)現(xiàn)是否繼續(xù)購買。使用if-else語句,另外使用sum=sum+=CheckOut語句實(shí)現(xiàn)多次小計(jì)累加求和。

圖4.4  商品購買流程圖

4.5  保存信息
此模塊中運(yùn)用到c語言中文件讀寫的相關(guān)知識(shí),定義指針fq,若未按照正常格式寫入,則輸出文件寫入錯(cuò)誤,具體流程圖如圖4.5所示

圖4.5 保存信息流程圖

4.6  商品修改
修改商品信息用到了Alter()函數(shù)實(shí)現(xiàn),調(diào)用Search()函數(shù),通過輸入商品名稱確定所要修改商品的信息,除了用到switch語句,還用到if-else語句,判斷所要修改的商品信息是否存在,若不存在,則輸出“該商品不存在”;若存在,即可對商品信息進(jìn)行相應(yīng)的修改。流程圖如圖4.6所示。

圖4.6 商品修改流程圖
4.7  主函數(shù)模塊
主函數(shù)主要運(yùn)用switch-case選擇判斷語句來調(diào)用相關(guān)函數(shù)功能模塊,系統(tǒng)的運(yùn)行是循環(huán)里進(jìn)行的,只有在主界面選擇“退出時(shí)”,才會(huì)跳出循環(huán),并退出程序。主函數(shù)中分別定義了各個(gè)模塊所要調(diào)用的功能函數(shù),整個(gè)程序從主函數(shù)開始執(zhí)行。
圖4.7 主函數(shù)流程圖
第五章  調(diào)試及測試結(jié)果與分析
5.1調(diào)試過程
程序錯(cuò)誤之處:
1、代碼和名字分別定義為整型和字符型。
2、未對鏈表頭結(jié)點(diǎn)進(jìn)行初始化。
3、數(shù)據(jù)域中沒有分配內(nèi)存。
  4、在do-while語句結(jié)束時(shí)沒有返回頭結(jié)點(diǎn)。
  5、顯示程序不能實(shí)現(xiàn),賣出商品后沒有辦法在原有的數(shù)據(jù)上減去賣出的部分,顯示的仍舊是錄入商品的全部數(shù)量。
導(dǎo)致的后果:
第一個(gè)錯(cuò)誤導(dǎo)致訪問結(jié)點(diǎn)無法進(jìn)行;與后面的不匹配。第二個(gè)錯(cuò)誤,在運(yùn)行程序時(shí),無論是錄入商品信息還是購買商品均不能進(jìn)行第二步操作;第三個(gè)錯(cuò)誤引發(fā)的后果與錯(cuò)誤2一樣;錯(cuò)誤4則導(dǎo)致函數(shù)creat沒有返回值。最后的一個(gè)錯(cuò)誤不符合任務(wù)書上的要求。
改正方法:
1、定義代碼和名字改用string;
2、對頭結(jié)點(diǎn)進(jìn)行初始化并動(dòng)態(tài)分配一個(gè)內(nèi)存大。
             Head=(Link)new Node;//每次動(dòng)態(tài)分配一個(gè)Node內(nèi)存大小。
             Head->num="";
             Head->name="";
             Head->jiage=0.0;
Head->shuliang=0;
             Head->next=NULL;
3、返回頭結(jié)點(diǎn):return Head;。
在編寫此程序時(shí),定義變量num、name時(shí)沒有注意其類型,無法與后面Head->num="";Head->name="";if(p->num==num)相匹配,程序出現(xiàn)錯(cuò)誤。用以儲(chǔ)存更多的元素內(nèi)容,否則的話在運(yùn)行的過程中,錄入一種商品的信息完成后,程序會(huì)自動(dòng)結(jié)束。
首先定義一個(gè)子函數(shù):
Link Search(Link Head,string& num)
{
Link p;

p=Head;

while(p!=NULL)
{
if(p->num==num)
return p;
else
p=p->next;
}
cout<<"無此商品!"<<endl;
return p;。
}
通過輸入商品代碼,來查詢倉庫中是否有該商品。
另外在運(yùn)行程序是發(fā)現(xiàn),當(dāng)選擇查看所有商品信息時(shí)輸出結(jié)果太亂,信息無法與提示對齊,我們可以在頭文件中加入#include <iomanip>,后面的輸出程序可以改成:
cout<<setw(15)<<left<<ptr->m_code
<<setw(15)<<left<<ptr->m_name
<<setw(15)<<left<<ptr->m_price
<<setw(15)<<left<<ptr->m_quantity<<endl;
     改進(jìn)設(shè)想:
本程序最大的缺點(diǎn)就是沒有在程序中預(yù)先儲(chǔ)存商品信息,因此在運(yùn)行程序過程中需要首先錄入一部分商品。為了方便操作,可以針對此問題來進(jìn)行修改,在容器中儲(chǔ)存一些比較常用的商品(不少于二十種)。
運(yùn)行程序過程中,如果選擇了2,購買商品,首先會(huì)顯示:結(jié)束買入請按‘N’,其他任意鍵表示繼續(xù)買入!這里的任意鍵不為空格和輸入鍵,并且輸入數(shù)字的情況下只能為一位,否則無法輸入代碼,程序無法繼續(xù)進(jìn)行。
5.2調(diào)試結(jié)果
進(jìn)入菜單界面,調(diào)試錄入信息功能。根據(jù)提示輸入數(shù)字1,然后顯示出“商品信息”接著輸入代碼、名稱、價(jià)格和數(shù)量,最后顯示“數(shù)據(jù)輸入成功!繼續(xù)?(Y/N)”。接著輸入下一個(gè)商品信息選擇“Y”,否則鍵入“N”。此課題調(diào)試輸入兩種商品信息,實(shí)際操作如圖5.1所示。

圖5.1 錄入信息調(diào)試圖
查詢功能調(diào)試結(jié)果:在兩種商品信息錄入成功之后,回到主菜單欄。輸入所要查詢的商品代碼,回車。輸出所查找商品的所有信息。例如輸入代碼01,回車,顯示出商品電腦的所有信息。實(shí)際操作效果如圖5.2所示。
圖5.2 查詢功能調(diào)試
顯示功能調(diào)試,如圖5.3所示,回到主界面選擇“3 顯示數(shù)據(jù)”進(jìn)入顯示功能程序,所有商品信息逐行顯示。
圖5.3 顯示功能調(diào)試圖
    進(jìn)入系統(tǒng)另外一部分,實(shí)際購買商品流程。輸入購買商品代碼02,輸入購買數(shù)量10臺(tái),顯示出單個(gè)商品小結(jié)3000元。選擇”Y”繼續(xù)購買第二件商品,輸入購買的第二件商品代碼01,輸入購買數(shù)量2臺(tái),顯示出第二件商品小結(jié)。選擇“N”結(jié)束商品購買。顯示該支付34000元,實(shí)際支付40000元自動(dòng)計(jì)算找零,如圖5.4所示。
圖5.4 顯示功能調(diào)試圖
商品信息保存功能測試結(jié)果:在完成兩種商品錄入后回到主菜單,輸入數(shù)字5,將所有商品信息以文件形式保存到計(jì)算機(jī)磁盤中。結(jié)果如圖5.5所示
圖5.5 保存功能調(diào)試圖
修改功能調(diào)試:從主界面進(jìn)入修改功能,輸入所要修改商品的名稱,選擇單價(jià)修改,輸入正確信息4000.顯示信息如圖5.6所示,
圖5.6 修改功能調(diào)試圖
結(jié)論
    本次軟件課程設(shè)計(jì)用c++實(shí)現(xiàn)了題目所有的要求,達(dá)到了商品銷售系統(tǒng)所實(shí)現(xiàn)的功能。將整個(gè)程序分成了多個(gè)模塊,每個(gè)模塊相互獨(dú)立而又彼此聯(lián)系,通過主函數(shù)調(diào)用來實(shí)現(xiàn)各個(gè)模塊的功能。模塊化設(shè)計(jì)在實(shí)際中應(yīng)用廣泛,本課題提高了學(xué)生對軟件設(shè)計(jì)的興趣,不僅鞏固了所學(xué)知識(shí),在編程過程中學(xué)到了很多課堂之外的知識(shí),實(shí)際應(yīng)用了模塊化設(shè)計(jì)實(shí)例。

源碼:
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include<fstream>
  5. #define null 0
  6. #include<iostream>
  7. #include <iomanip>
  8. #include<string>     //控制字符串的頭文件
  9. using namespace std;
  10. class tong
  11. {
  12. public:
  13. tong();
  14. tong(char co[20],char n[20],
  15. char dw[20],double pr,int qu);
  16. ~tong();
  17. void save();
  18. void take();
  19. void Set();                         //商品信息錄入
  20. void Alter();                       //商品信息修改
  21. void list();                        //商品信息顯示
  22. void Display();
  23. float Checkout(int quantity);        //單個(gè)商品小結(jié)
  24. void Total();                        //總計(jì)
  25. void buy();                          //商品買入
  26. private :
  27. char code[20];char name[20];char danwei[20];double price;int quantity;
  28. };
  29. tong::tong(){}
  30. tong::tong(char co[20],char n[20],char dw[20],double pr,int qu){
  31. strcpy(code,co);
  32. strcpy(name,n);
  33. strcpy(danwei,dw);
  34. price=pr;
  35. quantity=qu;}
  36. tong::~tong(){}
  37. tong *s[50];
  38. int i=0;
  39. int j=0;
  40. char code[20];char name[20];char danwei[20];double price; int quantity;
  41. void tong::save() //寫入數(shù)據(jù)至文件
  42. {
  43. ofstream outfile;
  44. outfile.open("商品銷售管理系統(tǒng).txt");
  45. if(!outfile)
  46. {
  47. cout<<"cannot open the file!"<<endl;
  48. return ;
  49. }
  50. else
  51. outfile<<"商品代碼及名稱"<<""<<"商品單價(jià)"<<""<<"請輸入商品數(shù)量"<<""<<"計(jì)量單位"<<endl;
  52. cout<<"商品代碼及名稱"<<""<<"商品單價(jià)"<<""<<"請輸入商品數(shù)量"<<""<<"計(jì)量單位"<<endl;
  53. for(int k=0;k<i;k++){

  54. cout<<setw(10)<<left<<s[k]->code<<setw(10)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(10)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
  55. outfile<<setw(10)<<left<<s[k]->code<<setw(10)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(10)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
  56. }
  57. cout<<"*************Save Success!*****************"<<endl;
  58. outfile.close();
  59. }



  60. void tong::Set()                   //商品信息錄入
  61. {
  62. cout<<"請輸入商品代碼及名稱:"<<endl;
  63. cin>>code>>name;
  64. cout<<"請輸入計(jì)量單位:"<<endl;
  65. cin>>danwei;
  66. cout<<"請輸入商品單價(jià):"<<endl;
  67. cin>>price;
  68. cout<<"請輸入商品數(shù)量:"<<endl;
  69. cin>>quantity;
  70. j++;
  71. s[i]=new tong(code,name,danwei,price,quantity);
  72. i++;
  73. cout<<"信息錄入成功!"<<endl;
  74. cout<<"是否繼續(xù)錄入?(y or n)"<<endl;
  75. if(getch()=='y')
  76. Set();
  77. else return;
  78. }
  79. void tong::Alter()//商品信息修改
  80. {
  81. cout<<"請輸入您所修改的商品名稱:"<<endl;
  82. cin>>name;
  83. for(int h=0;h<i;h++)
  84. if(strcmp(name,s[h]->name)==0)
  85. {
  86. char newcode[20];
  87. char newname[20];
  88. char newdanwei[20];
  89. double newprice;
  90. int newquantity;
  91. int n;
  92. cout<<"你想要修改:代碼及名稱按3) 、數(shù)量(請按4)"<<endl;
  93. cin>>n;
  94. switch(n)
  95. {
  96. case 1:
  97. { cout<<"請輸入商品代碼及名稱:"<<endl;
  98. cin>>newcode[20]>>newname[20];
  99. s[h]->code[20]=newcode[20];
  100. s[h]->name[20]=newname[20];

  101. cout<<"數(shù)據(jù)修改成功!";
  102. }break;
  103. case 2:            
  104.               {                       
  105.                             cout<<"請輸入計(jì)量單位:"<<endl;                       
  106.                             cin>>newdanwei;              
  107.                             s[h]->danwei[20]=newdanwei[20];                       
  108.                             cout<<"數(shù)據(jù)修改成功!";                  
  109.               }break;                    
  110. case 3:                    
  111.               {                       
  112.                             cout<<"請輸入單價(jià):"<<endl;                       
  113.                             cin>>newprice;           
  114.                             s[h]->price=newprice;                       
  115.                             cout<<"數(shù)據(jù)修改成功!";                        
  116.               }break;

  117. case 4:
  118. {
  119. cout<<"請輸入數(shù)量:"<<endl;
  120. cin>>newquantity;
  121. s[h]->quantity=newquantity;
  122. cout<<"數(shù)據(jù)修改成功!";
  123. }break;
  124. }
  125. }
  126. else
  127. cout<<"你所要修改的商品的信息不存在,請修正后在更改!"<<endl;
  128. cout<<"是否繼續(xù)修改?(y/n)"<<endl;
  129. if(getch()=='y')
  130. Alter();
  131. else return ;
  132. }
  133. void tong::list()                  //商品信息顯示
  134. {
  135. cout<<"=========================================================="<<endl;
  136. cout<<"===================所有商品信息==================="<<endl;
  137. cout<<"=========================================================="<<endl;
  138. cout<<"貨品代碼=======貨品名稱======貨品價(jià)格======貨品數(shù)量======計(jì)量單位"<<endl;
  139. if(i==0)
  140. cout<<"系統(tǒng)中沒有錄入商品信息或該商品信息已被刪除!"<<endl;
  141. for(int k=0;k<i;k++){
  142. cout<<setw(15)<<left<<s[k]->code<<setw(15)<<left<<s[k]->name<<setw(15)<<left<<s[k]->price<<setw(15)<<left<<s[k]->quantity<<setw(15)<<left<<s[k]->danwei<<endl;
  143. }
  144. }
  145. void tong::buy()                       //商品買入
  146. {
  147. cout<<"請輸入你想購買的商品的代碼及名稱:"<<endl;
  148. cin>>code>>name;
  149. cout<<"請輸入您想購買的商品的數(shù)量:"<<endl;
  150. cin>>quantity;
  151. Checkout(quantity);
  152. Display();
  153. Total();
  154. }
  155. void tong::Display()
  156. {
  157. int k;
  158. k=atoi(code)-1;

  159. cout<<"貨品代碼=======貨品名稱======貨品價(jià)格======購買數(shù)量======計(jì)量單位=====小計(jì)(元)=="<<endl;
  160. cout<<setw(15)<<left<<s[k]->code
  161. <<setw(15)<<left<<s[k]->name
  162. <<setw(15)<<left<<s[k]->price
  163. <<setw(15)<<left<<quantity
  164. <<setw(15)<<left<<s[k]->danwei
  165. <<setw(15)<<left<<quantity*s[k]->price<<endl;
  166. }


  167. float tong::Checkout(int quantity)                    //單個(gè)商品小結(jié)
  168. {
  169. int k=0;
  170. float sum(0.0);
  171. sum=s[k]->price * quantity;
  172. return sum;
  173. }
  174. void tong::Total()                            //總結(jié)帳
  175. {
  176. float sum = 0;
  177. float factly;
  178. char GoOn;
  179. while(1)
  180. {
  181. cout<<"要結(jié)束商品買入請按'N/n',其繼續(xù)買入請按'Y/y': "<<endl;
  182. cin>>GoOn;
  183. if(GoOn=='Y'||GoOn=='y'){      //int quantity;
  184. cout<<"請輸入商品代碼:"<<endl;
  185. cin>>code>>name;
  186. cout<<"請輸入商品數(shù)量:"<<endl;
  187. cin>>quantity;
  188. sum+=Checkout(quantity);
  189. cout<<"你購買的商品為:"<<endl;
  190. Display();
  191. }
  192. else if(GoOn=='N'||GoOn=='n')
  193. break;
  194. }
  195. cout<<"----------------------------------------------------"<<endl;
  196. sum+=Checkout(quantity);
  197. cout<<"你應(yīng)該付 "<<sum<<"元!"<<endl;
  198. cout<<"你實(shí)際付(元): ";
  199. cin>>factly;
  200. cout<<"應(yīng)該找回你 "<<factly-sum<<"元!"<<endl;     //找零。
  201. }
  202. void caozuoa(int p){
  203. tong t;
  204. switch(p){
  205. case 0:t.Set();break;
  206. case 1:t. Alter ();break;
  207. case 2:t.save();break;
  208. case 8:exit(0);break;
  209. }
  210. }
  211. void caozuob(int p){
  212. tong t;
  213. switch(p){
  214. case 0:t.list();break;
  215. case 1:t.buy();break;
  216. case 8:exit(0);break;
  217. }
  218. }
  219. void main()
  220. {
  221. int a;
  222. char w;
  223. cout<<"***************************************************"<<endl;     cout<<"\n"<<endl;
  224. cout<<"*------------歡迎進(jìn)入商品銷售統(tǒng)計(jì)系統(tǒng)-------------*"<<endl;          cout<<"\n"<<endl;
  225. cout<<"***************************************************"<<endl;   do{
  226. cout<<"請選擇您的操作:商品信息管理系統(tǒng)(M)商品銷售系統(tǒng)(S)"<<endl;          cin>>w;
  227. cout<<"*---------------------菜單選項(xiàng)--------------------*"<<endl;
  228. cout<<"*-------------------------------------------------*"<<endl;
  229. cout<<"\n"<<endl;
  230. if(w=='M'||w=='m')
  231. {  cout<<"商品信息錄入(請輸入0) 修改信息(請輸入1) 保存信息(請輸入2) "<<endl;
  232. cin>>a;               
  233. caozuoa(a);               
  234. }        
  235. else if(w=='S'||w=='s')
  236. {           
  237.               cout<<"顯示商品信息(請輸入0)   商品買入(請輸入1)  "<<endl;            
  238.               cin>>a;                 
  239.               caozuob(a);               
  240. }               
  241. else
  242. {               
  243.               cout<<"請輸入'M' 、'm' 或'S' 、's'"<<endl;}               
  244. cout<<"您想繼續(xù)進(jìn)行其他操作嗎?(y/n)"<<endl;                 
  245. cin>>w;  
  246. }while(w=='y');
  247. }
復(fù)制代碼

完整的Word格式文檔51黑下載地址:
課設(shè)報(bào)告.docx (510.27 KB, 下載次數(shù): 17)

回復(fù)

使用道具 舉報(bào)

ID:788442 發(fā)表于 2020-6-24 09:59 | 顯示全部樓層
流程圖方便發(fā)下
回復(fù)

使用道具 舉報(bào)

ID:814444 發(fā)表于 2020-8-15 16:14 | 顯示全部樓層
程序會(huì)報(bào)錯(cuò)啊樓主
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表