客戶消費(fèi)積分管理_第1頁
客戶消費(fèi)積分管理_第2頁
客戶消費(fèi)積分管理_第3頁
客戶消費(fèi)積分管理_第4頁
客戶消費(fèi)積分管理_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、WORD38/42WORD課程設(shè)計(jì)(論文)題 目:客戶消費(fèi)積分管理院 (系):信息與控制工程學(xué)院專業(yè)班級: 計(jì)算機(jī)1102 姓 名:若小木學(xué) 號:110620210指導(dǎo)教師:高麗2013年 9 月 25日建筑科技大學(xué)課程設(shè)計(jì)(論文)任務(wù)書 專業(yè)班級: 計(jì)算機(jī)1102班學(xué)生: 若小木 指導(dǎo)教師(簽名):一、課程設(shè)計(jì)(論文)題目客戶消費(fèi)積分管理:針對客戶的消費(fèi)情況,進(jìn)行客戶管理,根據(jù)客戶的消費(fèi)積分對客戶實(shí)行不同程度的打折優(yōu)惠。二、本次課程設(shè)計(jì)(論文)應(yīng)達(dá)到的目的數(shù)據(jù)結(jié)構(gòu)是實(shí)踐性很強(qiáng)的課程。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠?qū)懗霰容^規(guī)的設(shè)計(jì)報(bào)告。嚴(yán)格

2、實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。本題目要達(dá)到目的:熟練掌握鏈表的實(shí)現(xiàn)。 三、本次課程設(shè)計(jì)(論文)任務(wù)的主要容和要求(包括原始數(shù)據(jù)、技術(shù)參數(shù)、設(shè)計(jì)要求等) 基本要求:采用一定的存儲結(jié)構(gòu)進(jìn)行客戶信息的存儲;對客戶的信息可以進(jìn)行修改、刪除、添加;能夠根據(jù)消費(fèi)情況進(jìn)行客戶積分的計(jì)算;根據(jù)積分情況實(shí)行不同程度的打折優(yōu)惠;四、應(yīng)收集的資料與主要參考文獻(xiàn): 由于本課程沒有安排“課上機(jī)”學(xué)時(shí),因此,在課程設(shè)計(jì)之前必須自己已經(jīng)上機(jī)練習(xí)了“線性表”的基本操作。參考文獻(xiàn):1.本年級使用的教材:數(shù)決結(jié)構(gòu)與算法分析(C+版),電子工業(yè),2005.7,

3、Clifford A.Shaffer編著2. 數(shù)據(jù)結(jié)構(gòu)與算法,科學(xué),2005.08,文靜 祁飛等編著3. 數(shù)據(jù)結(jié)構(gòu)-C+語言描述,交通大學(xué),1999.01,文靜編著4.VC+深入詳解,電子工業(yè),2007.7,鑫,于安萍編著5.C+程序設(shè)計(jì), 清華大學(xué), 2005.8,COHOON & DAVIDSON編著五、審核批準(zhǔn)意見教研室主任(簽字)設(shè)計(jì)總說明數(shù)據(jù)結(jié)構(gòu)是一門專門講述如何管理和處理數(shù)據(jù)的課程,包括堆棧,隊(duì)列,鏈表,圖和樹等等經(jīng)典的數(shù)據(jù)結(jié)構(gòu)類型,使人們在數(shù)據(jù)的處理方面的效率大大提高。人民生活水平日益提高,超市購物的人越來越高。為了吸引更多的老顧客,超市往往會根據(jù)客戶的以往購物情況實(shí)施不同程度的

