欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言實現(xiàn)賓館管理系統(tǒng)課程設(shè)計

 更新時間:2022年03月17日 09:45:06   作者:蘇堯木子  
這篇文章主要為大家詳細介紹了C語言實現(xiàn)賓館管理系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了C語言實現(xiàn)賓館管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

課程設(shè)計題目: 賓館管理系統(tǒng)

一、需求分析

近年來,科技進步不僅促進了全球旅游企業(yè)的快速增長,而且指導了旅游者消費觀念的 更新,其中信息與通信技術(shù)的發(fā)展對酒店等企業(yè)有著深遠的影響,傳統(tǒng)的管理方式已不 能滿足具有信息量大,查詢量大,保存期長,要求不間斷運行等特點的賓館管理需求, 重視信息技術(shù)的發(fā)展成為我國酒店業(yè)的共識。為增強競爭能力,提高管理水平,先進的 賓館管理系統(tǒng)已成為必然。賓館管理系統(tǒng)可以及時了解客戶信息與需求,實現(xiàn)賓館管理 信息化,通過賓館管理系統(tǒng)的實施可以逐步提高賓館的現(xiàn)代化建設(shè),提升員工工作效率, 良好的管理系統(tǒng)越來越建立服務部門的良好形象,有利于業(yè)務規(guī)范化,標準化,有利于 提高管理水平,有利于創(chuàng)造更高的經(jīng)濟效益和社會效益,使管理過程實現(xiàn)現(xiàn)代化。

二、總體設(shè)計

三、詳細設(shè)計

本系統(tǒng)中主要實現(xiàn)客戶信息的建立,查找,刪除等方面功能。由主函數(shù)生成系統(tǒng)主菜單,為進入各個界面提供通道。主要為 SWITCH 開關(guān)語句進入不同的界面,輸入“1”進入賓館信息建立界面,輸入“2”進入信息添加界面,輸入“3”進入客戶姓名查詢界面,輸入“4”進入客戶性別查詢界面,輸入“5”進入房號查詢界面。輸入“6”進入入住時間查詢界面,輸入“7”進入客戶信息修改界面,輸入“8”進入客戶信息刪除界面,輸入“9”進入客戶信息刪除界面,輸入“0”退出系統(tǒng)。程序由 C 語言結(jié)合數(shù)據(jù)結(jié)構(gòu)中建立一個線性鏈表的知識編程

四、調(diào)試與測試

五、用戶手冊

1.在主菜單輸入“1”進入“賓館信息建立界面”。此界面可建立客戶的基本信息:姓名,性別,證件號,入住時間,天數(shù),房號,押金,離開時間等,并返回主菜單。

2.賓館信息添加功能

在主菜單輸入“2”進入“賓館信息添加界面”。此界面可以添加客戶個數(shù)和客戶基本信息:姓名,性別,證件號,入住時間,天數(shù),房號,押金,離開時間等,并返回到菜單進行下一步。

3. 客戶姓名查詢功能

在主菜單輸入“3”進入“客戶姓名查詢界面”。在此界面首先根據(jù)提示輸入 1 表示按照姓名查找,然后輸入客戶姓名確定進行查詢客戶的基本信息并顯示出來。此功能可以方便的查詢到某一姓名的客戶
的客房信息。

4.客戶性別查詢功能

在主菜單輸入“4”,進入“客戶性別查詢界面”。在此界面可按客戶的性別查詢某一性別的所有客戶的基本信息,此功能可以查詢同一性別的客人信息,并比較不同性別客流量,以制定計劃增加客流量。

5.賓館房號查詢功能

在主菜單輸入“5”,進入“賓館房號查詢界面”。在此界面可按已知的房號查詢客戶的基本信息,此功能可以確定某房間的住入情況,若無人則顯示沒有該房間信息,若有人住入可根據(jù)之前建立或添加的客戶信息顯示出住在該房間的客人登記信息。

6.入住時間查詢功能

在主菜單輸入“6”,進入“入住時間查詢界面”。在此界面可通過大概的入住時間查詢客戶登記的基本信息,此功能可以查詢在同一天住入賓館的客

