#include
#include
#include
#define MaxSize 20
typedef struct guest_info
{
char name[20];
int sum;
char time[10];
int number;
struct guest_info *next;
}Guestlink,*Pointer;
voID Insert(Pointer *head);
voID Search(Pointer head);
voID Update(Pointer head);
voID Delete(Pointer *head);
voID Show(Pointer head);
int main()
{
Pointer head=NulL;
int i;
do
{
printf("n");
printf("1---插入n");
printf("2---查询n");
printf("3---修改n");
printf("4---删除n");
printf("5---显示n");
printf("6---退出n");
scanf("%d",&i);
switch(i)
{
case 1:Insert(&head);break;
case 2:Search(head);break;
case 3:Update(head);break;
case 4:Delete(&head);break;
case 5:Show(head);break;
case 6:break;
default:printf("重新输入");break;
}
}while(i!=6);
return 0;
}
voID Insert(Pointer *head)
{
int in_number;
Pointer p,q,r;
printf("请输入编号:");
scanf("%d",&in_number);
p=q=*head;
while(p!=NulL)
{
if(p->number==in_number)
{
printf("已经有相同编号");
return;
}
else
{
q=p;p=p->next;
}
}
r=(Pointer)malloc(sizeof(Guestlink));
r->next=NulL;
if(r==NulL)
{
printf("error");
return;
}
if(q==NulL)
*head=r;
else
{
q->next=r;
}
r->number=in_number;
printf("姓名 人数 用餐时间n");
scanf("%s%d%s",r->name,&r->sum,r->time);
}
voID Search(Pointer head)
{
int flag=1,number;
Pointer p;
printf("请输入编号:");
scanf("%d",&number);
p=head;
while(p!=NulL&&flag)
{
if(p->number==number)
{
printf("姓名:%s n人数:%d n用餐时间:%sn",p->name,p->sum,p->time);
flag=0;
}
else
p=p->next;
}
if(flag)
printf("no data");
}
voID Update(Pointer head)
{
int flag=1,&number);
p=head;
while(p!=NulL&&flag)
{
if(p->number==number)
{
printf("人数 用餐时间n");
scanf("%d%s",&p->sum,p->time);
flag=0;
}
else
p=p->next;
}
if(flag)
printf("no data");
}
voID Delete(Pointer *head)
{
int flag=1,number;
Pointer p,q;
printf("请输入编号:");
scanf("%d",&number);
p=q=*head;
while(p!=NulL&&flag)
{
if(p->number==number)
{
if(p==*head)
{
*head=p->next;
free(p);
}
else
{
q->next=p->next;
free(p);
}
flag=0;
}
else
{
q=p;
p=p->next;
}
}
if(flag)
printf("no data");
}
voID Show(Pointer head)
{
Pointer p;
p=head;
while(p!=NulL)
{
printf("编号:%d 姓名:%s 人数:%d 用餐时间:%sn",p->number,p->time);
p=p->next;
}
}
总结以上是内存溢出为你收集整理的酒店管理系统 c语言链表全部内容,希望文章能够帮你解决酒店管理系统 c语言链表所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)