4、打折優(yōu)惠的策略。但是對于客戶的購物歷史記錄的存儲就是一個(gè)尤為重要的問題,因此我們嘗試用數(shù)據(jù)結(jié)構(gòu)中的有關(guān)知識進(jìn)行解決。本設(shè)計(jì)用于管理客戶的消費(fèi)情況,從而根據(jù)客戶的消費(fèi)積分對客戶實(shí)行不同程度的打折優(yōu)惠。對于客戶消費(fèi)積分管理系統(tǒng)利用線性表的鏈表存儲方式,使用結(jié)構(gòu)體指針將每一個(gè)用戶聯(lián)系起來。程序中設(shè)計(jì)了添加用戶查找用戶修改用戶刪除用戶統(tǒng)計(jì)客戶數(shù)量的功能,充分滿足對于管理系統(tǒng)的要求。關(guān)鍵字:數(shù)據(jù)結(jié)構(gòu);鏈表;客戶目錄 TOC o 1-3 h z u HYPERLINK l _Toc23177 1.設(shè)計(jì)目的 PAGEREF _Toc23177 1 HYPERLINK l _Toc13352 2. 問題描述

5、PAGEREF _Toc13352 2 HYPERLINK l _Toc10762 3.需求分析 PAGEREF _Toc10762 2 HYPERLINK l _Toc24409 3.1 數(shù)據(jù)需求 PAGEREF _Toc24409 2 HYPERLINK l _Toc23801 3.2 基本功能需求 PAGEREF _Toc23801 2 HYPERLINK l _Toc1172 3.3 非功能性需求 PAGEREF _Toc1172 2 HYPERLINK l _Toc8122 4.概要設(shè)計(jì) PAGEREF _Toc8122 3 HYPERLINK l _Toc15897 4.1 數(shù)據(jù)結(jié)

6、構(gòu) PAGEREF _Toc15897 3 HYPERLINK l _Toc25402 4.2 系統(tǒng)包含的函數(shù) PAGEREF _Toc25402 3 HYPERLINK l _Toc17418 4.3 函數(shù)間的關(guān)系 PAGEREF _Toc17418 3 HYPERLINK l _Toc32308 4.4 系統(tǒng)功能模塊圖 PAGEREF _Toc32308 4 HYPERLINK l _Toc17613 5.詳細(xì)設(shè)計(jì)PAGEREF _Toc17613 4 HYPERLINK l _Toc31950 5.1 結(jié)構(gòu)體的詳細(xì)定義 PAGEREF _Toc31950 4 HYPERLINK l _T

7、oc21171 5.2 系統(tǒng)函數(shù)詳細(xì)介紹 PAGEREF _Toc21171 5 HYPERLINK l _Toc21178 5.3 系統(tǒng)功能模塊介紹 PAGEREF _Toc21178 11 HYPERLINK l _Toc6960 5.4 具體模塊設(shè)計(jì) PAGEREF _Toc6960 12 HYPERLINK l _Toc16162 6.調(diào)試分析 PAGEREF _Toc16162 14 HYPERLINK l _Toc5757 7.使用說明 PAGEREF _Toc5757 15 HYPERLINK l _Toc21834 8. 設(shè)計(jì)總結(jié) PAGEREF _Toc21834 19 HY

8、PERLINK l _Toc24315 9.參考文獻(xiàn) PAGEREF _Toc24315 20數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)客戶消費(fèi)積分管理1.設(shè)計(jì)目的“數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一門十分重要的專業(yè)技術(shù)基礎(chǔ)課,計(jì)算機(jī)科學(xué)各領(lǐng)域與有關(guān)的應(yīng)用軟件都要使用到各種數(shù)據(jù)結(jié)構(gòu)。對于從事計(jì)算機(jī)科學(xué)與其應(yīng)用的科技工作者來說,數(shù)據(jù)結(jié)構(gòu)與算法是必須透徹地掌握的重要基礎(chǔ)。學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的最終目的是解決實(shí)際的應(yīng)用問題,特別是非數(shù)值計(jì)算類型的應(yīng)用問題。課程設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。課程設(shè)計(jì)所安排的題目,在難度和深度方面都大于平時(shí)的上機(jī)訓(xùn)練,要求同學(xué)在完成設(shè)計(jì)和編寫中小型軟件的過程中,深化對數(shù)據(jù)結(jié)構(gòu)與算法課程中

