加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

酒店管理系统 c语言链表

发布时间:2020-12-15 04:53:57 所属栏目:百科 来源:网络整理
导读:#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(P

#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;

}

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读