課程設(shè)計-客戶積分管理系統(tǒng)_第1頁
課程設(shè)計-客戶積分管理系統(tǒng)_第2頁
課程設(shè)計-客戶積分管理系統(tǒng)_第3頁
課程設(shè)計-客戶積分管理系統(tǒng)_第4頁
課程設(shè)計-客戶積分管理系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、編號課程設(shè)計報告2015 2016學(xué)年 第二學(xué)期客戶積分管理系統(tǒng)實(shí)習(xí) 類 別課程設(shè)計學(xué) 生 姓 名xxx專業(yè)軟件工程學(xué)號xxxxxxxxxx指導(dǎo) 教 師何巍、劉丹學(xué)院 計算機(jī)科學(xué)技術(shù)學(xué)院二一六年十二月長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告- -耑新新- -起止周17 18周數(shù)實(shí)習(xí)地點(diǎn)南研 1213/1208/1201 實(shí)驗室課程設(shè)計目的:數(shù)據(jù)結(jié)構(gòu)是為了將實(shí)際問題中所涉及的對象在計算機(jī)中表示出來并對它們進(jìn)行處理。 通過課程設(shè)計可以提高學(xué)生的思維能力,促進(jìn)學(xué)生的綜合應(yīng)用能力和專業(yè)素質(zhì)的提高。通過此次軟件基礎(chǔ)算法課程設(shè)計主要達(dá)到以下目的:了解并掌握數(shù)據(jù)結(jié)構(gòu)與算法的設(shè)計方法,具備初步的獨(dú)立分析和設(shè)

2、計能力;初步掌握軟件開發(fā)過程的問題分析、系統(tǒng)設(shè)計、程序編碼、測試等基本方法和技能;提高綜合運(yùn)用所學(xué)的理論知識和方法獨(dú)立分析和解決問題的能力;訓(xùn)練學(xué)生用系統(tǒng)的觀點(diǎn)和軟件開發(fā)一般規(guī)范進(jìn)行軟件開發(fā),培養(yǎng)軟件工作者所應(yīng)具備的科學(xué)的工作方法和作風(fēng)。課程設(shè)計要求:1 、獨(dú)立思考,獨(dú)立完成:課程設(shè)計中各任務(wù)的設(shè)計和調(diào)試要求獨(dú)立完成,遇到問題可以討論,但不可以拷貝。2、做好上機(jī)準(zhǔn)備:每次上機(jī)前,要事先編制好準(zhǔn)備調(diào)試的程序,認(rèn)真想好調(diào)試步驟和有關(guān)環(huán)境的設(shè)置方法,準(zhǔn)備好有關(guān)的文件。3、實(shí)踐設(shè)計以實(shí)際應(yīng)用中的小型題目為主,要求學(xué)生獨(dú)立完成或合作完成。要求學(xué)生能根據(jù)不同的題目類型選擇一種或兩種開發(fā)模式,完成從系統(tǒng)定義

3、,指定開發(fā)計劃,需求分析,設(shè)計,編碼/測試,直至運(yùn)行/維護(hù)的軟件生存期的全過程。完成課程設(shè)計題目客戶積分管理系統(tǒng)進(jìn)度安排及主要內(nèi)容:第一周:調(diào)研;需求分析及總體設(shè)計;規(guī)范化數(shù)據(jù)結(jié)構(gòu)模型;設(shè)計數(shù)據(jù)結(jié)構(gòu)。第二周:詳細(xì)設(shè)計及測試;使用具體語言實(shí)現(xiàn)算法;調(diào)試程序;編寫課程設(shè)計報告。成績:指導(dǎo)教師(簽字)月日一、概述在我們的生活中,很多超市、酒店等都有vip 卡,可以通過記錄客戶每次的消費(fèi)情況計以積分,并根據(jù)不同的消費(fèi)情況還會給予客戶不同程度的優(yōu)惠,以此方式來激勵客戶進(jìn)行更多的消費(fèi),而商家需要一個可以做客戶積分管理的系統(tǒng)來幫助其完成計入積分、計算折扣等操作。在這樣的理念下,本程序?qū)崿F(xiàn)了一個小型的客戶積分