9、基本概念、理論和方法的理解;訓(xùn)練綜合運(yùn)用所學(xué)知識處理實(shí)際問題的能力,強(qiáng)化面向?qū)ο蟮某绦蛟O(shè)計(jì)理念;使同學(xué)的程序設(shè)計(jì)與調(diào)試水平有一個(gè)明顯的提高。課程設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠撰寫比較規(guī)的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施課程設(shè)計(jì)這一環(huán)節(jié),對于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。問題描述本設(shè)計(jì)用于管理客戶的消費(fèi)情況,從而根據(jù)客戶的消費(fèi)積分對客戶實(shí)行不同程度的打折優(yōu)惠。客戶消費(fèi)積分管理系統(tǒng)具體應(yīng)該使用一定的存儲結(jié)構(gòu)將用戶的消費(fèi)信息存儲起來,以方便管理。其中用戶的信息包括用戶,用戶,用戶消費(fèi)金額,用戶積分多少。繼而完成對于客戶信息的增刪查改等管理。3.需求分析3.1 數(shù)

10、據(jù)需求 應(yīng)使用結(jié)構(gòu)體對每個(gè)用戶的信息進(jìn)行封裝。其中用戶的信息包括用戶,用戶,用戶消費(fèi)金額,用戶積分多少。然后運(yùn)用鏈表的存儲結(jié)構(gòu)將所有用戶信息進(jìn)行保存。繼而完成各種功能。3.2 基本功能需求本設(shè)計(jì)應(yīng)該同時(shí)完成以下功能添加用戶查找用戶修改用戶刪除用戶統(tǒng)計(jì)客戶數(shù)量按一定順序顯示客戶信息清空用戶信息用一定的存儲方法實(shí)現(xiàn)用戶信息的永久保存,充分滿足對于管理系統(tǒng)的要求。3.3 非功能性需求用戶界面需求:簡潔、易用、易懂、友好的用戶界面。硬件要求:裝有Visual C+6.0的計(jì)算機(jī)??煽啃孕枨螅罕WC用戶在正常使用本系統(tǒng)時(shí),用戶的操作或誤操作不會產(chǎn)生數(shù)據(jù)的丟失。4.概要設(shè)計(jì)4.1 數(shù)據(jù)結(jié)構(gòu) 本設(shè)計(jì)采用鏈表的

11、存儲方式對用戶的信息進(jìn)行臨時(shí)性的存儲,其中每個(gè)節(jié)點(diǎn)的信息用結(jié)構(gòu)體進(jìn)行封裝,其中用戶的信息包括用戶,用戶,用戶消費(fèi)金額,用戶積分?jǐn)?shù)量。4.2 系統(tǒng)包含的函數(shù)系統(tǒng)包含的函數(shù)有:添加函數(shù),按查找函數(shù),按號查找函數(shù),修改函數(shù),刪除函數(shù),顯示函數(shù),統(tǒng)計(jì)函數(shù),排序函數(shù),計(jì)算折扣函數(shù),清空函數(shù),文件保存函數(shù),文件讀取函數(shù),驗(yàn)證函數(shù)和主函數(shù)。共計(jì)14個(gè)函數(shù)。4.3 函數(shù)間的關(guān)系顯示函數(shù)調(diào)用計(jì)算折扣函數(shù),計(jì)算出客戶的折扣信息,并在屏幕上顯示;主函數(shù)在調(diào)用添加,修改,刪除,清空函數(shù)之后都必須調(diào)用文件保存函數(shù)進(jìn)行保存。調(diào)用顯示函數(shù)之前先調(diào)用排序函數(shù),以便屏幕輸出有序的用戶信息。調(diào)用添加函數(shù)之前先調(diào)用身份驗(yàn)證函數(shù),判

