版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目 錄1. 問題描述32. 基本要求33系統(tǒng)分析和設(shè)計(jì)34. 流程圖55. 程序清單66. 測試數(shù)據(jù)107. 小結(jié)及收獲和體會(huì)118. 參考資料12一、問題描述當(dāng)今社會(huì)旅游成為一種時(shí)尚,住宿便成為了旅游中的問題。越來越多的旅客加重了旅館登記,運(yùn)作負(fù)擔(dān)。如果有一款軟件可以代替人工操作,將會(huì)極大的提高工作效率。二、基本要求1) 某賓館有301、302、303、304、305五個(gè)標(biāo)準(zhǔn)間,每個(gè)標(biāo)準(zhǔn)間可住2人;2) 鏈表存儲(chǔ)結(jié)構(gòu):姓名、性別、房號(hào)、后續(xù)指針,按房間號(hào)有序;3) 能實(shí)現(xiàn)入?。ㄗ⒁庑詣e)和退房,能按給定姓名、房號(hào)查詢;4) 建議采用鏈表結(jié)構(gòu),但用其它方法實(shí)現(xiàn)也可。三、系統(tǒng)分析和設(shè)計(jì)(1)市場
2、分析隨著我國市場經(jīng)濟(jì)的迅速發(fā)展和人們生活水平的不斷提高, 賓館酒店業(yè)的競爭越來越激烈。要想在競爭中取得優(yōu)勢, 必須在經(jīng)營管理、產(chǎn)品服務(wù)等方面提高服務(wù)管理意識(shí)。而對(duì)賓館的經(jīng)營起決定作用的是客房管理。越來越多的賓館管理人員已經(jīng)意識(shí)到使用計(jì)算機(jī)網(wǎng)絡(luò)和管理系統(tǒng)的重要性。(2)系統(tǒng)主要功能包括:(1)住房管理:住宿登記、客戶退房(2)客房管理:客房查詢(3)詳細(xì)設(shè)計(jì)說明 結(jié)構(gòu)體:struct customer int num; char name20;char sex;struct customer *next; cus; 相關(guān)函數(shù):struct customer *creat(void) /*定義函數(shù)
3、,此函數(shù)帶回一個(gè)指向鏈表頭的指針*/struct customer *insert(struct customer *head,struct customer *consumer) /*插入登記客戶信息函數(shù)*/struct customer *del(struct customer *head,int num) /*刪除節(jié)點(diǎn)(客戶退房的程序*/struct customer *search(struct customer *head,char c_name) /*尋找客戶信息的程序*/void print(struct customer *head) /*在登記和退房時(shí)輸出登記入住賓館人員信息
4、*/(4)設(shè)計(jì)中的問題:由于鏈表的創(chuàng)建和文件操作上的課較少,加之程序設(shè)計(jì)時(shí)間較緊,上述源程序還有很多不完善之處。上述原代碼中struct customer *insert(struct customer *head,struct customer *consumer)和struct customer *search(struct customer *head,char c_name)兩個(gè)函數(shù)沒有調(diào)試通過;尋找信息函數(shù)沒有調(diào)試成功,在查找時(shí)得到的信息不對(duì);insert函數(shù)運(yùn)行還不是很完善??傊诰帉懗绦驎r(shí)遇到了很多問題。也有一些問題得到了解決,如在編寫insert函數(shù)時(shí)開始輸入不了數(shù)據(jù),后來查
5、找資料,用malloc函數(shù)開辟了一個(gè)空間,可以完成數(shù)據(jù)的輸入。在編寫程序時(shí)我還是學(xué)到了很多。四、流程圖開始(歡迎界面)選擇所需操作2.登記信息1創(chuàng)建新系統(tǒng)3.退房信息4.查詢信息選擇所需操作按符合規(guī)定查找結(jié)束按房間查詢是否輸出退房人員信息輸出開房人員信息五、程序清單#define NULL 0 #define LEN sizeof(struct customer) #include string.hstruct customer int num; char name20;char sex;struct customer *next; cus; struct customer *creat(vo
6、id) /*定義函數(shù),此函數(shù)帶回一個(gè)指向鏈表頭的指針*/ struct customer *head,*p1,*p2; int n=0; p1=(struct customer *)malloc(LEN); p2=(struct customer *)malloc(LEN); printf(qing shu ru ke hu de xin xi:n); printf(nfang jian:); scanf(%d,&p1-num); printf(n); printf(xing ming:); scanf(%s,p1-name); printf(n); printf(xing bie:); sc
7、anf(%s,&p1-sex); printf(n); head=NULL; while(p1-num!= 0) /*創(chuàng)建鏈表,當(dāng)輸入值不為0時(shí)創(chuàng)建節(jié)點(diǎn)并添加值,繼續(xù)重復(fù);若輸入值為0,結(jié)束循環(huán)并返回頭節(jié)點(diǎn)指針。*/ n+; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(struct customer *)malloc(LEN); printf(qing shu ru ke hu de xin xi:n); printf(nfang jian:); scanf(%d,&p1-num); printf(n); printf(xing ming:); s
8、canf(%s,p1-name); printf(n); printf(xing bie:); scanf(%s,&p1-sex); printf(n); p2-next=NULL; return(head); struct customer *insert(struct customer *head,struct customer *consumer) struct customer *p1,*p2; p1=head; p2=consumer; while(p1-next!=NULL) p1=p1-next; if(p1-next=NULL) p1-next=p2; p2-next=NULL
9、; return(head); struct customer *del(struct customer *head,int num) /*刪除節(jié)點(diǎn)的程序*/ struct customer *p1,*p2; if(head=NULL) /*是空表*/ printf(mei you ke hu xin xin); return(head); p1=head; /*P1指向第一個(gè)節(jié)點(diǎn)*/while(num!=p1-num&p1-next!=NULL)/*P1不是所要指向的節(jié)點(diǎn),且后面還有節(jié)點(diǎn)*/ p2=p1;p1=p1-next;/*P1后移一個(gè)節(jié)點(diǎn)*/ if(num=p1-num) /*找到了
10、*/ if(p1=head) head=p1-next; /*若P1是首節(jié)點(diǎn),把第二個(gè)節(jié)點(diǎn)地址賦予head*/else p2-next=p1-next; /*否則將下一個(gè)節(jié)點(diǎn)地址賦給head*/printf(tui fang xin xi:n); printf(ke fang:%dn,&p1-num); printf(xing ming:%sn,p1-name); printf(xing bie:%sn,&p1-sex); else printf(mei you gai ke hu de xin xin); return(head); struct customer *search(struc
11、t customer *head,char c_name) struct customer *p; p=head; while(strcmp(p-name,c_name)&p-next!=NULL) /*輸入的字符和結(jié)構(gòu)體中的name不相等*/p=p-next; if(p-name=c_name) printf(gai ke hu de xin xi wei:n); printf(fang jian:%dnxing ming:%sn xing bie:%c,p-num,p-name,p-sex); if(p-name!=c_name&p-next=NULL) printf(mei you ga
12、i ke hu xin xi!n); void print(struct customer *head) /*輸出賓館人員信息*/ struct customer *p; printf(nxian you ke hu xin xi wei:n); p=head; if(head!=NULL) do printf(ke fang:%dn,p-num); printf(xing ming:%sn,p-name); printf(xing bie:%cn,p-sex); p=p-next; while(p!=NULL); main() struct customer *head,*p; int m,
13、number; char c_name20; printf(n); printf( *n); printf( huan ying jin ru bin guan ke fang guan li xi tongn); printf( *n); printf( *nn); printf( 1:jian kun); /*creat*/printf( 2:deng jin); /*insert*/printf( 3:tui fangn); /*del*/printf( 4:cha xunn); /*search*/printf( *nn); printf(zhi xing chao zuo:n);sc
14、anf(%d,&m); if(m=1) /*建庫*/head=creat(); else if(m=2) /*登記*/ printf(qing shu ru yao deng ji de ke hu xin xi:); p=(struct customer *)malloc(LEN); printf(fang jian;xing ming;xing bie:);scanf(%d %s %c,&p-num,p-name,&p-sex); head=insert(head,p); print(head); /*輸出登記人員的信息*/ else if(m=3) /*退房*/ printf(qing
15、shu ru yao tui fang ke hu de fang jian hao:); scanf(%d,&number); head=del(head,number); print(head);/*輸出登記人員的信息*/ else if(m=4) /*查詢*/ printf(qing shu ru yao cha xun ke hu de xing ming:); scanf(%s,c_name); search(head,c_name); else printf(zhi xing chao zuo cuo wu!); 六、測試數(shù)據(jù)七、小結(jié)及收獲和體會(huì)這次課題設(shè)計(jì)對(duì)自己來說是一次新的嘗試
16、,我選的課題是賓館客房管理軟件,這個(gè)課題必須要協(xié)助課外的知識(shí)才能完成。記得當(dāng)時(shí)開始做的時(shí)候真的是一頭霧水,都開始后悔自己選了這個(gè)課題,還沒和同學(xué)組隊(duì),當(dāng)時(shí)想就從網(wǎng)上下程序或者從其他人那拷來程序交了吧,可是當(dāng)看到大二學(xué)長們的課題報(bào)告時(shí),我猶豫了,他們也都是自己編的,為什么他們能做到我不可以呢!趁著一股勁兒,我從圖書館借來了程序設(shè)計(jì)方面的書,花了幾天的時(shí)間把和這個(gè)課題有關(guān)的知識(shí)看了一遍,當(dāng)時(shí)看過之后還是挺迷糊的,然后開始嘗試著編,發(fā)現(xiàn)真正編起來也不是很難,終于花了一上午的時(shí)間把程序編好了。隨后找時(shí)間去了機(jī)房調(diào)試,開始時(shí)出現(xiàn)的問題還挺多的。在編輯編譯時(shí)出現(xiàn)了定義方面的錯(cuò)誤,不過根據(jù)錯(cuò)誤提示經(jīng)過稍加修
17、改后終于看到了期待的“success”!在運(yùn)行時(shí), 終于看到了自己想看到的結(jié)果。但是離預(yù)期目標(biāo)還有一定差距,還不能實(shí)現(xiàn)入住區(qū)分性別的雙人間,這也是一個(gè)很大的遺憾。此次課程設(shè)計(jì)我主要負(fù)責(zé)編寫、輸入代碼的任務(wù),面對(duì)密密麻麻的字符,我發(fā)現(xiàn)程序員是一個(gè)比較辛苦的職業(yè)。首先面對(duì)難題時(shí)要鎮(zhèn)靜,想好解決方法,然后要堅(jiān)持去做好;要廣泛利用課外書籍資料,通過自學(xué)獲得知識(shí)完成自己的探索,這次實(shí)驗(yàn)過程極大地鍛煉了自己面對(duì)難題,獨(dú)立思考,自己探索,發(fā)現(xiàn)問題,解決問題的能力。但是,最終我還是證明了自己的實(shí)力,面對(duì)了這種種的挑戰(zhàn),相信我未來一定會(huì)在這條路上走更遠(yuǎn)。八、參考資料1 譚浩強(qiáng),C程序設(shè)計(jì)教程,清華大學(xué)出版社,2007年2 譚浩強(qiáng)編著,C程序設(shè)計(jì),清華大學(xué)出版社,1991年3 Brian W.
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公關(guān)公司媒介管理制度(3篇)
- 2026年泰安新泰市事業(yè)單位初級(jí)綜合類崗位公開招聘工作人員(76人)參考考試題庫及答案解析
- 2026廈門國際銀行福建寧德分行校園招聘備考考試題庫及答案解析
- 讀不完的大書第二課時(shí)
- 2026年贛州市第十中學(xué)春季學(xué)期頂崗教師招聘備考考試試題及答案解析
- 2026四川樂山馬邊彝族自治縣婦幼保健計(jì)劃生育服務(wù)中心招聘4人備考考試題庫及答案解析
- 2026年上半年黑龍江省地震局事業(yè)單位公開招聘工作人員2人考試參考試題及答案解析
- 2026年上半年四川中醫(yī)藥高等??茖W(xué)校第一批編外教職工招聘7人參考考試題庫及答案解析
- 2026內(nèi)蒙古直屬機(jī)關(guān)(參公單位)遴選公務(wù)員考試參考試題及答案解析
- 2026年上半年大慶市事業(yè)單位公開招聘工作人員164人筆試參考題庫及答案解析
- 2025年社區(qū)工作總結(jié)及2026年工作計(jì)劃
- 南昌地鐵培訓(xùn)課件
- GB/T 30104.104-2025數(shù)字可尋址照明接口第104部分:一般要求無線和其他有線系統(tǒng)組件
- 三年級(jí)上冊(cè)數(shù)學(xué)第三單元題型專項(xiàng)訓(xùn)練-判斷題(解題策略專項(xiàng)秀場)人教版(含答案)
- 湖南省婁底市新化縣2024-2025學(xué)年高一上學(xué)期期末考試生物試題(解析版)
- GB/T 45629.1-2025信息技術(shù)數(shù)據(jù)中心設(shè)備和基礎(chǔ)設(shè)施第1部分:通用概念
- 2025年中考?xì)v史開卷考查范圍重大考點(diǎn)全突破(完整版)
- 學(xué)術(shù)誠信與學(xué)術(shù)規(guī)范研究-深度研究
- 《ETF相關(guān)知識(shí)培訓(xùn)》課件
- DB15-T 3677-2024 大興安嶺林區(qū)白樺樹汁采集技術(shù)規(guī)程
- 2024年《13464電腦動(dòng)畫》自考復(fù)習(xí)題庫(含答案)
評(píng)論
0/150
提交評(píng)論