4、管理系統(tǒng),可針對客戶的消費(fèi)情況,進(jìn)行客戶管理,并且根據(jù)客戶的消費(fèi)積分對客戶實(shí)行不同的優(yōu)惠。二、需求分析題目要實(shí)現(xiàn)一個客戶積分管理系統(tǒng),因其經(jīng)常需要進(jìn)行增刪客戶,故經(jīng)考慮,應(yīng)選取鏈?zhǔn)浇Y(jié)構(gòu)作為其存儲結(jié)構(gòu),從而減少增刪過程中頻繁進(jìn)行大量數(shù)據(jù) 移動。三、技術(shù)方案在 Windows7 平臺下,利用Microsoft Visual Studio2010,以C+為主體,在數(shù)據(jù)結(jié)構(gòu)的理論指導(dǎo)下,通過使用鏈表這種存儲結(jié)構(gòu),實(shí)現(xiàn)對客戶積分信息的管理,實(shí)現(xiàn)了一個簡易的客戶積分管理系統(tǒng),可以通過客戶積分對客戶進(jìn)行不同的折扣優(yōu)惠和相關(guān)信息的管理。四、總體設(shè)計在使用系統(tǒng)過程中,我們需要根據(jù)客戶的情況對客戶進(jìn)行一系列的操作

5、:添加客戶、查找客戶、刪除客戶、修改客戶等,其對應(yīng)著鏈表的增加節(jié)點(diǎn)、查找特定節(jié)點(diǎn)、 刪除節(jié)點(diǎn)、修改節(jié)點(diǎn)信息等,我們通過對鏈表節(jié)點(diǎn)的操作來實(shí)現(xiàn)對客戶信息的管理,從而進(jìn)行一系列的操作。五、詳細(xì)設(shè)計客戶積分管理系統(tǒng)的功能模塊程序主要分為六大功能模塊:添加客戶、查找客戶、刪除客戶、修改客戶、顯示所有客戶、統(tǒng)計客戶,通過這六大模塊可對客戶積分進(jìn)行管理。程序的業(yè)務(wù)流程開始輸出主菜單No輸入 XX0執(zhí)行對應(yīng)函數(shù)YesNo結(jié)束圖 -2具體功能實(shí)現(xiàn)主菜單界面在控制臺上顯示所能進(jìn)行的操作及對應(yīng)的編號(如圖-3),并提示輸入根-3添加客戶信息給鏈表添加節(jié)點(diǎn)從而實(shí)現(xiàn)添加客戶信息,節(jié)點(diǎn)信息包括姓名、ID、消費(fèi)金1 時,

6、進(jìn)入該功能函數(shù),依次要求輸入后再次進(jìn)入主菜單并提示輸入一個數(shù)字選擇后續(xù)操作。運(yùn)行過程如圖-4 所查找客戶信息通過對鏈表節(jié)點(diǎn)的遍歷并進(jìn)行節(jié)點(diǎn)ID 匹配進(jìn)行查找對應(yīng)客戶,當(dāng)查找成之后進(jìn)入主菜單界面并提示輸入一個數(shù)字選擇后續(xù)操作。運(yùn)行情況如圖-5 所示。修改客戶信息通過 ID 找到對應(yīng)客戶修改其信息,在消費(fèi)情況上可選擇覆蓋以前消費(fèi)或然后顯示出修改后的客戶信息;若系統(tǒng)中沒有該ID, 則提示后程序進(jìn)入主菜單并提示輸入一個數(shù)字選擇后續(xù)操作。如圖 -6 所示。開始輸入姓名姓名為空?Yes輸入 IDNoID 編碼合法?Yes結(jié)束NoID合法?輸入消 費(fèi)金額輸出客 戶信息開始輸入 IDYes顯示查找結(jié)果開始輸入

7、 ID NoID合法?Yes輸出客 戶信息輸入修改 后的內(nèi)容輸出客戶信息結(jié)束圖 -6刪除客戶信息通過 ID 找到對應(yīng)客戶,然后輸出其信息,經(jīng)過確認(rèn)之后刪除其信息。之后進(jìn)入主菜單界面并提示輸入一個數(shù)字選擇后續(xù)操作。顯示所有客戶遍歷輸出所有節(jié)點(diǎn)信息,在鏈表不為空的情況下while(p-next!=NULL)p=p-next;cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):setprecision(2)consumeendl;cout積分:integerinteger);cout折扣: y 折 next!=NULL)p=p-next;cout姓名: nameendl;c