12、斷號是否重復(fù)。其它各個(gè)函數(shù)都各自獨(dú)立。4.4 系統(tǒng)功能模塊圖圖 4-1 系統(tǒng)功能模塊圖注釋:此處的調(diào)用不是真正意義上的調(diào)用,而是在主函數(shù)中調(diào)用A函數(shù)前,先調(diào)用B函數(shù)。以此來類比A函數(shù)調(diào)用B函數(shù)。5.詳細(xì)設(shè)計(jì)5.1 結(jié)構(gòu)體的詳細(xì)定義 構(gòu)造一個(gè)結(jié)構(gòu)體,封裝客戶的個(gè)人信息,作為鏈表中每個(gè)節(jié)點(diǎn)的模板。括用戶,用戶,用戶消費(fèi)金額,用戶積分?jǐn)?shù)量。具體實(shí)現(xiàn)如下:struct C /定義一個(gè)結(jié)構(gòu)體 C char name20; char ID20; double consume; double integer; C *next; ;5.2 系統(tǒng)函數(shù)詳細(xì)介紹添加用戶。函數(shù)void Getelem (cnode

13、*head);采用類將每個(gè)用戶的信息封裝,其中包括用戶name、用戶省份證號ID、用戶消費(fèi)金額consume、積分integer的信息。輸入一個(gè)客戶信息后再開辟新的節(jié)點(diǎn)連接。如添加一個(gè)客戶:定義指針p,用于申請空的結(jié)點(diǎn)空間,p=(cnode*)malloc(sizeof(cnode),利用函數(shù)輸入,號,并保證號的正確。void A:Getelem (C *head) /增加客戶 C *p; double y;p=(C*)malloc(sizeof(C); /申請空的節(jié)點(diǎn)空間coutp-name;coutp-ID;while(strlen(p-ID)!=18)cout p-ID;coutp-co

14、nsume;p-integer=p-consume;y=display_discount(p-integer); /調(diào)用函數(shù)計(jì)算折扣cout折扣:ynext=head-next;head-next=p;void Search(cnode *head,char ID);和void Search(cnode *head,char ID);查找用戶,用每一個(gè)節(jié)點(diǎn)的ID信息或者信息和待查信息進(jìn)行比對,直到找到正確信息并顯示。用號(ID)核對的程序?qū)崿F(xiàn)如下:void A: Searchi(C *head,char ID) /查找用戶C *p;double y;p=head;if(p-next=NULL)

15、coutnext!=NULL)p=p-next;if(strcmp(ID,p-ID)=0) /判斷號是否一樣 cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);cout折扣:y折endl;cout *next=NULL)coutnext!=NULL)p=p-next;if(strcmp(ID,p-ID)=0) /判斷號是否一樣 cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);

16、cout折扣:y折endl;cout *endl;coutchoose;if(choose=1)coutp-name;void Delete(cnode *head,char ID);查找顯示并刪除。查找時(shí)的做法與上述兩個(gè)函數(shù)基本一樣,以下程序用來實(shí)現(xiàn)刪除該客戶(該節(jié)點(diǎn))的功能。coutx;if(x=1)head-next=p-next;cout刪除成功!;elsecoutnext!=NULL)cout *next;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);cout折扣:y折next!=NULL)p

17、=p-next;i+;void A: Clear(C *head);清空所有客戶信息。代碼實(shí)現(xiàn)如下:void A: Clear(C *head)C *p;p=head; while(p-next!=NULL)head=p;p=p-next; head-next=p-next; cout清空成功!;double display_discount(double integer);計(jì)算客戶折扣,每次顯示用戶信息調(diào)用一次保證客戶為最新打折信息。根據(jù)每個(gè)客戶的積分不同,用if和else語句打印出不同的折扣信息。詳見附錄。void paixu(C *head);排序函數(shù),用冒泡排序法將用戶信息按照積分從小

18、到大的順序排列。在顯示用戶信息的時(shí)候調(diào)用。代碼詳見附錄。void save(C*head);和void load(C*head);將用戶信息從鏈表中寫入文件中,并可以從文件中讀入鏈表。代碼如下:void A:save(C*head) ofstream outstuf ; outstuf.open(chesen.txt,ios:out ) ; if(!outstuf) coutFile could not be open.endl ; cout保存失敗!next; while(save!=NULL) outstufname ID consume integernext ; cout保存成功,保存

19、文件為:abcd)C *p=new C(a,b,c,d,NULL); p-next=head-next; head-next=p; if(head=NULL) cout加載失敗,請檢查格式是否正確或文件是否有效!; else cout加載成功!;11 int check(C*head,char ID);身份驗(yàn)證函數(shù)。判斷號是否重復(fù)。5.3 系統(tǒng)功能模塊介紹添加用戶模塊。函數(shù)void Getelem (cnode *head);采用類將每個(gè)用戶的信息封裝,其中包括用戶name、用戶省份證號ID、用戶消費(fèi)金額consume、積分integer的信息。輸入一個(gè)客戶信息后再開辟新的節(jié)點(diǎn)連接。如添加一個(gè)

