#定義LEN sizeof(結構客戶)
#包含" string.h "
結構客戶
{
int num
char name[20];
長日期;
結構客戶*下壹步;
} cus
構造客戶*創建(void)/*創建壹個鏈表*/
{
結構客戶*頭,*p1,* p2
int n = 0;
p1=(結構客戶*)malloc(LEN);
p2=(結構客戶*)malloc(LEN);
Printf("請輸入客戶信息:\ n ");
printf(" \ n room:");
scanf("%d ",& ampp 1->;num);
printf(" \ n ");
printf(" name:");
scanf("%s ",p 1->;姓名);
printf(" \ n ");
Printf("簽到時間:");
scanf("%ld ",& ampp 1->;日期);
printf(" \ n ");
head = NULL
while(p 1->;num!=0)
{
n++;
如果(n==1)
head = p 1;
其他
p2->;next = p 1;
p2 = p 1;
p1=(結構客戶*)malloc(LEN);
Printf("請輸入客戶信息:\ n ");
printf(" \ n room:");
scanf("%d ",& ampp 1->;num);
printf(" \ n ");
printf(" name:");
scanf("%s ",p 1->;姓名);
printf(" \ n ");
Printf("簽到時間:");
scanf("%ld ",& ampp 1->;日期);
printf(" \ n ");
}
p2->;next = NULL
返回(頭);
}
struct customer * insert(struct customer * head,struct customer * consumer)/*註冊新客戶信息*/
{
結構客戶*p1,* p2
p 1 =頭;
p2 =消費者;
if(p 1->;下壹個!=空)
p 1 = p 1->;接下來;
if(p 1->;next==NULL)
{
p 1->;next = p2
p2->;next = NULL
}
返回(頭);
}
struct customer * del(struct customer * head,int num)/*顯示結賬客戶的信息*/
{
結構客戶*p1,* p2
if(head==NULL)
{
Printf("無客戶信息\ n ");
返回(頭);
}
p 1 =頭;
而(num!= p 1->;數字& amp& ampp 1->;下壹個!=空)
{
p2 = p 1;p 1 = p 1->;接下來;
}
if(num = = p 1->;數字)
{
if(p1==head)
head = p 1->;接下來;
其他
p2->;next = p 1->;接下來;
Printf("退房客戶信息:\ n ");
Printf("客房:% d \ n ",&;p 1->;num);
Printf ("name: %s\n ",p 1-& gt;姓名);
Printf("簽到時間:% ld \ n ",&;p 1->;日期);
}
其他
Printf("沒有關於此客戶的信息\ n ");
返回(頭);
}
struct customer * search(struct customer * head,char c _ name [])/*查詢客戶信息*/
{
結構客戶* p;
p =頭部;
while(strcmp(p-& gt;名字,c_name)和amp& ampp->;下壹個!=空)
p = p-& gt;接下來;
如果(p->;name==c_name)
{
Printf("客戶的信息是:\ n ");
Printf("房間:% d \名稱:% s \登記時間:%ld ",p-& gt;num,p->姓名,p-& gt;日期);
}
如果(p->;名字!= c _ name & amp& ampp->;next==NULL)
Printf("沒有這個客戶的信息!\ n ");
}
void Print(struct customer * head)/*打印客戶信息*/
{
結構客戶* p;
printf(" \ n現有客戶信息為:\ n ");
p =頭部;
如果(頭!=空)
做
{
Printf("客房:%d\n ",p-& gt;num);
Printf ("name: %s\n ",p-& gt;姓名);
Printf("登記時間:%ld\n ",p-& gt;日期);
p = p-& gt;接下來;
}while(p!= NULL);
}
主()
{
結構客戶*頭,* p;
int m,數字;
char c _ name[20];
printf(" \ n ");
Printf("陳洪凱出品\ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
Printf("歡迎使用旅遊信息管理系統\ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf(" 1:建立數據庫\ n ");
printf(" 2:registration \ n ");
Printf(" 3:檢出\ n ");
printf(" 4:query \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("請做點什麽:\ n ");
scanf("%d ",& ampm);
如果(m==1)
head = creat();
其他
如果(m==2)
{
Printf("請輸入要註冊的客戶信息:");
p=(結構客戶*)malloc(LEN);
scanf("%d %s %ld ",& ampp->;num,p->姓名& ampp->;日期);
head=insert(head,p);
打印(頭);
}
其他
如果(m==3)
{
Printf("請輸入顧客退房的房間號:");
scanf("%d ",& amp號);
head=del(頭,數);
打印(頭);
}
其他
如果(m==4)
{
Printf("請輸入要查詢的客戶名稱:");
scanf("%s ",c _ name);
搜索(head,c _ name);
}
其他
Printf("執行操作出錯!");
}