7.客戶信息修改功能

在主菜單輸入“7”,進入“客戶信息修改界面”。在此界面先通過先前的客戶姓名查找到該客戶信息,再根據(jù)要修改的客戶姓名,修改客戶信息。此功能可以方便的對需要增加住宿時間的客戶進行維
護。

8.客戶信息刪除功能

在主菜單輸入“8”,進入“客戶信息刪除界面”。在此界面可按客戶的姓名刪除客戶的基本信息,使用 del()函數(shù),輸入客戶姓名,確定刪除按 1,此功能可以將保存時間過長現(xiàn)在已不需要保留
的客戶的信息刪除。

9.客戶信息顯示功能

在主菜單輸入“9”,進入“客戶信息顯示界面”。在此界面可按客戶的性別查詢客戶的基本信息,此功能可以將所有客戶信息顯示在輸出界面上,工作人員可直觀觀察。

六.源代碼

#include"stdio.h"
#include"stdlib.h"?
#include"string.h"
typedef struct
{
?? ?char name[50]; ?
?? ?char sex[50];?
?? ?char ID[50];
?? ?char come[50]; ?
?? ?char day[50];
?? ?char number[50];?
?? ?char type[50];
?? ?char price[50]; ?
?? ?char yushou[50];
?? ?char yajin[50]; ?
?? ?char leave[50];
}datatype;
typedef struct node
{
?? ?datatype data; ?
?? ?struct node *next;?
}listnode;?
typedef listnode *linklist;
linklist head;
listnode *p;
void Output_allInfo(linklist head);//輸出所有客戶信息 ?
void Delete_info(linklist head);//客戶信息的刪除?
void Info_Modify(linklist head);//按客戶姓名的信息修改?
listnode *Name_Search(linklist head); //按姓名查找賓館信息?
listnode *Sex_Search(linklist head);//按性別查找賓館信息 ?
listnode *Roomnum_Search(linklist head);//按房間號查找賓館信息
listnode *Cometime_Search(linklist head) ;//按入住時間查找?
char Display_Menu();//菜單輸出函數(shù)?
listnode* Add(linklist head,int b);//增加客戶信息
linklist Create(int a);//賓館客戶信息的建立 ?
void SaveInfoToFile(linklist head);//保存顧客信息到文件中
listnode *ReadInfoFromFile();//信息從文件讀出
int main()//主函數(shù)?
{?
?? ?int i,a;
?? ?for(;;)?
?? ?{?
?? ??? ?switch(Display_Menu()) ?
?? ??? ?{
?? ??? ?case 1: printf("**2.賓館信息的建立**\n"); ? ? ? ? ??
?? ??? ??? ?printf("輸入你想輸入的數(shù)目:"); ? ? ? ??
?? ??? ??? ?scanf("%d",&i); ? ? ? head=Create(i); break; ?
?? ??? ?case 2: printf("**1.從文件讀入客戶信息!**\n"); ? ? ? ?
?? ??? ??? ?ReadInfoFromFile(); ? ? ? ? ? ? break; ? ? ?
?? ??? ?case 3: printf("**3.賓館信息的添加**\n"); ? ? ? ? ?
?? ??? ??? ?printf("輸入你想添加的人數(shù):"); ? ? ??
?? ??? ??? ?scanf("%d",&a); ? ? ??
?? ??? ??? ?Add(head,a); break;?
?? ??? ?case 4: ?printf("**4.客戶姓名的查詢**\n"); ? ? ? ?
?? ??? ??? ?p=Name_Search(head); ? ? ? ? ? ? if(p!=NULL) ? ? ??
?? ??? ??? ?{ ? ? ??
?? ??? ??? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n "); ? ??
?? ??? ??? ??? ?printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, ? ? ?
?? ??? ??? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ? ? ?
?? ??? ??? ??? ?printf("\n"); ?
?? ??? ??? ?}?
?? ??? ??? ?else printf("該用戶不存在!");break; ? ? ??
?? ??? ?case 5: printf("**5.客戶性別的查詢**\n"); ? ?
?? ??? ??? ?p=Sex_Search(head); ? ? ? ? ?
?? ??? ??? ?if(p!=NULL) ? ? ? ??
?? ??? ??? ?{
?? ??? ??? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n "); ??
?? ??? ??? ??? ?printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, ? ?
?? ??? ??? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ? ? ?
?? ??? ??? ??? ?printf("\n"); ??
?? ??? ??? ?}
?? ??? ??? ?else
?? ??? ??? ??? ?printf("該用戶不存在!");break; ?
?? ??? ?case 6:?
?? ??? ??? ?printf("**6.客戶房號的查詢**\n"); ? ??
?? ??? ??? ?p=Roomnum_Search(head); ? ??
?? ??? ??? ?if(p!=NULL) ?
?? ??? ??? ?{
?? ??? ??? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n "); ??
?? ??? ??? ??? ?printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,?
?? ??? ??? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ??
?? ??? ??? ??? ?printf("\n"); ? ??
?? ??? ??? ?}
?? ??? ??? ?else printf("該房間信息不存在!");break;?
?? ??? ?case 7:
?? ??? ??? ?printf("**7.客戶性別的查詢**\n"); ? ?
?? ??? ??? ?p=Cometime_Search(head);
?? ??? ??? ?if(p!=NULL) ??
?? ??? ??? ?{
?? ??? ??? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n "); ? ?
?? ??? ??? ??? ?printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID,
?? ??? ??? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ? ?
?? ??? ??? ??? ?printf("\n"); ?
?? ??? ??? ?} ? ?
?? ??? ??? ?else printf("該房間信息不存在!");break;
?? ??? ?case 8: printf("**8.賓館信息的修改**\n"); ? ? ? ??
?? ??? ??? ?Info_Modify(head);break;?
?? ??? ?case 9: printf("**9.賓館信息的刪除**\n");?
?? ??? ??? ?Delete_info(head);break; ??
?? ??? ?case 10: printf("**10.賓館信息的輸出**\n"); ? ?
?? ??? ??? ?Output_allInfo(head); break; ?
?? ??? ?case 11:printf("11.保存顧客信息"); ? ? ?
?? ??? ??? ?SaveInfoToFile(head); break;
?? ??? ??? ?//保存顧客信息到文件中 ??
?? ??? ?case 0:printf("**0.退出**\n"); ? ??
?? ??? ??? ?exit(0); ??
?? ??? ?default: break;?
?? ??? ?}?
?? ?}
?? ?return 0;?
}
//菜單函數(shù)?
char Display_Menu()?
{ ?
?? ?int ?i; ?
?? ?FILE *fp;
?? ?char ch;?
?? ?printf("\n\n\n\n\n\n");
?? ?printf(" ? ? ? ? ? ? ? ? ? ? ? ? 歡迎使用賓館信息管理系統(tǒng)!") ; ??
?? ?if((fp=fopen("F:\\Cyy Report\\menu.txt","r"))==NULL)?
?? ?{
?? ??? ?printf("菜單文件打開失??!"); ?
?? ??? ?exit(0); ?
?? ?}?
?? ?ch=fgetc(fp);
?? ?while(ch!=EOF)?
?? ?{
?? ??? ?putchar(ch);?
?? ??? ?ch=fgetc(fp);
?? ?}
?? ?printf("\n");
?? ?for(;;) ?
?? ?{?
?? ??? ?scanf("%d",&i);?
?? ??? ?printf("\n"); ?
?? ??? ?if(i<0||i>11)?
?? ??? ??? ?printf("選擇錯誤,重新選擇:\n"); ??
?? ??? ?else break;
?? ?} ??
?? ?return i;
}
listnode *ReadInfoFromFile()?
{?
?? ?FILE *fp; ?
?? ?int b;?
?? ?fp=fopen("F:\\Cyy Report\\customer.txt","r"); ?
?? ?listnode *p=NULL,*q=NULL,*head=NULL;
?? ?p=(listnode *)malloc(sizeof(listnode)); ??
?? ?head->next=p; ? ??
?? ?b=1;
?? ?if(!fp) ?
?? ?{
?? ??? ?printf("文件打開失??!"); ?
?? ??? ?exit(0);?
?? ?}
?? ?else printf("文件打開成功"); ?
?? ?while(!feof(fp))?
?? ?{ ?
?? ??? ?/*fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.se x,p->next->data.ID, ? ? ? ? ?p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave );*/ ?
?? ??? ?q=(listnode *)malloc(sizeof(listnode)); ??
?? ??? ?fscanf(fp,"%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID, ??
?? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave);?
?? ??? ?p->next=q;
?? ??? ?q=p ;
?? ??? ?b++;
?? ?}
?? ?head=Add(head,b);?
?? ?printf("\n");?
?? ?fclose(fp); ?
?? ?return head;?
}
//賓館客戶信息的建立?
linklist Create(int a)
{
?? ?linklist head=(listnode *)malloc(sizeof(listnode));
?? ?listnode *p,*q; ?
?? ?q=head;
?? ?while(a--)?
?? ?{
?? ??? ?p=(listnode *)malloc(sizeof(listnode));?
?? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n ");?
?? ??? ?scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID, ??
?? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave);?
?? ??? ?q->next=p; ??
?? ??? ?q=p;?
?? ?}?
?? ?q->next=NULL;?
?? ?return head;?
}
listnode* Add(linklist head,int b)//增加顧客信息?
{
?? ?listnode *m,*n,*p;
?? ?m=head;
?? ?n=m->next; ?
?? ?while(n->next!=NULL)
?? ?{
?? ??? ?m=n; ?
?? ??? ?n=n->next;?
?? ?}
?? ?while(b--)?
?? ?{
?? ??? ?p=(listnode *)malloc(sizeof(listnode)); ??
?? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n ");?
?? ??? ?printf("***************************\n");?
?? ??? ?scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID, ? ? ? ?
?? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ?
?? ??? ?n->next=p;
?? ??? ?n=p;?
?? ?}
?? ?n->next=NULL;?
?? ?return head;?
}
//按姓名查找賓館信息?
listnode *Name_Search(linklist head)?
{
?? ?listnode *p; ?
?? ?char name[10];
?? ?int i; ?
?? ?printf("按 1 表示姓名查找:"); ?
?? ?p=head->next ;?
?? ?scanf("%d",&i); ?
?? ?if(i==1)?
?? ?{
?? ??? ?printf("輸入要查詢的姓名:"); ?
?? ??? ?scanf("%s",&name);
?? ??? ?while(p&&strcmp(p->data.name,name)>0) ??
?? ??? ??? ?p=p->next; ??
?? ??? ?if(p==NULL||strcmp(p->data.name,name)<0)
?? ??? ??? ?p=NULL;
?? ?}
?? ?else
?? ??? ?printf("輸入錯誤!"); ?
?? ?return p;
}
//按性別查找賓館信息 ?
listnode *Sex_Search(linklist head)
{
?? ?listnode *p;?
?? ?char sex[10];
?? ?int i; ?
?? ?printf("按 1 表示性別查找:"); ?
?? ?scanf("%d",&i);
?? ?p=head->next ; ?
?? ?if(i==1) ?
?? ?{
?? ??? ?printf("輸入要查詢的性別:"); ?
?? ??? ?scanf("%s",&sex);?
?? ??? ?while(p&&strcmp(p->data.sex,sex)>0)
?? ??? ??? ?p=p->next;?
?? ??? ?if(p==NULL||strcmp(p->data.sex,sex)<0)?
?? ??? ??? ?p=NULL; ?
?? ?}
?? ?return p;?
}
//按房間號查找賓館信息 ?
listnode *Roomnum_Search(linklist head)
{
?? ?listnode *p;
?? ?char number[10];?
?? ?int i;
?? ?printf("按 1 表示房間號查找:"); ?
?? ?p=head->next ;
?? ?scanf("%d",&i);
?? ?if(i==1) ?
?? ?{
?? ??? ?printf("輸入要查詢的房間號:"); ??
?? ??? ?scanf("%s",&number);
?? ??? ?while(p&&strcmp(p->data.number,number)>0) ?
?? ??? ??? ?p=p->next;?
?? ??? ?if(p==NULL||strcmp(p->data.number,number)<0) ?
?? ??? ??? ?p=NULL;?
?? ?}
?? ?return p;?
}
//按入住時間查找?
listnode *Cometime_Search(linklist head)?
{
?? ?listnode *p;?
?? ?char come[10];?
?? ?int i; ?
?? ?printf("按 1 表示性別查找:"); ?
?? ?p=head->next ;
?? ?scanf("%d",&i);?
?? ?if(i==1)?
?? ?{
?? ??? ?printf("輸入要查詢的入住時間:"); ?
?? ??? ?scanf("%s",&come);?
?? ??? ?while(p&&strcmp(p->data.come,come)>0)?
?? ??? ??? ?p=p->next; ?
?? ??? ?if(p==NULL||strcmp(p->data.come,come)<0)
?? ??? ??? ?p=NULL;?
?? ?}
?? ?return p;?
}
//按客戶姓名的信息修改 ?
void Info_Modify(linklist head)?
{ ?
?? ?listnode *p;
?? ?p=Name_Search(head);
?? ?if(p==NULL)
?? ?{?
?? ??? ?printf("賓館信息不存在!\n"); ?
?? ?} ?
?? ?else
?? ?{
?? ??? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n ");
?? ??? ?printf("***************************\n"); ??
?? ??? ?scanf("%s%s%s%s%s%s%s%s%s",p->data.name,p->data.sex,p->data.ID, ? ? ??
?? ??? ??? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ?printf("賓館信息已修改!"); ? ?
?? ?}
}
//客戶信息的刪除
void Delete_info(linklist head)?
{
?? ?int i; ?
?? ?listnode *p,*q;?
?? ?p=Name_Search(head); ?
?? ?if(p==NULL)?
?? ?{
?? ??? ?printf("信息不存在!\n"); ??
?? ??? ?return; ?
?? ?} ?
?? ?else?
?? ?{
?? ??? ?printf("按 1 刪除:"); ??
?? ??? ?scanf("%d",&i);
?? ??? ?if(i==1)?
?? ??? ?{
?? ??? ??? ?q=head;
?? ??? ??? ?while(q!=NULL&&q->next!=p) ?
?? ??? ??? ??? ?q=p->next;
?? ??? ??? ?q->next=p->next;?
?? ??? ??? ?free(p);?
?? ??? ??? ?printf("信息已刪除!"); ? ?
?? ??? ?}
?? ?}
}
//賓館信息的輸出?
void Output_allInfo(linklist head)?
{
?? ?listnode *p;?
?? ?p=head; ?
?? ?printf("姓名\t 性別\t 證件\t 入住\t 天數(shù)\t 房號\t 價格\t 押金\t 離開\n ");?
?? ?while(p->next!=NULL) ?{?
?? ??? ?
?? ??? ?printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->next->data.name,p->next->data.sex,p-> next->data.ID, ? ? ?
?? ??? ??? ?p->next->data.come,p->next->data.day,p->next->data.number,p->next->data.price,p->next->data. yajin,p->next->data.leave );?
?? ??? ?p=p->next ;
?? ?}
}
void SaveInfoToFile(linklist head)?
{?
?? ?FILE *fp;
?? ?listnode *p;?
?? ?p=head->next;?
?? ?if(p==NULL)?
?? ?{?
?? ??? ?printf("現(xiàn)在沒有顧客信息,請先輸入顧客信息!\n\n");?
?? ??? ?return;?
?? ?}
?? ?fp=fopen("F:\\Cyy Report\\customer.txt","w"); ?
?? ?if(!fp)?
?? ?{?
?? ??? ?printf("文件不存在!\n");
?? ??? ?return;
?? ?}
?? ?while(p) ?
?? ?{
?? ??? ?fprintf(fp,"%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\t%s\n",p->data.name,p->data.sex,p->data.ID, ? ? ?p->data.come,p->data.day,p->data.number,p->data.price,p->data.yajin,p->data.leave ); ? ??
?? ??? ?p=p->next;?
?? ?} ?
?? ?fclose(fp); ?
?? ?printf("文件保存成功!\n");?
}?

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論