20、客戶:定義指針p,用于申請空的結(jié)點(diǎn)空間,p=(cnode*)malloc(sizeof(cnode),利用函數(shù)輸入,號,并保證號的正確。查找模塊void Search(cnode *head,char ID);和void Search(cnode *head,char ID);查找用戶,用每一個(gè)節(jié)點(diǎn)的ID信息或者信息和待查信息進(jìn)行比對,直到找到正確信息并顯示。修改模塊void Amend(cnode *head,char ID);查找并顯示然后修改。先判斷鏈表是否為空,若為空則提示沒有客戶;若不為空,則用每一個(gè)節(jié)點(diǎn)信息和待查節(jié)點(diǎn)信息進(jìn)行比對,知道找到該節(jié)點(diǎn),然后對該節(jié)點(diǎn)信息進(jìn)行修改。刪除模塊v

21、oid Delete(cnode *head,char ID);查找顯示并刪除。查找時(shí)的做法與上述兩個(gè)函數(shù)基本一樣,以下程序用來實(shí)現(xiàn)刪除該客戶(該節(jié)點(diǎn))的功能。cout你確認(rèn)刪除?1、確定。2、取消。請選擇:;顯示模塊void Showall(cnode *head);遍歷鏈表并顯示客戶。用一個(gè)while語句實(shí)現(xiàn)打印每一個(gè)用戶。統(tǒng)計(jì)模塊void count(cnode *head);遍歷統(tǒng)計(jì)客戶數(shù)量顯示。用一個(gè)計(jì)數(shù)變量i遍歷鏈表實(shí)現(xiàn)計(jì)數(shù)功能。清空模塊void A: Clear(C *head);清空所有客戶信息。計(jì)算折扣模塊double display_discount(double inte

22、ger);計(jì)算客戶折扣,每次顯示用戶信息調(diào)用一次保證客戶為最新打折信息。根據(jù)每個(gè)客戶的積分不同,用if和else語句打印出不同的折扣信息。排序模塊void paixu(C *head);排序函數(shù),用冒泡排序法將用戶信息按照積分從小到大的順序排列。在顯示用戶信息的時(shí)候調(diào)用。文件讀取模塊void save(C*head);和void load(C*head);將用戶信息從鏈表中寫入文件中,并可以從文件中讀入鏈表。11 int check(C*head,char ID);身份驗(yàn)證函數(shù)。判斷號是否重復(fù)。5.4 具體模塊設(shè)計(jì)添加模塊流程流程圖圖5-1 添加模塊流程流程圖查找函數(shù)模塊流程圖圖5-2 查找函

23、數(shù)模塊流程圖統(tǒng)計(jì)函數(shù)模塊流程圖圖5-3 統(tǒng)計(jì)函數(shù)模塊流程圖計(jì)算折扣函數(shù)圖5-4 計(jì)算折扣函數(shù)文件保存模塊圖5-5 文件保存模塊流程圖文件讀取函數(shù)圖5-6 文件讀取函數(shù)流程圖修改函數(shù),刪除函數(shù),顯示函數(shù),清空函數(shù),查找函數(shù)基本一樣,這里不在贅述。6.調(diào)試分析本軟件是基于Windows的編程開發(fā),所以,軟件調(diào)試必須在Windows環(huán)境下進(jìn)行。調(diào)試前須做好準(zhǔn)備工作:需要安裝Visual C+6.0的計(jì)算機(jī)一臺;配置好之后,在Visual C+6.0環(huán)境下進(jìn)行軟件的調(diào)試。測試數(shù)據(jù):客戶信息輸入:在“輸入數(shù)據(jù)”模塊中,根據(jù)主界面提示,鍵入數(shù)字1,確定,再按提示進(jìn)行操作測試,添加一條記錄后,發(fā)現(xiàn)在數(shù)據(jù)文本

24、中有保存該記錄,如果錯(cuò)誤輸入,觀察是否能正常提示信息。否則修改程序再進(jìn)行調(diào)試??蛻粜畔⒌牟樵儯喊催M(jìn)行查詢、按ID進(jìn)行查詢、這兩個(gè)功能模塊在具體編程實(shí)現(xiàn)上基本上是一樣的,因?yàn)槎际轻槍W(xué)生信息的查詢。因此我們僅以“按進(jìn)行查詢”為例來說明一下這兩個(gè)功能模塊的詳細(xì)實(shí)現(xiàn)過程。另一個(gè)個(gè)模塊僅介紹其實(shí)現(xiàn)思想。算法改進(jìn)設(shè)想:在程序設(shè)計(jì)前期,我們并沒有用txt文件來保存學(xué)生信息。經(jīng)過我不斷的修改以與調(diào)試后,該程序總算可以進(jìn)行txt文本的讀出與寫入,并且添加學(xué)生信息后可以直接將信息保存在txt文本文件中。7.使用說明主函數(shù)界面圖7-1 主界面圖增加客戶 圖7-2 增加客戶查找客戶圖7-3 查找客戶示意圖修改客戶圖

