版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> C++程序設(shè)計(jì)課程設(shè)計(jì)</p><p><b> 酒店客房預(yù)訂管理</b></p><p><b> 指導(dǎo)教師:****</b></p><p> 專業(yè)班級(jí):自動(dòng)化**班</p><p> 設(shè) 計(jì) 者:**、**、**、**</p><p>
2、設(shè)計(jì)時(shí)間:2011年**月</p><p><b> 目 錄</b></p><p> 一 需求分析·····················
3、3;··················3</p><p> 二 組員分工·············
4、183;··························4</p><p> 三 系統(tǒng)總框圖·····
5、;·································4</p><p>
6、; 四 系統(tǒng)軟硬件環(huán)境··································4<
7、;/p><p> 五 模塊設(shè)計(jì)分析································
8、····5</p><p> 六 函數(shù)定義及說(shuō)明···························&
9、#183;······12</p><p> 七 使用說(shuō)明························
10、3;···············18</p><p> 八 程序源代碼················
11、······················21</p><p> 九 結(jié)束語(yǔ)·········
12、3;································35</p><p> 十
13、 參考文獻(xiàn)····································
14、;····35</p><p><b> 酒店客房預(yù)訂管理</b></p><p><b> 一 需求分析</b></p><p><b> 1.1綜述</b></p><p> 隨著人類社會(huì)進(jìn)入信息時(shí)代,計(jì)算機(jī)越來(lái)越多地活躍在社
15、會(huì)各個(gè)領(lǐng)域:管理,網(wǎng)絡(luò),計(jì)算,控制,多媒體等。并且在某些方面成為不可缺少的工具,尤其在管理方面,管理軟件的出現(xiàn)使大量繁瑣復(fù)雜的問(wèn)題變得簡(jiǎn)單易行。</p><p> 現(xiàn)今酒店賓館的規(guī)模不斷擴(kuò)大,客戶數(shù)量急劇增加,有關(guān)客戶的各種信息也成倍增長(zhǎng),尤其是大量的客房預(yù)訂信息。面對(duì)龐大的信息量,需要有客戶信息管理系統(tǒng)來(lái)提高客戶管理工作的效率。通過(guò)這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計(jì)和快速的查詢,從而減少管理方面的工
16、作量。當(dāng)前許多酒店正在逐步完善客戶信息管理工作,需要一個(gè)能滿足內(nèi)部管理需求,提高管理效率的應(yīng)用系統(tǒng)進(jìn)行內(nèi)部管理。許多賓館經(jīng)過(guò)多年的發(fā)展,規(guī)模不斷擴(kuò)大,客流量成倍增長(zhǎng),積累了大量的客戶信息急需進(jìn)行統(tǒng)一管理以防信息的流失。因此,許多賓館需要一個(gè)功能全面的客戶信息管理系統(tǒng)來(lái)進(jìn)行管理,以使管理客戶信息的工作在該系統(tǒng)的配合下更加高效和便捷。</p><p><b> 1.2系統(tǒng)功能分析</b><
17、;/p><p> 酒店客房預(yù)訂信息管理系統(tǒng)是一個(gè)對(duì)客戶全方面管理的程序。該客房預(yù)訂信息管理系統(tǒng)是在Visual C++ 6.0平臺(tái)下設(shè)計(jì)開(kāi)發(fā),以TXT文檔為后臺(tái)數(shù)據(jù)庫(kù),采用面向?qū)ο蟮恼Z(yǔ)言開(kāi)發(fā)而成,實(shí)現(xiàn)對(duì)客戶預(yù)訂信息的基本管理,包括客房信息、客戶信息的添加,修改和查詢。該系統(tǒng)充分考慮用戶的操作簡(jiǎn)便性,實(shí)現(xiàn)快捷操作。它有以下幾個(gè)功能:</p><p> ?。?)客房設(shè)置:可以添加新客房,修改客房
18、描述(房間等級(jí),內(nèi)部設(shè)施等),刪除客房。</p><p> ?。?)客戶設(shè)置:可以添加新客戶,修改客戶信息,刪除已退訂客戶等??蓽?zhǔn)確了解每一客戶的預(yù)訂信息。</p><p> ?。?)房間預(yù)訂情況查詢:可按客戶號(hào)、房號(hào)查詢。方便實(shí)用,在眾多房間、客戶中準(zhǔn)確查詢到某一個(gè)房間或客戶。</p><p><b> 二 組員分工</b></p&g
19、t;<p><b> 封面設(shè)計(jì):**</b></p><p> 程序設(shè)計(jì):**、**、***、***</p><p> 程序勘誤:**、**</p><p> 報(bào)告編寫(xiě):**、***、***</p><p><b> 小組組長(zhǎng):**</b></p><p&
20、gt;<b> 三 系統(tǒng)總框圖</b></p><p> 設(shè)計(jì)一個(gè)程序來(lái)實(shí)現(xiàn)酒店客房預(yù)訂的管理,該程序應(yīng)該包含信息錄入、輸出、修改、刪除和查詢等功能模塊。本程序各功能模塊結(jié)構(gòu)總框圖如下:</p><p><b> 四 系統(tǒng)軟硬件環(huán)境</b></p><p> WindowsXP、Visual C++6.0、CPU(
21、pentium4 2.4Hz)、內(nèi)存(256MB)、硬盤(80G)</p><p><b> 五 模塊設(shè)計(jì)分析</b></p><p> 5.1模塊設(shè)計(jì)思路分析</p><p> 本程序共有五大功能模塊:新建模塊、更改模塊、刪除模塊、查詢模塊和顯示模塊。各模塊在功能上互相補(bǔ)充,在程序中互相融合,才能實(shí)現(xiàn)一個(gè)具有多種功能的管理系統(tǒng)。<
22、;/p><p> ?。?)新建模塊:實(shí)現(xiàn)所有客房、訂房客戶的錄入工作。</p><p> ?。?)更改模塊:提供數(shù)據(jù)的修改,包括客戶姓名、客房描述等。</p><p> ?。?)刪除模塊:將已退訂的客戶從數(shù)據(jù)庫(kù)中刪除。</p><p> ?。?)查詢模塊:本程序最重要的模塊,也是本系統(tǒng)的精髓所在。通過(guò)房間號(hào)或客戶號(hào)實(shí)現(xiàn)客房的預(yù)訂情況以及客戶入住情
23、況的查詢工作。</p><p> ?。?)顯示模塊:顯示所有客房、訂房客戶的基本信息。</p><p> 在程序設(shè)計(jì)上,我們的目標(biāo)就是先實(shí)現(xiàn)單個(gè)模塊,進(jìn)而實(shí)現(xiàn)整個(gè)程序。本程序正是本著這種思想,一步一步,有條不紊的進(jìn)行規(guī)劃與設(shè)計(jì)。本程序通過(guò)四個(gè)類:客戶類、客戶庫(kù)類、客房類、客房庫(kù)類,并通過(guò)主函數(shù)調(diào)用類函數(shù)實(shí)現(xiàn)了這五大功能模塊的功能。</p><p> 5.2五大功
24、能模塊的實(shí)現(xiàn)</p><p><b> 5.2.1客戶類:</b></p><p> class customer </p><p><b> { </b></p><p><b> private:</b></p><p>
25、int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p> int no; //客戶編號(hào)</p><p> char name[10]; //客戶姓名</p><p> int borbook[Maxbor];
26、 //所訂房間</p><p><b> public:</b></p><p> customer() {}</p><p> char *getname() {return name;}//獲取姓名</p><p> int gettag() {return tag;} //獲取
27、刪除標(biāo)記</p><p> int getno() {return no;} //獲取客戶編號(hào)</p><p> void setname(char na[]) //設(shè)置姓名</p><p><b> { </b></p><p> strcpy(name,na);</p>&
28、lt;p><b> }</b></p><p> void delbook(){ tag=1; } //設(shè)置刪除標(biāo)記 1:已刪 0:未刪</p><p> void addcustomer(int n,char *na) //增加客戶</p><p><b> { </b></p>
29、<p><b> tag=0;</b></p><p><b> no=n;</b></p><p> strcpy(name,na);</p><p> for(int i=0;i<Maxbor;i++)</p><p> borbook[i]=0;</p>
30、;<p><b> }</b></p><p> void borrowbook(int bookid) //預(yù)訂操作</p><p><b> {</b></p><p> for(int i=0;i<Maxbor;i++)</p><p><b>
31、; { </b></p><p> if (borbook[i]==0)</p><p><b> {</b></p><p> borbook[i]=bookid;</p><p><b> return;</b></p><p><b>
32、 }</b></p><p><b> }</b></p><p><b> }</b></p><p> int retbook(int bookid) //退訂操作</p><p><b> { </b></p><
33、;p> for(int i=0;i<Maxbor;i++)</p><p><b> { </b></p><p> if(borbook[i]==bookid)</p><p><b> {</b></p><p> borbook[i]=0;</p><
34、p><b> return 1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></
35、p><p> void disp() //讀出客戶信息</p><p><b> { </b></p><p> cout << setw(5) << no <<setw(10) << name<<"\t 客房編號(hào):[&qu
36、ot;;</p><p> for(int i=0;i<Maxbor;i++)</p><p> if(borbook[i]!=0)</p><p> cout << borbook[i];</p><p> cout << "]"<<endl;</p>&
37、lt;p><b> }</b></p><p><b> };</b></p><p> 5.2.2客戶庫(kù)類:</p><p> class RDatabase</p><p><b> { </b></p><p><b>
38、 private:</b></p><p> int top; //客戶記錄指針</p><p> customer read[Maxr]; //客戶記錄</p><p><b> public:</b></p><p&g
39、t; RDatabase() //構(gòu)造函數(shù),將customer.txt讀到read[]中</p><p><b> {</b></p><p> customer s;</p><p><b> top=-1;</b></p><p> fstr
40、eam file("customer.txt",ios::in); //打開(kāi)一個(gè)輸入文件</p><p><b> while (1)</b></p><p><b> {</b></p><p> file.read((char *)&s,sizeof(s));</p>
41、<p> if (!file)break;</p><p><b> top++;</b></p><p> read[top]=s;</p><p><b> }</b></p><p> file.close(); //關(guān)閉 custome
42、r.txt</p><p><b> }</b></p><p> void clear() //刪除所有客戶信息</p><p><b> {</b></p><p><b> top=-1;</b></p>&
43、lt;p><b> }</b></p><p> int addcustomer(int n,char *na) //添加客戶時(shí)先查找是否存在</p><p><b> {</b></p><p> customer *p=query(n);</p><p> if (p==
44、NULL)</p><p><b> {</b></p><p><b> top++;</b></p><p> read[top].addcustomer(n,na);</p><p><b> return 1;</b></p><p>&
45、lt;b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> customer *query(int customerid) //按編號(hào)查找</p><p><b> {<
46、/b></p><p> for (int i=0;i<=top;i++)</p><p> if (read[i].getno()==customerid && </p><p> read[i].gettag()==0)</p><p><b> {</b></p>
47、<p> return &read[i];</p><p><b> }</b></p><p> return NULL;</p><p><b> }</b></p><p> void disp() //輸出所有客戶信息&
48、lt;/p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> read[i].disp();</p><p><b> }</b></p><p> void customerdata();
49、 //客戶庫(kù)維護(hù)</p><p> ~RDatabase() //析構(gòu)函數(shù),將read[]寫(xiě)到customer.txt文件中</p><p><b> {</b></p><p> fstream file("customer.txt",ios::out)
50、;</p><p> for (int i=0;i<=top;i++)</p><p> if (read[i].gettag()==0)</p><p> file.write((char *)&read[i],sizeof(read[i]));</p><p> file.close();</p>&l
51、t;p><b> }</b></p><p><b> };</b></p><p><b> 5.2.3客房類:</b></p><p> class Book</p><p><b> {</b></p><p>
52、;<b> private:</b></p><p> int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p> int no; //客房編號(hào)</p><p> char name[20];
53、 //客房描述</p><p> int onshelf; //是否預(yù)訂 1:空房 2:已預(yù)訂</p><p><b> public:</b></p><p><b> Book(){}</b></p><p> char *getname()
54、 { return name; } //獲取姓名</p><p> int getno(){ return no; } //獲取客房編號(hào)</p><p> int gettag(){ return tag; } //獲取刪除標(biāo)記</p><p> void setname(char na[]) //設(shè)置客房描述
55、</p><p><b> {</b></p><p> strcpy(name,na);</p><p><b> }</b></p><p> void delbook(){ tag=1;} //刪除客房</p><p> void addb
56、ook(int n,char *na) //增加客房</p><p><b> {</b></p><p><b> tag=0;</b></p><p><b> no=n;</b></p><p> strcpy(name,na);</p>
57、<p> onshelf=1;</p><p><b> }</b></p><p> int borrowbook() //預(yù)訂操作</p><p><b> {</b></p><p> if (onshelf==1)</p>
58、<p><b> {</b></p><p> onshelf=0;</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> return 0;</b></p>
59、<p><b> }</b></p><p> void retbook() //退訂操作</p><p><b> {</b></p><p> onshelf=1;</p><p><b> }</b></p
60、><p> void disp() //輸出客房</p><p><b> {</b></p><p> cout << setw(6) << no << setw(18) << name << setw(10)</p>&l
61、t;p> <<(onshelf==1? "空房":"已預(yù)訂") <<endl;</p><p><b> }</b></p><p><b> };</b></p><p> 5.2.4客房庫(kù)類:</p><p> cl
62、ass BDatabase</p><p><b> {</b></p><p><b> private:</b></p><p> int top; //客房記錄指針</p><p> Book book[Maxb];
63、 //客房記錄</p><p><b> public:</b></p><p> BDatabase() //構(gòu)造函數(shù),將book.txt讀到book[]中</p><p><b> { </b></p><p><b>
64、 Book b;</b></p><p><b> top=-1;</b></p><p> fstream file("book.txt",ios::in);</p><p><b> while (1)</b></p><p><b> {<
65、;/b></p><p> file.read((char *)&b,sizeof(b));</p><p> if (!file) break;</p><p><b> top++;</b></p><p> book[top]=b;</p><p><b>
66、 }</b></p><p> file.close();</p><p><b> }</b></p><p> void clear() //全刪</p><p><b> {</b></p><p><
67、b> top=-1;</b></p><p><b> }</b></p><p> int addbook(int n,char *na) //增加客房</p><p><b> {</b></p><p> Book *p=query(n);</p&
68、gt;<p> if (NULL==p)</p><p><b> {</b></p><p><b> top++;</b></p><p> book[top].addbook(n,na);</p><p><b> return 1;</b><
69、;/p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> Book *query(int bookid) //查找客房</p><p>&l
70、t;b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if (book[i].getno()==bookid &&book[i].gettag()==0)</p><p><b> {</b></p><p> re
71、turn &book[i];</p><p><b> }</b></p><p> return NULL;</p><p><b> }</b></p><p> void bookdata(); //客房庫(kù)維護(hù)</p><p
72、> void disp()</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if (book[i].gettag()==0)</p><p> book[i].disp();</p><p><
73、b> }</b></p><p> ~BDatabase() //析構(gòu)函數(shù),將book[]寫(xiě)到book.txt文件中</p><p><b> {</b></p><p> fstream file("book.txt",ios::out);</p&g
74、t;<p> for (int i=0;i<=top;i++)</p><p> if (book[i].gettag()==0)</p><p> file.write((char *)&book[i],sizeof(book[i]));</p><p> file.close();</p><p>&l
75、t;b> }</b></p><p><b> };</b></p><p><b> 六 函數(shù)定義及說(shuō)明</b></p><p><b> 6.1主函數(shù)</b></p><p> void main()</p><p>&l
76、t;b> { </b></p><p> char choice;</p><p> int bookid,customerid;</p><p> RDatabase customerDB;</p><p> customer *r;</p><p> BDatabase Book
77、DB;</p><p><b> Book *b;</b></p><p> while(choice!='0')</p><p><b> { </b></p><p> cout <<endl<<endl<<"\t
78、\t 酒 店 客 房 預(yù) 訂 管 理\n\n\n";</p><p> cout <<"\t\t\t1 訂 房\n\n\t\t\t2 退 訂\n\n\t\t\t3 客 房 信 息\n\n\t\t\t4 客 戶 信 息\n\n\t\t\t0 退 出"<<endl;</p&
79、gt;<p> cin >> choice;</p><p> switch (choice)</p><p><b> {</b></p><p><b> case '1':</b></p><p> cout <<"==
80、==========\n輸入客戶編號(hào):";</p><p> cin >>customerid;</p><p> cout <<"輸入客房編號(hào):";</p><p> cin >>bookid;</p><p> r=customerDB.query(customer
81、id);//按編號(hào)查找</p><p> if (NULL==r)</p><p><b> {</b></p><p> cout <<" 不存在的客戶,不能預(yù)訂"<< endl;</p><p><b> break;</b></p&g
82、t;<p><b> }</b></p><p> b=BookDB.query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 不存在的客房,不能預(yù)訂"
83、<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> if (b->borrowbook()==0)</p><p><b> {</b></p><p>
84、cout << " 該客房已預(yù)訂,不能預(yù)訂"<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> r->borrowbook(b->getno());</p><p>
85、<b> break;</b></p><p><b> case '2':</b></p><p> cout<<"============\n輸入客戶編號(hào):";</p><p> cin >>customerid;</p><p&g
86、t; cout << "輸入客房編號(hào):";</p><p> cin >>bookid;</p><p> r=customerDB.query(customerid);</p><p> if (r==NULL)</p><p><b> {</b></p&g
87、t;<p> cout <<" 不存在的客戶,不能退訂" << endl;</p><p><b> break;</b></p><p><b> }</b></p><p> b=BookDB.query(bookid);</p><
88、;p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 不存在的客房,不能退訂" <<endl;</p><p><b> break;</b></p><p><b> }&
89、lt;/b></p><p> b->retbook();</p><p> r->retbook(b->getno());</p><p><b> break;</b></p><p><b> case '3':</b></p>&
90、lt;p> BookDB.bookdata();</p><p><b> break;</b></p><p><b> case '4':</b></p><p> customerDB.customerdata();</p><p><b> brea
91、k;</b></p><p> default:cout<<"正在寫(xiě)入數(shù)據(jù)庫(kù)......謝謝使用!";</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></
92、p><p><b> 6.2客戶庫(kù)函數(shù)</b></p><p> void RDatabase::customerdata()</p><p><b> {</b></p><p> char choice;</p><p> char rname[20];</p
93、><p> int customerid;</p><p> customer *r;</p><p> while (choice!='0')</p><p><b> {</b></p><p> cout <<"\n\n\t\t\t客 戶
94、信 息\n\n\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n\t\t\t6 全 刪\n\n\t\t\t0 返 回"<<endl;</p><p> cin >> choi
95、ce;</p><p> switch (choice)</p><p><b> {</b></p><p><b> case '1':</b></p><p> cout << "輸入客戶編號(hào):";</p><p>
96、; cin >> customerid;</p><p> cout << "輸入客戶姓名:";</p><p> cin >> rname;</p><p> addcustomer (customerid,rname);</p><p><b> break;&l
97、t;/b></p><p><b> case '2':</b></p><p> cout << "輸入客戶編號(hào):";</p><p> cin >> customerid;</p><p> r=query(customerid);</p
98、><p> if (r==NULL)</p><p><b> {</b></p><p> cout << " 該客戶不存在 "<<endl;</p><p><b> break;</b></p><p><b&g
99、t; }</b></p><p> cout << "輸入新的客戶姓名:";</p><p> cin >> rname;</p><p> r->setname(rname);</p><p><b> break;</b></p>
100、<p><b> case '3':</b></p><p> cout << "輸入客戶編號(hào):";</p><p> cin >> customerid;</p><p> r=query(customerid);</p><p> if
101、(r==NULL)</p><p><b> {</b></p><p> cout <<" 該客戶不存在" << endl;</p><p><b> break;</b></p><p><b> }</b></p
102、><p> r->delbook();</p><p><b> break;</b></p><p><b> case '4':</b></p><p> cout << "輸入客戶編號(hào):";</p><p>
103、cin >> customerid;</p><p> r=query(customerid);</p><p> if (r==NULL)</p><p><b> {</b></p><p> cout <<" 該客戶不存在"<< endl;</
104、p><p><b> break;</b></p><p><b> }</b></p><p> r->disp();</p><p><b> break;</b></p><p><b> case '5':&
105、lt;/b></p><p><b> disp();</b></p><p><b> break;</b></p><p><b> case '6':</b></p><p><b> clear();</b></
106、p><p><b> break;</b></p><p> default:cout<<"正在返回主界面...";break;</p><p><b> }</b></p><p><b> }</b></p><p&g
107、t;<b> }</b></p><p><b> 6.3客房庫(kù)函數(shù)</b></p><p> void BDatabase::bookdata()</p><p><b> {</b></p><p> char choice;</p><p&g
108、t; char bname[40];</p><p> int bookid;</p><p><b> Book *b;</b></p><p> while (choice!='0')</p><p><b> {</b></p><p> c
109、out <<"\n\n\n\t\t\t客 房 信 息 "<<endl<<endl;</p><p> cout<<"\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n
110、\t\t\t6 全 刪\n\n\t\t\t0 返 回"<<endl;</p><p> cin >> choice;</p><p> switch (choice)</p><p><b> {</b></p><p><b> case
111、39;1':</b></p><p> cout << "輸入客房編號(hào):";</p><p> cin >> bookid;</p><p> cout << "輸入客房描述:";</p><p> cin >> bname;&
112、lt;/p><p> addbook(bookid,bname);</p><p><b> break;</b></p><p><b> case '2':</b></p><p> cout << "輸入客房編號(hào):";</p>
113、<p> cin >> bookid;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 該客房不存在 "<<endl;&
114、lt;/p><p><b> break;</b></p><p><b> }</b></p><p> cout << "輸入新的客房描述:";</p><p> cin >> bname;</p><p> b->
115、setname(bname);</p><p><b> break;</b></p><p><b> case '3':</b></p><p> cout <<"輸入客房編號(hào):";</p><p> cin >> bookid
116、;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p> cout <<" 該客房不存在" << endl;</p><p><b>
117、 break;</b></p><p><b> }</b></p><p> b->delbook();</p><p><b> break;</b></p><p><b> case '4':</b></p>&l
118、t;p> cout << "輸入客房編號(hào):";</p><p> cin >> bookid;</p><p> b=query(bookid);</p><p> if (b==NULL)</p><p><b> {</b></p><p
119、> cout <<" 該客房不存在"<< endl;</p><p><b> break;</b></p><p><b> }</b></p><p> b->disp();</p><p><b> break;&l
120、t;/b></p><p><b> case '5':</b></p><p><b> disp();</b></p><p><b> break;</b></p><p><b> case '6':</b&
121、gt;</p><p><b> clear();</b></p><p><b> break;</b></p><p> default:cout<<"正在返回主界面...";</p><p><b> }</b></p>
122、<p><b> }</b></p><p><b> }</b></p><p><b> 七 使用說(shuō)明</b></p><p> ?。?)程序主界面:界面簡(jiǎn)潔明了,一目了然,便于操作。選擇數(shù)字0-4進(jìn)入相應(yīng)功能。</p><p> ?。?)客戶信息:主界
123、面選擇4進(jìn)入客戶信息管理菜單。</p><p> 1.新增:系統(tǒng)提示輸入客戶號(hào)碼、姓名等信息,按要求錄入即可。</p><p> 2.更改:系統(tǒng)提示輸入要更改的客戶號(hào),輸入后即可更改該客戶的個(gè)人信息。</p><p> 3.刪除:系統(tǒng)提示輸入要?jiǎng)h除的客戶號(hào),輸入后即可刪除該客戶。</p><p> 4.查詢:系統(tǒng)提示輸入要查詢的客戶號(hào)
124、,輸入后即可查看該客戶的訂房信息。</p><p> 5.顯示:顯示所有預(yù)訂客戶的個(gè)人信息以及預(yù)訂房號(hào)。</p><p> 6.全刪:刪除所有客戶。</p><p> 0.返回:返回主界面。</p><p> ?。?)客房信息:主界面選擇3進(jìn)入客房信息管理菜單。</p><p> 1.新增:系統(tǒng)提示輸入房間號(hào)、
125、房間描述等信息,按要求錄入即可。</p><p> 2.更改:系統(tǒng)提示輸入要更改的房間號(hào),輸入后即可更改該房間的描述信息。</p><p> 3.刪除:系統(tǒng)提示輸入要?jiǎng)h除的房間號(hào),輸入后即可刪除該房間。</p><p> 4.查詢:系統(tǒng)提示輸入要查詢的房間號(hào),輸入后即可查看該房間的預(yù)訂情況。</p><p> 5.顯示:顯示所有房間的
126、描述信息以及預(yù)訂情況。</p><p> 6.全刪:刪除所有房間。</p><p> 0.返回:返回主界面。</p><p> (4)訂房:主界面選擇1進(jìn)入訂房功能。</p><p> (5)退房:主界面選擇2進(jìn)入退房功能。</p><p> ?。?)退出:主界面選擇0退出程序并保存數(shù)據(jù)庫(kù)。</p>
127、<p><b> 八 程序源代碼</b></p><p> #include <iostream></p><p> #include <iomanip></p><p> #include <string></p><p> #include <fstr
128、eam> //輸入/輸出文件流類</p><p> using namespace std;</p><p> const int Maxr=100; //最多的客戶</p><p> const int Maxb=100; //最多的客房<
129、;/p><p> const int Maxbor=5; //每位客戶最多預(yù)訂五間客房</p><p> //客戶類,實(shí)現(xiàn)對(duì)客戶的信息的描述</p><p> class customer </p><p><b> { </b></p><p&
130、gt;<b> private:</b></p><p> int tag; //刪除標(biāo)記 1:已刪 0:未刪</p><p> int no; //客戶編號(hào)</p><p> char name[10];
131、 //客戶姓名</p><p> int borbook[Maxbor]; //所訂房間</p><p><b> public:</b></p><p> customer() {}</p><p> char *getname() {return name;}//獲取姓名&l
132、t;/p><p> int gettag() {return tag;} //獲取刪除標(biāo)記</p><p> int getno() {return no;} //獲取客戶編號(hào)</p><p> void setname(char na[]) //設(shè)置姓名</p><p><b> { </b&
133、gt;</p><p> strcpy(name,na);</p><p><b> }</b></p><p> void delbook(){ tag=1; } //設(shè)置刪除標(biāo)記 1:已刪 0:未刪</p><p> void addcustomer(int n,char *na) //增加客戶&
134、lt;/p><p><b> { </b></p><p><b> tag=0;</b></p><p><b> no=n;</b></p><p> strcpy(name,na);</p><p> for(int i=0;i<Max
135、bor;i++)</p><p> borbook[i]=0;</p><p><b> }</b></p><p> void borrowbook(int bookid) //預(yù)訂操作</p><p><b> {</b></p><p> for(
136、int i=0;i<Maxbor;i++)</p><p><b> { </b></p><p> if (borbook[i]==0)</p><p><b> {</b></p><p> borbook[i]=bookid;</p><p><b&
137、gt; return;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> int retbook(int bookid) //退訂操作</p
138、><p><b> { </b></p><p> for(int i=0;i<Maxbor;i++)</p><p><b> { </b></p><p> if(borbook[i]==bookid)</p><p><b> {</b>
139、;</p><p> borbook[i]=0;</p><p><b> return 1;</b></p><p><b> }</b></p><p><b> }</b></p><p><b> return 0;</
140、b></p><p><b> }</b></p><p> void disp() //讀出客戶信息</p><p><b> { </b></p><p> cout << setw(5) << no <&l
141、t;setw(10) << name<<"\t 客房編號(hào):[";</p><p> for(int i=0;i<Maxbor;i++)</p><p> if(borbook[i]!=0)</p><p> cout << borbook[i];</p><p> c
142、out << "]"<<endl;</p><p><b> }</b></p><p><b> };</b></p><p> //客戶庫(kù)類,實(shí)現(xiàn)建立客戶的個(gè)人資料</p><p> class RDatabase</p>&l
143、t;p><b> { </b></p><p><b> private:</b></p><p> int top; //客戶記錄指針</p><p> customer read[Maxr]; //客戶記錄</p&
144、gt;<p><b> public:</b></p><p> RDatabase() //構(gòu)造函數(shù),將customer.txt讀到read[]中</p><p><b> {</b></p><p> customer s;</p><
145、;p><b> top=-1;</b></p><p> fstream file("customer.txt",ios::in); //打開(kāi)一個(gè)輸入文件</p><p><b> while (1)</b></p><p><b> {</b></p&g
146、t;<p> file.read((char *)&s,sizeof(s));</p><p> if (!file)break;</p><p><b> top++;</b></p><p> read[top]=s;</p><p><b> }</b><
147、/p><p> file.close(); //關(guān)閉 customer.txt</p><p><b> }</b></p><p> void clear() //刪除所有客戶信息</p><p><b> {</b>&
148、lt;/p><p><b> top=-1;</b></p><p><b> }</b></p><p> int addcustomer(int n,char *na) //添加客戶時(shí)先查找是否存在</p><p><b> {</b></p>&
149、lt;p> customer *p=query(n);</p><p> if (p==NULL)</p><p><b> {</b></p><p><b> top++;</b></p><p> read[top].addcustomer(n,na);</p>
150、<p><b> return 1;</b></p><p><b> }</b></p><p><b> return 0;</b></p><p><b> }</b></p><p> customer *query(int c
151、ustomerid) //按編號(hào)查找</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> if (read[i].getno()==customerid && </p><p> read[i].gettag
152、()==0)</p><p><b> {</b></p><p> return &read[i];</p><p><b> }</b></p><p> return NULL;</p><p><b> }</b></p&
153、gt;<p> void disp() //輸出所有客戶信息</p><p><b> {</b></p><p> for (int i=0;i<=top;i++)</p><p> read[i].disp();</p><p><b>
154、; }</b></p><p> void customerdata(); //客戶庫(kù)維護(hù)</p><p> ~RDatabase() //析構(gòu)函數(shù),將read[]寫(xiě)到customer.txt文件中</p><p><b> {</b></p>
155、;<p> fstream file("customer.txt",ios::out);</p><p> for (int i=0;i<=top;i++)</p><p> if (read[i].gettag()==0)</p><p> file.write((char *)&read[i],sizeof
156、(read[i]));</p><p> file.close();</p><p><b> }</b></p><p><b> };</b></p><p> void RDatabase::customerdata()</p><p><b> {
157、</b></p><p> char choice;</p><p> char rname[20];</p><p> int customerid;</p><p> customer *r;</p><p> while (choice!='0')</p>&l
158、t;p><b> {</b></p><p> cout <<"\n\n\t\t\t客 戶 信 息\n\n\n\t\t\t1 新 增\n\n\t\t\t2 更 改\n\n\t\t\t3 刪 除\n\n\t\t\t4 查 找\n\n\t\t\t5 顯 示\n\n\t\t\t6
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c++課程設(shè)計(jì)--酒店客房管理系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)-酒店客房管理系統(tǒng)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- 酒店客房管理系統(tǒng)課程設(shè)計(jì)
- 酒店客房預(yù)訂協(xié)議
- 酒店客房預(yù)訂管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 酒店客房預(yù)訂管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 酒店客房預(yù)訂服務(wù)協(xié)議
- 酒店客房預(yù)訂管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 課程設(shè)計(jì)---酒店客房數(shù)據(jù)庫(kù)設(shè)計(jì)
- c語(yǔ)言課程設(shè)計(jì)-酒店客房管理系統(tǒng)說(shuō)明書(shū)
- c語(yǔ)言課程設(shè)計(jì)酒店客房管理系統(tǒng)說(shuō)明書(shū)
- 酒店客房預(yù)訂系統(tǒng)開(kāi)題報(bào)告
- 酒店客房管理系統(tǒng)設(shè)計(jì)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)報(bào)告---酒店客房管理系統(tǒng)
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 數(shù)據(jù)庫(kù)課程設(shè)計(jì)(酒店客房管理系統(tǒng))論文
- 酒店客房部客房消毒程序
- 酒店客房管理系統(tǒng)設(shè)計(jì)資料
評(píng)論
0/150
提交評(píng)論