0
点赞
收藏
分享

微信扫一扫

【C语言】一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预定,假设我们是饭馆负责接受电话预定的服务员,我们需要做些什么呢?

首先需要准备一张尺寸大小适当的白纸,等待顾客的电话。【具体题目明天揭晓】

#include <stdio.h>

#include <stdio.h>

#define MaxSize 20

struct guest_info

{

char name[8];

int  sum;

char time[10];

int number;

}GuestList[MaxSize];  

void Insert(int*);

void Search(int);

void Update(int);

void Delete(int*);

void Show(int);

int main()

{

int i;

int count =0;

do

{

 printf("\n");

 printf("1---插入(Insert)\n");

 printf("2---查询(Search)\n");

 printf("3---修改(Update)\n");

 printf("4---删除(Delete)\n");

 printf("5---显示(Show)\n");

 printf("6---退出(Exit)\n");

 scanf("%d",&i);

 switch(i)

 {

  case 1:Insert(&count);

    break;

  case 2:Search(count);

    break;

  case 3:Update(count);

    break;

  case 4:Delete(&count);

    break;

  case 5:Show(count);

    break;

  case 6:break;

  default:printf("错误选择!请重选");break;  

 }

}while(i!=6);

return 0;  

}

void Insert(int*count)

{

 int i,in_number;

 if(*count==MaxSize)

 {

  printf("空间已满!");return;

 }

 printf("请输入编号:");

 scanf("%d",&in_number);

 for(i=0;i<*count;i++)

 if(GuestList[i].number==in_number)

 {

  printf("已经有相同的编号!");return 0;

  }  

  GuestList[i].number =in_number;

  printf("请输入姓名:");

  scanf("%s",GuestList[i].name);

  printf("请输入人数:");

  scanf("%d",GuestList[i].sum);

  printf("请输入用餐时间:");

  scanf("%s",GuestList[i].time);

  (*count)++;  

}

void Search(int count)

{

 int i,number,flag=1;

 printf("请输入要查询的编号:");

 scanf("%d",&number);

 for(i=0;i<count&&flag;i++)

 if(GuestList[i].number==number)

 {

  printf("姓名:%s",GuestList[i].name);

  printf("人数:%d",GuestList[i].sum);

  printf("用餐时间:%s",GuestList[i].time);

  flag=0;

 }

 else

  printf("没有查询到!!");

}

void Update(int count)

{

int i,number,flag=1;

printf("请输入要修改数据的编号:");

scanf("%d",&number);

for(i=0;i<count&&flag;i++);

if(GuestList[i].number==number)

{

printf("请输入人数:");

scanf("%d",GuestList[i].sum);

printf("请输入用餐时间:");

scanf("%s",GuestList[i].time);

flag=0;

}

else

printf("没有查询到可以修改的数据");  

 }

 void Delete(int*count)

 {

  int i,j,number,flag=1;

  printf("请输入要删除数据的编号");

  scanf("%d",&number);

  for(i=0;i<count&&flag;i++);

  {

   if(GuestList[i].number==number)

   {

    for(j=i;j<*count-1;j++)

     GuestList[j]=GuestList[j+1];

    flag=0;

    (*count)--;

   }

   else

    printf("没有查询到可以删除的数据");

  }

 }

void Show(int count)

{

int i;

printf("\n");

printf("编号 姓名 人数 用餐时间\n");

for(i=0;i<count;i++)

{

 printf("%10d",GuestList[i].number);

 printf("%12s",GuestList[i].name);

 printf("%10d",GuestList[i].sum);

 printf("%12s",GuestList[i].time);

}

}

举报
0 条评论