25、7-4 修改客戶示意圖刪除客戶圖7-5 刪除客戶示意圖顯示客戶圖7-6 顯示客戶示意圖統(tǒng)計(jì)客戶圖7-7 統(tǒng)計(jì)客戶示意圖清空客戶圖7-8 清空客戶示意圖加載客戶信息 圖7-9 加載客戶信息示意圖設(shè)計(jì)總結(jié)這次課程設(shè)計(jì)在我和同學(xué)們以與老師的努力下順利完成了。這是第二次獨(dú)自完成的課程設(shè)計(jì),雖然有了上次的經(jīng)驗(yàn),但難度還是很大。不過在此同時(shí)我也學(xué)到了很多寶貴的東西,相信對我以后的學(xué)習(xí)會有很大的啟發(fā)。首先,我深刻地認(rèn)識到了一個(gè)好的管理系統(tǒng)在生活中所發(fā)揮的作用是巨大的,能夠大大降低勞動力成本,提高工作效率。因此,開發(fā)一個(gè)好的管理系統(tǒng)對程序員的要求也是很大的。開發(fā)系統(tǒng)之前一定要詳細(xì)了解客戶的需求,并盡可能優(yōu)化客

26、戶需求。開發(fā)過程中,一定要注意程序的運(yùn)行效率,以與人機(jī)交互界面的友好,這些都是非常重要的。在程序設(shè)計(jì)前期,我們并沒有用txt文件來保存學(xué)生信息。經(jīng)過我不斷的修改以與調(diào)試后,該程序總算可以進(jìn)行txt文本的讀出與寫入,并且添加學(xué)生信息后可以直接將信息保存在txt文本文件中。從此,自己又可以掌握了文件存儲的知識要點(diǎn)。開始的時(shí)候,客戶信息的存儲時(shí)混亂的,沒有順序和規(guī)律的。最后下決心運(yùn)用鏈表排序的方法對客戶信息進(jìn)行一定標(biāo)準(zhǔn)的排序,并且獲得成功。彌補(bǔ)了當(dāng)時(shí)學(xué)習(xí)鏈表的時(shí)候的一大短板。并且復(fù)習(xí)鞏固了與之相關(guān)的知識。在開始遇到問題的時(shí)候,只是機(jī)械地一遍一遍地讀程序,期待發(fā)現(xiàn)程序的錯(cuò)誤,但是沒有取得很好的效果。最

