版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p><b> 目錄</b></p><p><b> 1.設(shè)計(jì)目的1</b></p><p><b> 2. 問題描述2</b></p><p><b> 3.需求分
2、析2</b></p><p> 3.1 數(shù)據(jù)需求2</p><p> 3.2 基本功能需求2</p><p> 3.3 非功能性需求2</p><p><b> 4.概要設(shè)計(jì)3</b></p><p> 4.1 數(shù)據(jù)結(jié)構(gòu)3</p><p>
3、 4.2 系統(tǒng)包含的函數(shù)3</p><p> 4.3 函數(shù)間的關(guān)系3</p><p> 4.4 系統(tǒng)功能模塊圖4</p><p><b> 5.詳細(xì)設(shè)計(jì)4</b></p><p> 5.1 結(jié)構(gòu)體的詳細(xì)定義4</p><p> 5.2 系統(tǒng)函數(shù)詳細(xì)介紹5</p>
4、<p> 5.3 系統(tǒng)功能模塊介紹11</p><p> 5.4 具體模塊設(shè)計(jì)12</p><p><b> 6.調(diào)試分析14</b></p><p><b> 7.使用說明15</b></p><p> 8. 設(shè)計(jì)總結(jié)19</p><p>
5、<b> 9.參考文獻(xiàn)20</b></p><p> 《數(shù)據(jù)結(jié)構(gòu)》畢業(yè)設(shè)計(jì)</p><p><b> 客戶消費(fèi)積分管理</b></p><p><b> 1.設(shè)計(jì)目的</b></p><p> “數(shù)據(jù)結(jié)構(gòu)”是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)一門十分重要的專業(yè)技術(shù)基礎(chǔ)課,計(jì)算機(jī)科
6、學(xué)各領(lǐng)域及有關(guān)的應(yīng)用軟件都要使用到各種數(shù)據(jù)結(jié)構(gòu)。對(duì)于從事計(jì)算機(jī)科學(xué)及其應(yīng)用的科技工作者來說,數(shù)據(jù)結(jié)構(gòu)與算法是必須透徹地掌握的重要基礎(chǔ)。</p><p> 學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法的最終目的是解決實(shí)際的應(yīng)用問題,特別是非數(shù)值計(jì)算類型的應(yīng)用問題。畢業(yè)設(shè)計(jì)是加強(qiáng)學(xué)生實(shí)踐能力的一個(gè)強(qiáng)有力手段。畢業(yè)設(shè)計(jì)所安排的題目,在難度和深度方面都大于平時(shí)的上機(jī)訓(xùn)練,要求同學(xué)在完成設(shè)計(jì)和編寫中小型軟件的過程中,深化對(duì)數(shù)據(jù)結(jié)構(gòu)與算法畢業(yè)中基本
7、概念、理論和方法的理解;訓(xùn)練綜合運(yùn)用所學(xué)知識(shí)處理實(shí)際問題的能力,強(qiáng)化面向?qū)ο蟮某绦蛟O(shè)計(jì)理念;使同學(xué)的程序設(shè)計(jì)與調(diào)試水平有一個(gè)明顯的提高。</p><p> 畢業(yè)設(shè)計(jì)要求學(xué)生在完成程序設(shè)計(jì)的同時(shí)能夠撰寫比較規(guī)范的設(shè)計(jì)報(bào)告。嚴(yán)格實(shí)施畢業(yè)設(shè)計(jì)這一環(huán)節(jié),對(duì)于學(xué)生基本程序設(shè)計(jì)素養(yǎng)的培養(yǎng)和軟件工作者工作作風(fēng)的訓(xùn)練,將起到顯著的促進(jìn)作用。</p><p> 問題描述
8、 </p><p> 本設(shè)計(jì)用于管理客戶的消費(fèi)情況,從而根據(jù)客戶的消費(fèi)積分對(duì)客戶實(shí)行不同程度的打折優(yōu)惠??蛻粝M(fèi)積分管理系統(tǒng)具體應(yīng)該使用一定的存儲(chǔ)結(jié)構(gòu)將用戶的消費(fèi)信息存儲(chǔ)起來,以方便管理。其中用戶的信息包括用戶姓名,用戶身份證號(hào)碼,用戶消費(fèi)金額,用戶積分多少。繼而完成對(duì)于客戶信息的增刪查改等管理。</p><p
9、><b> 3.需求分析</b></p><p><b> 3.1 數(shù)據(jù)需求</b></p><p> 應(yīng)使用結(jié)構(gòu)體對(duì)每個(gè)用戶的信息進(jìn)行封裝。其中用戶的信息包括用戶姓名,用戶身份證號(hào)碼,用戶消費(fèi)金額,用戶積分多少。</p><p> 然后運(yùn)用鏈表的存儲(chǔ)結(jié)構(gòu)將所有用戶信息進(jìn)行保存。繼而完成各種功能。</p
10、><p> 3.2 基本功能需求</p><p> 本設(shè)計(jì)應(yīng)該同時(shí)完成以下功能①添加用戶②查找用戶③修改用戶④刪除用戶⑤統(tǒng)計(jì)客戶數(shù)量⑥按一定順序顯示客戶信息⑦清空用戶信息⑧用一定的存儲(chǔ)方法實(shí)現(xiàn)用戶信息的永久保存,充分滿足對(duì)于管理系統(tǒng)的要求。</p><p> 3.3 非功能性需求</p><p> 用戶界面需求:簡(jiǎn)潔、易用、易懂、友好的用
11、戶界面。</p><p> 硬件要求:裝有Visual C++6.0的計(jì)算機(jī)。</p><p> 可靠性需求:保證用戶在正常使用本系統(tǒng)時(shí),用戶的操作或誤操作不會(huì)產(chǎn)生數(shù)據(jù)的丟失。</p><p><b> 4.概要設(shè)計(jì)</b></p><p><b> 4.1 數(shù)據(jù)結(jié)構(gòu)</b></p&g
12、t;<p> 本設(shè)計(jì)采用鏈表的存儲(chǔ)方式對(duì)用戶的信息進(jìn)行臨時(shí)性的存儲(chǔ),其中每個(gè)節(jié)點(diǎn)的信息用結(jié)構(gòu)體進(jìn)行封裝,其中用戶的信息包括用戶姓名,用戶身份證號(hào)碼,用戶消費(fèi)金額,用戶積分?jǐn)?shù)量。</p><p> 4.2 系統(tǒng)包含的函數(shù)</p><p> 系統(tǒng)包含的函數(shù)有:添加函數(shù),按姓名查找函數(shù),按身份證號(hào)查找函數(shù),修改函數(shù),刪除函數(shù),顯示函數(shù),統(tǒng)計(jì)函數(shù),排序函數(shù),計(jì)算折扣函數(shù),清空函
13、數(shù),文件保存函數(shù),文件讀取函數(shù),身份證驗(yàn)證函數(shù)和主函數(shù)。共計(jì)14個(gè)函數(shù)。</p><p> 4.3 函數(shù)間的關(guān)系</p><p> ①顯示函數(shù)調(diào)用計(jì)算折扣函數(shù),計(jì)算出客戶的折扣信息,并在屏幕上顯示;</p><p> ?、谥骱瘮?shù)在調(diào)用添加,修改,刪除,清空函數(shù)之后都必須調(diào)用文件保存函數(shù)進(jìn)行保存。</p><p> ?、壅{(diào)用顯示函數(shù)之前先調(diào)
14、用排序函數(shù),以便屏幕輸出有序的用戶信息。</p><p> ?、苷{(diào)用添加函數(shù)之前先調(diào)用身份驗(yàn)證函數(shù),判斷身份證號(hào)是否重復(fù)。</p><p> ?、萜渌鱾€(gè)函數(shù)都各自獨(dú)立。</p><p> 4.4 系統(tǒng)功能模塊圖</p><p> 圖 4-1 系統(tǒng)功能模塊圖</p><p> 注釋:此處的調(diào)用不是真正意義上的調(diào)用
15、,而是在主函數(shù)中調(diào)用A函數(shù)前,先調(diào)用B函數(shù)。以此來類比A函數(shù)調(diào)用B函數(shù)。</p><p><b> 5.詳細(xì)設(shè)計(jì)</b></p><p> 5.1 結(jié)構(gòu)體的詳細(xì)定義</p><p> 構(gòu)造一個(gè)結(jié)構(gòu)體,封裝客戶的個(gè)人信息,作為鏈表中每個(gè)節(jié)點(diǎn)的模板。括用戶姓名,用戶身份證號(hào)碼,用戶消費(fèi)金額,用戶積分?jǐn)?shù)量。具體實(shí)現(xiàn)如下:</p>
16、<p> struct C //定義一個(gè)結(jié)構(gòu)體 C</p><p><b> { </b></p><p> char name[20]; </p><p> char ID[
17、20]; </p><p> double consume; </p><p> double integer; </p><p> C *next;
18、 </p><p><b> };</b></p><p> 5.2 系統(tǒng)函數(shù)詳細(xì)介紹</p><p> ?、偬砑佑脩簟:瘮?shù)void Getelem (cnode *head);采用類將每個(gè)用戶的信息封裝,其中包括用戶姓名name、用戶省份證號(hào)ID、用戶消費(fèi)金額cons
19、ume、積分integer的信息。輸入一個(gè)客戶信息后再開辟新的節(jié)點(diǎn)連接。如添加一個(gè)客戶:定義指針p,用于申請(qǐng)空的結(jié)點(diǎn)空間,p=(cnode*)malloc(sizeof(cnode)),利用函數(shù)輸入姓名,身份證號(hào),并保證身份證號(hào)的正確。</p><p> void A::Getelem (C *head) //增加客戶</p>&l
20、t;p> { </p><p><b> C *p;</b></p><p><b> double y;</b></p><p> p=(C*)malloc(sizeof(C)
21、); //申請(qǐng)空的節(jié)點(diǎn)空間</p><p> cout<<"請(qǐng)輸入姓名:";</p><p> cin>>p->name;</p><p> cout<<"請(qǐng)輸入身份證號(hào)(18位):";</p><p> ci
22、n>>p->ID;</p><p> while(strlen(p->ID)!=18)</p><p><b> {</b></p><p> cout<<"身份證號(hào)碼位數(shù)有誤請(qǐng)重新輸入(18位):";</p><p> cin>> p->
23、ID;</p><p><b> }</b></p><p> cout<<"請(qǐng)輸入消費(fèi)金額:";</p><p> cin>>p->consume;</p><p> p->integer=p->consume;</p><p&g
24、t; y=display_discount(p->integer); //調(diào)用函數(shù)計(jì)算折扣</p><p> cout<<"折扣:"<<y<<"折";</p><p> p->next=head->next;</p><p> he
25、ad->next=p;</p><p><b> }</b></p><p> ?、趘oid Search(cnode *head,char ID[]);和void Search(cnode *head,char ID[]);查找用戶,用每一個(gè)節(jié)點(diǎn)的ID信息或者姓名信息和待查信息進(jìn)行比對(duì),直到找到正確信息并顯示。用身份證號(hào)(ID)核對(duì)的程序?qū)崿F(xiàn)如下:</
26、p><p> void A:: Searchi(C *head,char ID[]) //查找用戶</p><p><b> {</b></p><p><b> C *p;</b></p><p><b> double y;<
27、;/b></p><p><b> p=head;</b></p><p> if(p->next==NULL)</p><p> cout<<"沒有客戶!"; //判斷鏈表是否為空</p><p><b> els
28、e</b></p><p><b> {</b></p><p> while(p->next!=NULL)</p><p><b> {</b></p><p> p=p->next;</p><p> if(strcmp(ID,p->
29、;ID)==0) //判斷身份證號(hào)是否相同</p><p> { </p><p> cout<< " ****************************"<<endl;</p><p> cout<<"姓名:"<&
30、lt;p->name<<endl;</p><p> cout<<"身份證號(hào):"<<p->ID<<endl;</p><p> cout<<"消費(fèi):"<<p->consume<<endl;</p><p> cout&l
31、t;<"積分:"<<p->integer<<endl;</p><p> y=display_discount(p->integer);</p><p> cout<<"折扣:"<<y<<"折"<<endl;</p><
32、;p> cout<< " ****************************"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><
33、p><b> }</b></p><p> ?、踲oid Amend(cnode *head,char ID[]);查找并顯示然后修改。先判斷鏈表是否為空,若為空則提示沒有客戶;若不為空,則用每一個(gè)節(jié)點(diǎn)信息和待查節(jié)點(diǎn)信息進(jìn)行比對(duì),知道找到該節(jié)點(diǎn),然后對(duì)該節(jié)點(diǎn)信息進(jìn)行修改。以下程序以修改客戶姓名為例。</p><p> void A:: Amend(C *he
34、ad,char ID[]) //修改客戶函數(shù)</p><p> { </p><p><b> C *p;</b></p><p> double y,z;</p><p> int choose,x;</p
35、><p><b> p=head;</b></p><p> if(p->next==NULL)</p><p> cout<<"沒有客戶!";</p><p><b> else</b></p><p><b> {&l
36、t;/b></p><p> while(p->next!=NULL)</p><p><b> {</b></p><p> p=p->next;</p><p> if(strcmp(ID,p->ID)==0) //判斷身份證號(hào)是否相同</p><
37、;p> { </p><p> cout<< " ****************************"<<endl;</p><p> cout<<"姓名:"<<p->name<<endl;</p><p>
38、; cout<<"身份證號(hào):"<<p->ID<<endl;</p><p> cout<<"消費(fèi):"<<p->consume<<endl;</p><p> cout<<"積分:"<<p->integer<
39、<endl;</p><p> y=display_discount(p->integer);</p><p> cout<<"折扣:"<<y<<"折"<<endl;</p><p> cout<< " ******************
40、**********"<<endl;</p><p><b> }</b></p><p><b> }</b></p><p> cout<<"請(qǐng)選擇你要修改的1、姓名。2、身份證號(hào)。3、消費(fèi)金額。";</p><p> cin>
41、>choose;</p><p> if(choose==1)</p><p><b> {</b></p><p> cout<<"請(qǐng)輸入修改后姓名;";</p><p> cin>>p->name;</p><p><b&g
42、t; }</b></p><p> ?、躹oid Delete(cnode *head,char ID[]);查找顯示并刪除。查找時(shí)的做法與上述兩個(gè)函數(shù)基本相同,以下程序用來實(shí)現(xiàn)刪除該客戶(該節(jié)點(diǎn))的功能。cout<<"你確認(rèn)刪除?1、確定。2、取消。請(qǐng)選擇:";</p><p><b> cin>>x;</b&g
43、t;</p><p><b> if(x==1)</b></p><p><b> {</b></p><p> head->next=p->next;</p><p> cout<<"刪除成功!";</p><p><
44、;b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> cout<<"刪除失敗!";</p><p><b> }</b></p><
45、p> ?、輛oid Showall(cnode *head);遍歷鏈表并顯示客戶。用一個(gè)while語句實(shí)現(xiàn)打印每一個(gè)用戶。</p><p> while(p->next!=NULL)</p><p><b> {</b></p><p> cout<< " ************************
46、****"<<endl;</p><p> p=p->next;</p><p> cout<<"姓名:"<<p->name<<endl;</p><p> cout<<"身份證號(hào):"<<p->ID<<endl
47、;</p><p> cout<<"消費(fèi):"<<p->consume<<endl;</p><p> cout<<"積分:"<<p->integer<<endl;</p><p> y=display_discount(p->int
48、eger);</p><p> cout<<"折扣:"<<y<<"折"<<endl;</p><p><b> }</b></p><p> ⑥void count(cnode *head);遍歷統(tǒng)計(jì)客戶數(shù)量顯示。用一個(gè)計(jì)數(shù)變量i遍歷鏈表實(shí)現(xiàn)計(jì)數(shù)功能。
49、</p><p> while(p->next!=NULL)</p><p><b> {</b></p><p> p=p->next;</p><p><b> i++;</b></p><p><b> }</b></p
50、><p> ⑦void A:: Clear(C *head);清空所有客戶信息。代碼實(shí)現(xiàn)如下:</p><p> void A:: Clear(C *head)</p><p><b> {</b></p><p><b> C *p;</b></p><p><b
51、> p=head;</b></p><p> while(p->next!=NULL)</p><p><b> {</b></p><p><b> head=p;</b></p><p> p=p->next;</p><p>
52、head->next=p->next;</p><p><b> }</b></p><p> cout<<"清空成功!";</p><p><b> }</b></p><p> ?、郿ouble display_discount(double
53、integer);計(jì)算客戶折扣,每次顯示用戶信息調(diào)用一次保證客戶為最新打折信息。根據(jù)每個(gè)客戶的積分不同,用if和else語句打印出不同的折扣信息。詳見附錄。</p><p> ?、醰oid paixu(C *head);排序函數(shù),用冒泡排序法將用戶信息按照積分從小到大的順序排列。在顯示用戶信息的時(shí)候調(diào)用。代碼詳見附錄。</p><p> ⑩void save(C*head);和void
54、load(C*head);將用戶信息從鏈表中寫入文件中,并可以從文件中讀入鏈表。代碼如下:</p><p> void A::save(C*head)</p><p><b> { </b></p><p> ofstream outstuf ; </p><p> outstuf.open("ch
55、esen.txt",ios::out ) ; </p><p> if(!outstuf) </p><p><b> { </b></p><p> cout<<"File could not be open."<<endl ; </p><p> cout
56、<<"保存失敗!"<<endl ; </p><p><b> } </b></p><p><b> else{</b></p><p><b> C*save;</b></p><p> save=head->nex
57、t;</p><p> while(save!=NULL) </p><p><b> { </b></p><p> outstuf<<save->name<< ' '<< save->ID</p><p> << ' '
58、;<<save->consume<<' ' <<save->integer<<'\n' ; </p><p> save=save->next ; </p><p><b> }</b></p><p> cout<<"
59、;保存成功,保存文件為:"<<"chesen.txt";</p><p><b> }</b></p><p><b> }</b></p><p> void A::load(C*head)</p><p><b> {</b>
60、;</p><p> ifstream in;</p><p> char a[20];char b[20];double c;double d;</p><p> in.open("chesen.txt",ios::app);</p><p> while(in>>a>>b>>
61、c>>d)</p><p><b> {</b></p><p> C *p=new C(a,b,c,d,NULL);</p><p> p->next=head->next;</p><p> head->next=p;</p><p><b>
62、 }</b></p><p> if(head==NULL)</p><p> cout<<"加載失敗,請(qǐng)檢查格式是否正確或文件是否有效!";</p><p><b> else</b></p><p> cout<<"加載成功!";&l
63、t;/p><p><b> }</b></p><p> 11 int check(C*head,char ID[]);身份驗(yàn)證函數(shù)。判斷身份證號(hào)是否重復(fù)。</p><p> 5.3 系統(tǒng)功能模塊介紹</p><p> ?、偬砑佑脩裟K。函數(shù)void Getelem (cnode *head);采用類將每個(gè)用戶的信息
64、封裝,其中包括用戶姓名name、用戶省份證號(hào)ID、用戶消費(fèi)金額consume、積分integer的信息。輸入一個(gè)客戶信息后再開辟新的節(jié)點(diǎn)連接。如添加一個(gè)客戶:定義指針p,用于申請(qǐng)空的結(jié)點(diǎn)空間,p=(cnode*)malloc(sizeof(cnode)),利用函數(shù)輸入姓名,身份證號(hào),并保證身份證號(hào)的正確。</p><p> ?、诓檎夷Kvoid Search(cnode *head,char ID[]);和voi
65、d Search(cnode *head,char ID[]);查找用戶,用每一個(gè)節(jié)點(diǎn)的ID信息或者姓名信息和待查信息進(jìn)行比對(duì),直到找到正確信息并顯示。</p><p> ?、坌薷哪Kvoid Amend(cnode *head,char ID[]);查找并顯示然后修改。先判斷鏈表是否為空,若為空則提示沒有客戶;若不為空,則用每一個(gè)節(jié)點(diǎn)信息和待查節(jié)點(diǎn)信息進(jìn)行比對(duì),知道找到該節(jié)點(diǎn),然后對(duì)該節(jié)點(diǎn)信息進(jìn)行修改。<
66、/p><p> ?、軇h除模塊void Delete(cnode *head,char ID[]);查找顯示并刪除。查找時(shí)的做法與上述兩個(gè)函數(shù)基本相同,以下程序用來實(shí)現(xiàn)刪除該客戶(該節(jié)點(diǎn))的功能。cout<<"你確認(rèn)刪除?1、確定。2、取消。請(qǐng)選擇:";</p><p> ?、蒿@示模塊void Showall(cnode *head);遍歷鏈表并顯示客戶。用一個(gè)w
67、hile語句實(shí)現(xiàn)打印每一個(gè)用戶。</p><p> ?、藿y(tǒng)計(jì)模塊void count(cnode *head);遍歷統(tǒng)計(jì)客戶數(shù)量顯示。用一個(gè)計(jì)數(shù)變量i遍歷鏈表實(shí)現(xiàn)計(jì)數(shù)功能。</p><p> ⑦清空模塊void A:: Clear(C *head);清空所有客戶信息。</p><p> ?、嘤?jì)算折扣模塊double display_discount(double
68、integer);計(jì)算客戶折扣,每次顯示用戶信息調(diào)用一次保證客戶為最新打折信息。根據(jù)每個(gè)客戶的積分不同,用if和else語句打印出不同的折扣信息。</p><p> ?、崤判蚰Kvoid paixu(C *head);排序函數(shù),用冒泡排序法將用戶信息按照積分從小到大的順序排列。在顯示用戶信息的時(shí)候調(diào)用。</p><p> ?、馕募x取模塊void save(C*head);和void lo
69、ad(C*head);將用戶信息從鏈表中寫入文件中,并可以從文件中讀入鏈表。</p><p> 11 int check(C*head,char ID[]);身份驗(yàn)證函數(shù)。判斷身份證號(hào)是否重復(fù)。</p><p> 5.4 具體模塊設(shè)計(jì)</p><p> ?、偬砑幽K流程流程圖</p><p> 圖5-1 添加模塊流程流程圖</
70、p><p> ?、诓檎液瘮?shù)模塊流程圖</p><p> 圖5-2 查找函數(shù)模塊流程圖</p><p> ③統(tǒng)計(jì)函數(shù)模塊流程圖</p><p> 圖5-3 統(tǒng)計(jì)函數(shù)模塊流程圖</p><p><b> ?、苡?jì)算折扣函數(shù)</b></p><p> 圖5-4 計(jì)算
71、折扣函數(shù)</p><p><b> ?、菸募4婺K</b></p><p> 圖5-5 文件保存模塊流程圖</p><p><b> ⑥文件讀取函數(shù)</b></p><p> 圖5-6 文件讀取函數(shù)流程圖</p><p> ?、咝薷暮瘮?shù),刪除函數(shù),顯示函數(shù),清
72、空函數(shù),查找函數(shù)基本相同,這里不在贅述。</p><p><b> 6.調(diào)試分析</b></p><p> 本軟件是基于Windows的編程開發(fā),所以,軟件調(diào)試必須在Windows環(huán)境下進(jìn)行。調(diào)試前須做好準(zhǔn)備工作:</p><p> 需要安裝Visual C++6.0的計(jì)算機(jī)一臺(tái);</p><p> 配置好之后,
73、在Visual C++6.0環(huán)境下進(jìn)行軟件的調(diào)試。</p><p><b> 測(cè)試數(shù)據(jù):</b></p><p><b> 客戶信息輸入:</b></p><p> 在“輸入數(shù)據(jù)”模塊中,根據(jù)主界面提示,鍵入數(shù)字1,確定,再按提示進(jìn)行操作測(cè)試,添加一條記錄后,發(fā)現(xiàn)在數(shù)據(jù)文本中有保存該記錄,如果錯(cuò)誤輸入,觀察是否能正常
74、提示信息。否則修改程序再進(jìn)行調(diào)試。</p><p><b> 客戶信息的查詢:</b></p><p> 按姓名進(jìn)行查詢、按ID進(jìn)行查詢、這兩個(gè)功能模塊在具體編程實(shí)現(xiàn)上基本上是一樣的,因?yàn)槎际轻槍?duì)學(xué)生信息的查詢。因此我們僅以“按姓名進(jìn)行查詢”為例來說明一下這兩個(gè)功能模塊的詳細(xì)實(shí)現(xiàn)過程。另一個(gè)個(gè)模塊僅介紹其實(shí)現(xiàn)思想。</p><p><
75、b> 算法改進(jìn)設(shè)想:</b></p><p> 在程序設(shè)計(jì)前期,我們并沒有用txt文件來保存學(xué)生信息。經(jīng)過我不斷的修改以及調(diào)試后,該程序總算可以進(jìn)行txt文本的讀出與寫入,并且添加學(xué)生信息后可以直接將信息保存在txt文本文件中。</p><p><b> 7.使用說明</b></p><p><b> ?、僦骱?/p>
76、數(shù)界面</b></p><p> 圖7-1 主界面圖</p><p><b> ?、谠黾涌蛻?lt;/b></p><p> 圖7-2 增加客戶</p><p><b> ?、鄄檎铱蛻?lt;/b></p><p> 圖7-3 查找客戶示意圖</p>
77、<p><b> ?、苄薷目蛻?lt;/b></p><p> 圖7-4 修改客戶示意圖</p><p><b> ?、輨h除客戶</b></p><p> 圖7-5 刪除客戶示意圖</p><p><b> ?、揎@示客戶</b></p><p&
78、gt; 圖7-6 顯示客戶示意圖</p><p><b> ⑦統(tǒng)計(jì)客戶</b></p><p> 圖7-7 統(tǒng)計(jì)客戶示意圖</p><p><b> ?、嗲蹇湛蛻?lt;/b></p><p> 圖7-8 清空客戶示意圖</p><p><b> ?、峒?/p>
79、載客戶信息</b></p><p> 圖7-9 加載客戶信息示意圖</p><p><b> 設(shè)計(jì)總結(jié)</b></p><p> 這次畢業(yè)設(shè)計(jì)在我和同學(xué)們以及老師的努力下順利完成了。這是第二次獨(dú)自完成的畢業(yè)設(shè)計(jì),雖然有了上次的經(jīng)驗(yàn),但難度還是很大。不過在此同時(shí)我也學(xué)到了很多寶貴的東西,相信對(duì)我以后的學(xué)習(xí)會(huì)有很大的啟發(fā)。<
80、;/p><p> 首先,我深刻地認(rèn)識(shí)到了一個(gè)好的管理系統(tǒng)在生活中所發(fā)揮的作用是巨大的,能夠大大降低勞動(dòng)力成本,提高工作效率。因此,開發(fā)一個(gè)好的管理系統(tǒng)對(duì)程序員的要求也是很大的。開發(fā)系統(tǒng)之前一定要詳細(xì)了解客戶的需求,并盡可能優(yōu)化客戶需求。開發(fā)過程中,一定要注意程序的運(yùn)行效率,以及人機(jī)交互界面的友好,這些都是非常重要的。</p><p> 在程序設(shè)計(jì)前期,我們并沒有用txt文件來保存學(xué)生信息。
81、經(jīng)過我不斷的修改以及調(diào)試后,該程序總算可以進(jìn)行txt文本的讀出與寫入,并且添加學(xué)生信息后可以直接將信息保存在txt文本文件中。從此,自己又可以掌握了文件存儲(chǔ)的知識(shí)要點(diǎn)。</p><p> 開始的時(shí)候,客戶信息的存儲(chǔ)時(shí)混亂的,沒有順序和規(guī)律的。最后下決心運(yùn)用鏈表排序的方法對(duì)客戶信息進(jìn)行一定標(biāo)準(zhǔn)的排序,并且獲得成功。彌補(bǔ)了當(dāng)時(shí)學(xué)習(xí)鏈表的時(shí)候的一大短板。并且復(fù)習(xí)鞏固了與之相關(guān)的知識(shí)。</p><p
82、> 在開始遇到問題的時(shí)候,只是機(jī)械地一遍一遍地讀程序,期待發(fā)現(xiàn)程序的錯(cuò)誤,但是沒有取得很好的效果。最后我采用了加斷點(diǎn)調(diào)試等多種方法才解決了懸而未決的一些問題。使我的調(diào)試能力有了大大地提高。</p><p> 這次設(shè)計(jì)雖然順利地完成了任務(wù),但是還有很多不足。最主要的缺點(diǎn)就是界面問題,界面太過單調(diào),也不夠友好。因?yàn)橐婚_始擔(dān)心工作量太過龐大,沒有用MFC制作windows界面的想法。所以選擇了相對(duì)比較低級(jí)的D
83、OS界面。在完成設(shè)定的任務(wù)之后,我曾嘗試改版成windows界面。但由于時(shí)間倉促,并沒有完成預(yù)期結(jié)果。但也學(xué)到了很多關(guān)于MFC的知識(shí),相信以后一定會(huì)取得成功。</p><p> 一個(gè)好的數(shù)據(jù)存儲(chǔ)方式可以大大降低程序員的工作量,也可以解放使用者的勞動(dòng)力。所以,數(shù)據(jù)結(jié)構(gòu)可謂是所有程序員應(yīng)該掌握的重要財(cái)富。只要學(xué)好數(shù)據(jù)庫,并且在以后的實(shí)踐中敢于嘗試,我相信,一定會(huì)創(chuàng)作出滿意的東西。</p><p&
84、gt;<b> 9.參考文獻(xiàn)</b></p><p> [1] Clifford,A.Shaffer編著,數(shù)決結(jié)構(gòu)與算法分析(C++版),電子工業(yè)出版社,2005.7 </p><p> [2] 趙文靜,祁飛等編著,數(shù)據(jù)結(jié)構(gòu)與算法,科學(xué)出版社,2005.08</p><p> [3] 趙文靜編著,數(shù)據(jù)結(jié)構(gòu)-C++語言描述,西安交通大學(xué)出
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理系統(tǒng)
- 客戶消費(fèi)積分管理系統(tǒng)
- 客戶消費(fèi)積分管理系統(tǒng)
- 基于c語言的學(xué)分管理系統(tǒng)
- 課程設(shè)計(jì)--客戶消費(fèi)積分管理
- 基于c++語言編程格斗游戲畢業(yè)設(shè)計(jì)
- c語言畢業(yè)設(shè)計(jì)成績(jī)管理系統(tǒng)
- 畢業(yè)設(shè)計(jì)--c語言學(xué)生成績(jī)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 基于c 的酒店管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)設(shè)計(jì)論文
- 一個(gè)客戶積分管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- c++課程設(shè)計(jì)--基于c++的火車票管理系統(tǒng)
- 基于c語言的圖書管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 面向商業(yè)消費(fèi)的會(huì)員積分管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- c++圖書管理系統(tǒng)(doc畢業(yè)設(shè)計(jì)論文)
- 畢業(yè)設(shè)計(jì)--c語言學(xué)籍管理系統(tǒng)
- linux下基于c++語言開發(fā)的即時(shí)通信軟件畢業(yè)設(shè)計(jì)
- c++課程設(shè)計(jì)--c++程序設(shè)計(jì)語言
- c++客戶信息管理系統(tǒng)課程設(shè)計(jì)
- 企業(yè)積分管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- c++語言課程設(shè)計(jì)報(bào)告--影像管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論