小饭店预约登记管理系统

Posted www-yyf-cn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小饭店预约登记管理系统相关的知识,希望对你有一定的参考价值。

#include "stdio.h"

#include "stdlib.h"

#define MaxSize 20
typedef struct guest_info
{
char name[8];
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()
{
FILE *fp;
if((fp=fopen("d:\\message.txt","wb"))==NULL)
{printf(" cannot open file ");
exit(1);
}
Pointer Head=NULL;
int i;
do
{
printf(" ");
printf("1---插入(Insert) ");
printf("2---查询(Search) ");
printf("3---修改(Update) ");
printf("4---删除(Delete) ");
printf("5---显示(Show) ");
printf("6---退出(Exit) ");
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);
if((fwrite(Head,sizeof(GuestLink),MaxSize,fp)!=MaxSize))
printf("file write error ");
fclose(fp);
return 0;
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("分配内存失败!");return ;
}
if(q==NULL)
*Head=r;
else {q->next=r;}
r->number=in_number;
printf("请输入姓名:");
scanf("%s",&r->name);
printf("请输入人数:");
scanf("%d",&r->sum);
printf("请输入用餐时间:");
scanf("%s",&r->time);
}
void Search(Pointer Head)
{
int flag=1;
int number;
Pointer p;
printf("请输入要查寻的编号:");
scanf("%d",&number);
p=Head;
while(p!=NULL&&flag)
{if(p->number==number)
{printf("姓名:%s",p->name);
printf("人数:%d",p->sum);
printf("用餐时间:%s",p->time);
flag=0;
}
else p=p->next;
}
if(flag)
printf("没有查询到!!");
}
void Update(Pointer Head)
{
int flag=1;
int number;
Pointer p;
printf("请输入要修改的编号:");
scanf("%d",&number);
p=Head;
while(p!=NULL&&flag)
{if(p->number==number)
{
printf("请输入用餐时间:");
scanf("%s",p->time) ;
// printf("请输入人数:");
// scanf("%d",p->sum);
flag=0;
}
else p=p->next;
}
if(flag)
printf("没有找到要修改的数据!!");
}
void Delete(Pointer *Head)
{
int flag=1;
int 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 {p=q;p->next;}
}if(flag)
printf("没有找到可以删除的数据!!");
}
void Show(Pointer Head)
{
Pointer p;
p=Head;
while(p!=NULL)
{
printf("姓名:%-10s",p->name);
printf("人数:%-10d",p->sum);
printf("用餐时间:%-10s",p->time);
printf("编号:%-10d ",p->number);
p=p->next;
}
}

该系统完成的功能主要有就餐姓名、就餐人数、就餐时间以及就餐编号的增删改查;

通过定义结构体实现就餐信息的操作;并在结构体中定义了指针变量用来顺序连接下一个信息;主要通过模仿数据结构中的链表操作;

来达到功能的实现;

技术图片

 
































































































































































以上是关于小饭店预约登记管理系统的主要内容,如果未能解决你的问题,请参考以下文章

幼儿园核酸预约登记小程序实战开发(下篇)

小程序 座位管理系统

澳门苹果手机预约登记码多久发送信息

PHP医院网络预约管理系统源码(可商用也可作毕业设计)

医院预约小程序/基于微信小程序的医院预约挂号系统/医院在线预约系统的设计与实现

广州美发小程序预约系统