27、后我采用了加斷點(diǎn)調(diào)試等多種方法才解決了懸而未決的一些問題。使我的調(diào)試能力有了大提高。這次設(shè)計(jì)雖然順利地完成了任務(wù),但是還有很多不足。最主要的缺點(diǎn)就是界面問題,界面太過單調(diào),也不夠友好。因?yàn)橐婚_始擔(dān)心工作量太過龐大,沒有用MFC制作windows界面的想法。所以選擇了相對比較低級的DOS界面。在完成設(shè)定的任務(wù)之后,我曾嘗試改版成windows界面。但由于時(shí)間倉促,并沒有完成預(yù)期結(jié)果。但也學(xué)到了很多關(guān)于MFC的知識,相信以后一定會取得成功。一個(gè)好的數(shù)據(jù)存儲方式可以大大降低程序員的工作量,也可以解放使用者的勞動力。所以,數(shù)據(jù)結(jié)構(gòu)可謂是所有程序員應(yīng)該掌握的重要財(cái)富。只要學(xué)好數(shù)據(jù)庫,并且在以后的實(shí)踐中敢

28、于嘗試,我相信,一定會創(chuàng)作出滿意的東西。9.參考文獻(xiàn)1 Clifford,A.Shaffer編著,數(shù)決結(jié)構(gòu)與算法分析(C+版),電子工業(yè),2005.7 2 文靜,祁飛等編著,數(shù)據(jù)結(jié)構(gòu)與算法,科學(xué),2005.083 文靜編著,數(shù)據(jù)結(jié)構(gòu)-C+語言描述,交通大學(xué),1999.014 鑫,于安萍編著,VC+深入詳解,電子工業(yè),2007.75 COHOON & DAVIDSON編著,C+程序設(shè)計(jì),清華大學(xué),2005.8各位同學(xué):大家好! 現(xiàn)將存在的共性問題描述如下,大家以此為標(biāo)準(zhǔn)進(jìn)行撰寫修改: 1.報(bào)告文件的命名統(tǒng)一命名成“學(xué)號-題目.doc,方便我歸檔整理; 2.封面,頁眉,頁腳都調(diào)整好了,按照這個(gè)模板

29、把你設(shè)計(jì)的容一部分一部分填寫進(jìn)去,具體要求注意的問題已在模板中進(jìn)行了批注; 3.論文中出現(xiàn)圖的地方應(yīng)該在圖下方有標(biāo)記,例如如果在“概要設(shè)計(jì)”部分有一個(gè)系統(tǒng)流程圖,就在圖的正下方居中寫上“圖4-1 系統(tǒng)流程圖”,其他的地方依次類推。 圖的大小應(yīng)該跟頁面大小一致,太大的縮小一些,居中,“圖號 圖名”也要居中。 4.有表的地方在表格上方正中寫上類似于“表3-1 .。表”的字樣,不清楚可以看一下課本中是如何書寫的。 5.使用說明應(yīng)簡明扼要,但也應(yīng)該有相應(yīng)的文字說明 6.課設(shè)總結(jié)要寫你課設(shè)過程中遇到的諸多問題與解決方法,并且寫出你的真實(shí)收獲和感受,不應(yīng)少于1頁。 7.參考文獻(xiàn)按照模板中的格式書寫。 8.

30、字體大小和行間距等均參照模板進(jìn)行修改,段首空兩個(gè)漢字的寬度。全文同級字體應(yīng)統(tǒng)一. 9.文檔修改完成之后,修改頁腳的“共?頁”中的問號為你正文的頁數(shù),最后更新目錄中的頁碼。10.全部修改完成,老師認(rèn)可后再打印,打印紙為16K.11.上交材料為報(bào)告和程序的壓縮包(刪除其中的debug目錄). 請各位同學(xué)務(wù)必認(rèn)真參照上面的注意事項(xiàng)一條條修改,!智杰以上文檔以老師發(fā)給三班使用的模板為基礎(chǔ),做了一點(diǎn)點(diǎn)改動。衷心感老師的辛勤工作!請大家極度重視報(bào)告的撰寫!何箐祁飛#include iostream.h#include stdlib.h#include string.h#include fstream.h#

