酒店管理系统 c语言链表
#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; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |