資源描述:
《2009040201051旅店登記系統(tǒng)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、沈陽航空航天大學(xué)課程設(shè)計(jì)學(xué)號(hào)2009040201051班級(jí)__94020102__姓名__劉志楊____指導(dǎo)教師___王曉巖___2009年9月9日沈陽航空航天大學(xué)課程設(shè)計(jì)任務(wù)書院系:電子信息工程學(xué)院專業(yè):電子信息工程班級(jí):94020102班學(xué)號(hào)2009040201051一、課程設(shè)計(jì)題目:旅店登記系統(tǒng)二、課程設(shè)計(jì)時(shí)間2010~11第一學(xué)期第2周,共計(jì)一周,20學(xué)時(shí)三、課程設(shè)計(jì)內(nèi)容:用C語言編寫軟件完成以下任務(wù):(1)輸入房間信息(旅店的房間號(hào),價(jià)錢,是否住旅客等)保存在hostel.dat文件中。(2)新入住旅客住店登記(旅客信息包括姓名,旅客身份
2、證號(hào),聯(lián)系方式,房間號(hào)等)保存在person.dat文件中。(5)顯示空閑房間信息。(6)能夠按身份證號(hào)查詢某位旅客的信息。四、課程設(shè)計(jì)要求:1.貫徹結(jié)構(gòu)化程序設(shè)計(jì)思想。2.用戶界面友好,功能明確,操作方便;可以加以其它功能或修飾。3.用戶界面中的菜單至少應(yīng)包括“房間信息添加”、“旅客入住”、“顯示空閑房間信息”、“查詢旅客信息”、“退出”5項(xiàng),所有數(shù)據(jù)的改變都應(yīng)該在相關(guān)文件中有所體現(xiàn)。4.代碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋,以增強(qiáng)程序的可讀性。課程設(shè)計(jì)說明書:課程結(jié)束后,上交課程設(shè)計(jì)說明書(打印稿和電子稿),其內(nèi)容如下:l封面l課程設(shè)計(jì)任務(wù)書l目錄
3、l需求分析(分析題目的要求)l程序流程圖(總體流程圖和主要功能模塊流程圖)l核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段l個(gè)人總結(jié)l參考資料l源程序及適當(dāng)?shù)淖⑨屩笇?dǎo)教師:________學(xué)生簽名:________沈陽航空航天大學(xué)設(shè)計(jì)用紙目錄一、需求分析1二、程序流程圖2三、核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段4四、個(gè)人總結(jié)8五、參考文獻(xiàn)8六、程序截圖9七、源程序1017沈陽航空航天大學(xué)設(shè)計(jì)用紙一、需求分析經(jīng)過對(duì)程序設(shè)計(jì)題目的分析可知,整個(gè)程序的設(shè)計(jì)實(shí)現(xiàn)大致分為三個(gè)模塊,其中每一個(gè)模塊對(duì)應(yīng)一個(gè)函數(shù),他們的功能分別是:添加旅客信息函數(shù)(add),旅客信息查詢函數(shù)(quer
4、y)以及顯示房間信息函數(shù)(show)。1、添加旅客,房間信息函數(shù)主要實(shí)現(xiàn)程序最初運(yùn)行時(shí)旅客房間的錄入以及其后的運(yùn)行中旅客信息的追加功能;2、旅客信息查詢函數(shù)允許按照身份證號(hào)對(duì)旅客信息進(jìn)行查詢;3、顯示函數(shù)實(shí)現(xiàn)的是顯示目前所有的有效旅客記錄信息。除上面介紹的功能之外,程序還具有退出功能,可以在程序的一次運(yùn)行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行。每一個(gè)旅客記錄都包含房間號(hào)、姓名,身份證號(hào),聯(lián)系電話。在程序當(dāng)中,將旅客記錄類型定義為結(jié)構(gòu)體類型,添加以及追加的旅客信息直接寫入person17沈陽航空航天大學(xué)設(shè)計(jì)用紙.dat文件中,其他函數(shù)每次對(duì)
5、旅客記錄的訪問,其數(shù)據(jù)來源都是person.dat文件,這樣做不但可以保證旅客數(shù)據(jù)的一致性,而且可以對(duì)旅客數(shù)據(jù)進(jìn)行永久保存,保證每次運(yùn)行程序都可以采用原來的數(shù)據(jù)。二、程序流程圖1、程序總體結(jié)構(gòu)圖(1)總體結(jié)構(gòu)圖n=1?真假輸n=2?入真假房間新n=3?信旅真假息客入顯n=4?住示真假空房旅間客信查退出?息詢圖1程序總體結(jié)構(gòu)圖17沈陽航空航天大學(xué)設(shè)計(jì)用紙(2)輸入房間信息此選項(xiàng)將覆蓋所有原信息,是否繼續(xù)執(zhí)行?YN讀寫方式打開hostel.dat文件是否成功?與讀寫方式打開循環(huán)person.dat文件是否成功?主函數(shù)YN請(qǐng)輸入房間號(hào)重新循環(huán)此函數(shù)請(qǐng)輸入
6、價(jià)格輸入完畢,是否繼續(xù)輸入?YN循環(huán)此函數(shù)循環(huán)主函數(shù)(2)輸入房間信息圖17沈陽航空航天大學(xué)設(shè)計(jì)用紙三、核心技術(shù)的實(shí)現(xiàn)說明及相應(yīng)程序段本程序主要由六個(gè)自定義函數(shù)和一個(gè)主函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來實(shí)現(xiàn)要求的所有功能。在這些函數(shù)當(dāng)中,添加數(shù)據(jù)函數(shù)、刪除數(shù)據(jù)函數(shù)和排序函數(shù)是程序中較為核心的部分,下面分別進(jìn)行說明。1、添加房間數(shù)據(jù)函數(shù)添加數(shù)據(jù)分為兩種情況,其一是在文件(hostel.dat)不存在的情況下,首先由程序創(chuàng)建一個(gè)新文件,并將錄入的房間信息寫入該文件當(dāng)中;其二是在文件(hostel.dat)已經(jīng)存在的情況下,此時(shí)文件要以讀寫方
7、式或追加的方式打開,這樣才可以保證以前已經(jīng)存在的數(shù)據(jù)不丟失。具體的程序段如下:istep1()//輸入房間信息//需3個(gè)房間信息程序調(diào)試中........{FILE*fpp,*fph;//定義指針HOSTELroom[M];PERSONguest[M];inti;charch;17沈陽航空航天大學(xué)設(shè)計(jì)用紙printf("此選項(xiàng)將覆蓋所有原信息,是否繼續(xù)執(zhí)行?YorN....");fflush(stdin);ch=getch();if(ch!='y'&&ch!='Y')//判斷return1;if((fph=fopen("hostel.dat",
8、"wb"))==NULL)//判斷文件是否存在{printf("創(chuàng)建文件失敗,返回上一層");getch();retu