8、out身份證號:IDendl;cout消費(fèi): setprecision(2)consumeendl;cout積分:integerinteger);cout折扣: y 折 next!=NULL)p=p-next;i+;cout現(xiàn)有客戶數(shù)量為i 位 !endl;之后進(jìn)入主菜單頁面并提示輸入一個數(shù)字選擇后續(xù)操作。六、軟件測試1 測試方案依次測試程序的相關(guān)功能,對每個功能都進(jìn)行多次測試,并記錄測試結(jié)果。對每個功能的各輸入項進(jìn)行不同格式的輸入,檢測其是否可以按預(yù)期運(yùn)行,測試程序的健壯性和可行性。2 測試用例及測試結(jié)果添加客戶首先輸入姓名,之后輸入身份證號碼,當(dāng)輸入的身份證號不足18 位或者不符合身份證號

9、編碼規(guī)則時,提示所輸入的格式不正確,并要求重新輸入,如圖 -8 所示。當(dāng)身份證號碼輸入正確后,要求輸入消費(fèi)金額,之后輸出并進(jìn)入主菜單界面,如圖-9 所示。長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告其余測試屬于及測試情況如表-1 所示- -長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告其余測試屬于及測試情況如表-1 所示- -8圖 -9耑新新-10- -耑新新-10- # -表 -1 添加客戶信息測試數(shù)據(jù)及測試情況測試項測試數(shù)據(jù)內(nèi)容程序反應(yīng)姓名為空需要重新輸入Adad讀入成功Daads1331讀入成功ID411141241要求重新輸入411233aaaaaaaaaaaaa1要求重新輸入4112091

10、98706233011讀入成功41121019900989112S要求重新輸入41120919870987789X讀入成功消費(fèi)情況19.8 折30009.8折132329.2折1432337折60009.5折90009.5折170009折240008折查找客戶-10,提示“沒有客戶!”。長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告- -耑新新- -當(dāng)身份證號輸入不正確時,提示輸入格式不正確,并要求重新輸入。當(dāng)身ID 的字符串匹配,當(dāng)不存在該ID 時,系統(tǒng)提示不存在該客戶;當(dāng)查詢成功時,輸出對應(yīng)客戶的相關(guān)信息,如-7 所示。圖 -11修改客戶當(dāng)鏈表為空時,提示沒有客戶。當(dāng)鏈表不為空時,提示輸入要修

11、改的客戶ID,若沒有此客戶,則提示不存在此客戶!反之,輸出該客戶信息,并提示-12 所示-12刪除客戶當(dāng)鏈表為空時,提示沒有客戶。當(dāng)鏈表不為空時,提示輸入要刪除的客戶ID,進(jìn)行 ID 匹配,若找不到提示不存在該客戶,反之,顯示對應(yīng)客戶信息,“取消”的選擇,操作之后進(jìn)入主菜單,-13 所示。圖 -13顯示客戶當(dāng)鏈表為空時,提示沒有客戶,反之依次輸出所有客戶信息。之后進(jìn)入主統(tǒng)計客戶鏈表為空時,顯示“沒有客戶”,反之提示客戶數(shù)目。在程序剛開始時,由于節(jié)點(diǎn)中包括string 類型,利用malloc 開辟空間,string 對象未進(jìn)行實(shí)例化,從而引發(fā)內(nèi)存使用問題在上網(wǎng)查資料和認(rèn)真思考之后,改 mallo

12、c 為使用 newNew和 malloc 都具有按需開辟空間的功能,但new同時調(diào)用構(gòu)第一次使用Visio ,剛開始畫出的圖出現(xiàn)這樣那樣的問題,經(jīng)過幾次制作Visio 是一個很強(qiáng)大的工具。附錄 1參考文獻(xiàn) TOC o 1-5 h z Stephen Prata C+ Primer Plus 第 6 版 M 北京:人民郵電出版社,2012.stpeace 聊聊 malloc 和 new 的區(qū)別當(dāng)malloc 和 string 相遇時,容易出錯 HYPERLINK /stpeace/article/details/41663381 /stpeace/article/details/41663381

