实
验
报
告
二级学院:信息与工程学院
系别:计算机科学与技术系
专业:信息管理与信息系统
课程名称:高级语言程序设计
班级:姓名:
实验名称:
电话订餐信息处理
实验目的:
题目要求:
一个小饭馆的生意非常红火,要想用餐必须提前一天打电话预订,假设我们是饭馆负责接受电话预订的服务员,我们需要做些什么呢?首先,需要准备一张大小适当的白纸,等待顾客的电话。
李红最先打进了电话,她预约第2天中午12点用餐,用餐人数5人,服务员在纸上做了如下记录:“李红 12点 5人”;接着,刘娜、汪涵、孙杰和赵君分别来了电话,服务员根据他们的要求做了记录,此时纸上记录的内容是:
李红 12点 5人
刘娜 11点 2人
汪涵 11点20分 3人
孙杰 10点30分 5人
赵君 13点20分 6人
孙杰随后又来电话,将用餐时间推后一个小时,那么记录的内容也应该做相应的修改。
刘娜来用餐以后,可以将其信息从纸上划去
编写程序处理电话订餐的情况
实验步骤:
首先建立结构体类型,然后函数声明,编写主函数,定义函数,调用函数。
完成后,对程序进行调试,确定所编写的程序是否能够运行。
实验内容:
#include<>
#include<>
#define max 30
struct guest
{ intnum;
char name[40];
char time[20];
int sum;
}guestlink[max];
void insert(int *p);
void inquire(int);
void change(int);
void dele(int *p);
void show(int);
void main()
{ inti;
int count=0;
do
{0
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(&count);break;
case 2: inquire(count);break;
case 3: change(count);break;
case 4: dele(&count);break;
case 5: show(count);break;
case 6:break;
default:printf("输入错误!");break;
}
}while(i!=6);
}
void insert(int *p)
{ inti,number;
if(*p==max)
{ printf("用餐已满\n");return;}
printf("请输入编号:");
scanf("%d",&number);
for(i=0;i<*p;i++)
if(guestlink[i].num==number)
{ printf("已有相同的编号");return;}
guestlink[i].num=number;
printf("请输入姓名:");
scanf("%s",guestlink[i].name);
printf("请输入人数:");
scanf("%d",&guestlink[i].sum);
printf("请输入用餐时间:");
scanf("%s",guestlink[i].time);
(*p)++;
}
void inquire(int p)
{ inti,number,flag=1;
printf("请输入要查询的编号");
scanf("%d",&number);
for(i=0;i<p&&flag;i++)
if(guestlink[i].num==number)
{ printf("姓名:%s",guestlink[i].name);
printf("用餐时间:%s",guestlink[i].time);
printf("人数:%d\n",guestlink[i].sum);
flag=0;
}
if(i>=p&&flag==1) printf("所查询的编号不存在");
}
void change(int p)
{ inti,number,flag=1;
printf("请输入要修改的编号");
scanf("%d",&number);
for(i=0;i<p&&flag;i++)
if(guestlink[i].num==number)
{ printf("请输入姓名:");
scanf("%s",guestlink[i].name);
printf("请输入用餐时间:");
scanf("%s",guestlink[i].time);
printf("请输入人数:");
scanf("%d",&guestlink[i].sum);
flag=0;
}
if(i>=p&&flag==1) printf("所查询的编号不存在");
}
void dele(int *p)
{ inti,j,number,flag=1;
printf("请输入要删除的编号");
scanf("%d",&number);
for(i=0;i<*p&&flag;i++)
if(guestlink[i].num==number)
{for(j=i;j<*p-1;j++)
guestlink[j]=guestlink[j+1];
flag=0;
(*p)--;
}
if(i>=*p&&flag==1) printf("输入的编号不存在");
}
void show(int p)
{ inti;
printf("编号姓名用餐时间人数\n ");
for(i=0;i<p;i++)
{ printf("%d",guestlink[i].num);
printf("%8s",guestlink[i].name);
printf("%8s",guestlink[i].time);
printf("%8d\n",guestlink[i].sum);
}
}
实验结果:
实验体会:
通过这次实践让我觉得用C语言在生活中的应用占有很大的比重,这次编程,让我体会到了学习C语言的乐趣,以及运用c语言给人们带来的方便。
作为一名初学者,我了解到了计算机语言的神秘性和逻辑性,将算法与数据结构的充分结合,体现了程序的内涵,也同时展现了C语言的深度。
也是因为这次实践的过程,加深了我对c语言的兴趣,也意识到学习c语言是需要耐心和细心的。
只有透彻的学习,才能有熟练的运用。