31、include windows.hstruct C /定義一個(gè)結(jié)構(gòu)體 C char name20; char ID20; double consume; double integer; C *next;C();C(char a20,char b20,double c,double d,C *link);C:C(char a20,char b20,double c,double d,C *link)for(int i=0;i=19;i+) namei=ai;for(int j=0;jnext=NULL;class A /定義一個(gè)A類,封裝功能函數(shù)public:void Getelem (C *h

32、ead); /添加客戶/void Searchi(C *head,char ID); /查找客戶/ void Searchn(C *head,char name); /查找客戶/void Amend(C *head,char ID); /修改客戶/void Delete(C *head,char ID); /刪除客戶/ void Showall(C *head); /顯示客戶/void count(C *head); /統(tǒng)計(jì)客戶/void paixu(C *head); /排序函數(shù)double display_discount(double integer); /計(jì)算折扣void Clear(

33、C *head); /清空函數(shù)int check(C*head,char ID); /身份驗(yàn)證函數(shù)void save(C*head); /文件存儲函數(shù)void load(C*head); /文件讀取函數(shù);int main() A a;C *head; int choice;char y20;Initstack(head);system(color F1);system(pause); do coutendl; cout 客戶消費(fèi) 積分管理系統(tǒng) endl; cout *endl; cout * *endl; cout * 主菜單 *endl; cout * 1 添加客戶 *endl; cout

34、* 2 查找客戶(ID) *endl; cout * 3 查找客戶(NAME) *endl; cout * 4 修改客戶 *endl; cout * 5 刪除客戶 *endl; cout * 6 顯示客戶 *endl; cout * 7 統(tǒng)計(jì)客戶 *endl; cout * 8 清空 *endl; cout * 9 加載 *endl; cout * 0 退出 *endl; cout * *endl; cout *endl; cout 請輸入您的選擇(0,1,2.8,9):choice; if(choice=1) system(cls); a.Getelem(head); /添加 coutend

35、l; a.save(head); else if(choice=2) system(cls); couty; while(strlen(y)!=18) couty; a.Searchi(head,y); /查找 else if(choice=3) system(cls); couty; a.Searchn(head,y); /查找 else if(choice=4) system(cls); couty; while(strlen(y)!=18) couty; a.Amend(head,y); /修改 coutendl; a.save(head); else if(choice=5) syst

36、em(cls); coutendl; couty; a.Delete(head,y); /刪除 coutendl; a.save(head); else if(choice=6) system(cls); coutendl; a.paixu(head); /顯示 a.Showall(head); else if(choice=7) system(cls); coutendl; a.count(head); /統(tǒng)計(jì) else if(choice=8) system(cls); coutendl; a.Clear(head); /清空 a.save(head); else if(choice=9)

37、 system(cls); a.load(head); /加載 else if(choice=0) exit(1); /退出while(choice=12);return 0;void A:Getelem (C *head) /增加客戶 C *p; double y;p=(C*)malloc(sizeof(C); /申請空的節(jié)點(diǎn)空間coutp-name;coutp-ID;while(strlen(p-ID)!=18)cout p-ID;while(check(head,p-ID)!=1)coutp-ID;coutp-consume;p-integer=p-consume;y=display_d

38、iscount(p-integer); /調(diào)用函數(shù)計(jì)算折扣cout折扣:ynext=head-next;head-next=p;void A: Searchi(C *head,char ID) /查找用戶C *p;double y;p=head;if(p-next=NULL)coutnext!=NULL)p=p-next;if(strcmp(ID,p-ID)=0) /判斷號是否一樣 cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);cout折扣:y折endl;cout *next=NU

39、LL)coutnext!=NULL)p=p-next;if(strcmp(name,p-name)=0) /判斷名字是否一樣 cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);cout折扣:y折endl;cout *next=NULL)coutnext!=NULL)p=p-next;if(strcmp(ID,p-ID)=0) /判斷號是否一樣 cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integeri

40、nteger);cout折扣:y折endl;cout *endl;coutchoose;if(choose=1)coutp-name;if(choose=2)coutp-ID;while(strlen(p-ID)!=18)coutp-ID;if(choose=3)coutx;if(x=1)coutp-consume;elsecoutz;p-consume+=z;cout *endl;cout:nameendl;cout號:IDendl;cout消費(fèi):consumeendl;cout積分:integerinteger);cout折扣:y折endl;cout *next=NULL)coutnext!=NULL)head=p;p=p-next;if(strcm

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論