13、 , 2014-12-02Thomas H.Cormen Charles E.Leiserson Ronald L.Rivest Clifford Stein. 算法導(dǎo)論第3 版M 北京:機(jī)械工業(yè)出版社,2013.譚浩強(qiáng)C+程序設(shè)計M 北京:清華大學(xué)出版社,2011.附錄 2程序主要代碼/* *客戶消費(fèi)積分管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)針對客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對客戶實(shí)行不同程度的打折優(yōu)惠。1 、采用一定的存儲結(jié)構(gòu)進(jìn)行客戶信息的存儲;2 、對客戶的信息可以進(jìn)行修改、刪除、添加;3 、能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的累加4 、根據(jù)積分情況,對客戶實(shí)行不同程度的打折優(yōu)惠;*/#inc

14、lude#include#include stdlib.h#includeusing namespace std;bool isID(string &);typedef struct cnodechar name20;string ID;double consume;double integer;struct cnode *next;cnode;void Initstack(cnode * &head)/* 初始化鏈表*/head= new cnode(); /開辟節(jié)點(diǎn)空間 head-next=NULL;void Getelem (cnode *head);void Search(cnode

15、*head,string &ID);void Amend(cnode *head,string &ID);void Delete(cnode *head,string &ID);void Showall(cnode *head);void count(cnode *head);double display_discount(double integer);int main()cnode *head;int choice;string y;Initstack(head); do coutendl;cout客戶消費(fèi)積分管理系統(tǒng)endl;cout*endl;cout*endl;cout*主菜單*en

16、dl;cout*1添加客戶*endl;cout*2查找客戶*endl;cout*3修改客戶*endl;cout*4刪除客戶*endl;cout*5顯示客戶*endl;cout*6統(tǒng)計客戶*endl;cout*7退出*endl;cout*endl;cout*endl;/查找/顯示/添加coutchoice;if(choice=1)Getelem(head);else if(choice=2)couty;isID(y);Search(head,y);else if(choice=3)couty;isID(y);Amend(head,y);/修改else if(choice=4)couty;isID

17、(y);Delete(head,y);/刪除else if(choice=5)Showall(head);else if(choice=6)count(head);/統(tǒng)計else if(choice=7) exit(1);while(choicenext=new cnode;/*申請空的節(jié)點(diǎn)空間*/p-ID= ;coutp-name;coutp-ID;isID(p-ID);coutp-consume;p-integer=p-consume/100;cout積分: integerinteger);/調(diào)用函數(shù)計算折扣cout折扣 :/*setprecision(1)*/y 折 next=head-

18、next;head-next=p;void Search(cnode *head,string &ID)cnode *p=new cnode;double y;p=head;if(p-next=NULL)cout沒有客戶!next!=NULL)p=p-next;if(ID=p-ID)/判斷身份證號是否相同cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):/*setprecision(2)consumeendl;長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告- -耑新新- -cout積分:integerinteger);cout折扣/*setprecision(1)*/y

19、 折 endl;return;cout不存在該客戶!next=NULL)cout沒有客戶!next!=NULL)p=p-next;if(ID=p-ID) /判斷身份證號是否相同cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):/*setprecision(2)*/consumeendl;cout積分:/*setprecision(1)integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;費(fèi)金額。coutchoose;if(choose=1)coutp-name;if(choose=2)coutp-ID;isID(p-I

20、D);if(choose=3)coutx;if(x=1)coutp-consume;elseprintf(請輸入續(xù)加金額:);cinz;p-consume+=z;cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):/*setprecision(2)consumeinteger=p-consume/100.0;cout積分:integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;return;cout不存在該客戶!next=NULL)cout沒有客戶!next!=NULL)head=p;p=p-next;if(ID=p-ID

21、)/判斷身份證號是否相同cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):/*setprecision(2)*/consumeendl;cout積分:integerinteger);cout折扣:/*setprecision(1)*/y 折 endl;coutx;if(x=1)head-next=p-next;cout(刪除成功!);elsecout刪除失敗!;return ;長春理工大學(xué)計算機(jī)科學(xué)技術(shù)學(xué)院課程設(shè)計報告- -耑新新- -cout不存在該客戶!next=NULL)cout沒有客戶!next!=NULL)p=p-next;cout姓名:nameendl;cout身份證號:IDendl;cout消費(fèi):/*setprecision(2)consumeendl;cout積分:integerinteger);cout折扣:/*setprecision(1)*/y 折 next=NULL)cout沒有客戶!next!=NULL)p=p-next;i+;cout現(xiàn)有客戶數(shù)量為i 位 ! 0&points 50&points 100&points 150&points 200&points 300)discount = 7;return discount;int cal(stri

溫馨提示

  • 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

提交評論