【求助】请大佬帮忙改改,外卖信息管理系统(包含录入信息,信息修改,信息查询,信息显示,信息统计五个模块)
信息显示的模块显示出来莫名其妙多处三行(附图)信息统计模块好像有问题,统计出来的信息都是错误的。
这是这个程序的要求
{
录入信息包括:编号、客户姓名、订餐种类(含a、b、c三种套餐)、订餐数量、送餐时间、送餐地址
信息修改:根据编号显示相应订餐信息并提供修改界面。
信息查询:根据编号显示出相应订餐信息。
信息显示:显示出所有订餐信息。
信息统计:统计各种套餐的订餐数量、总营业额(设a、b、c三种套餐售价分别为15、18、23元)。
}
肯请大佬帮助
程序代码:#include "stdio.h"
struct customer
{ int num;
char name[20];
char class;
int shulian;
char time[20];
char addr[20];
}a[10];
int n;
void main()
{
void lr();
void xg();
void cx();
void xs();
void tj();
printf("欢迎使用外卖订餐管理系统!\n");
do
{
printf("\n-------------------------\n");
printf("[1]--录入信息\n");
printf("[2]--信息修改\n");
printf("[3]--信息查询\n");
printf("[4]--信息显示\n");
printf("[5]--信息统计\n");
printf("[6]--退出\n");
printf("-------------------------\n");
printf("请输入您的选择:\n");
scanf("%d",&n);
switch(n)
{
case 1:lr();break;
case 2:xg();break;
case 3:cx();break;
case 4:xs();break;
case 5:tj();break;
case 6: break;
default :printf("输入有误\n");
}
}
while(n=6);
}
void lr(n)
{
int i=0,y;
do
{
printf("-------------------------\n");
printf("请输入编号:\n");
scanf("%d",&a[i].num);
printf("请输入客户姓名:\n");
scanf("%s",&a[i].name);
printf("请输入订餐种类:\n");
scanf("%s",&a[i].class);
printf("请输入订餐数量:\n");
scanf("%d",&a[i].shulian);
printf("请输入送餐时间:\n");
scanf("%s",&a[i].time);
printf("请输入送餐地址:\n");
scanf("%s",&a[i].addr);
i++;
printf("1.继续输入\n2.输入完毕\n");
printf("请输入:");
scanf("%d",&y);
}
while(y==1);
printf("提示:输入完毕!一共输入%d个\n",i);
}
void xg( )
{
int num,i,j,c;
if(c!=0)
{
printf("请输入要修改订餐信息的编号:");
scanf("%d",&num);
printf("\n");
for(i=0;i<n;i++)
if(a[i].num==num)
j=i;
do
{
printf("请输入要修改的信息:\n");
printf("-------------------------\n");
printf("[1] 客户姓名\n");
printf("[2] 订餐种类\n");
printf("[3] 订餐数量\n");
printf("[4] 送餐时间\n");
printf("[5] 送餐地址\n");
printf("[0] 取消\n");
printf("-------------------------\n");
printf("请输入您的选择:\n");
scanf("%d",&c);
printf("\n");
switch(c)
{
case 0:break;
case 1:printf("请输入新客户姓名:");
scanf("%s",a[j].name);break;
case 2:printf("请输入新订餐种类:");
scanf("%s",a[j].class);break;
case 3:printf("请输入新订餐数量:");
scanf("%d",&a[j].shulian);break;
case 4:printf("请输入新送餐时间:");
scanf("%s",a[j].time);break;
case 5:printf("请输入新送餐地址:");
scanf("%s",a[j].addr);break;
default:printf("输入有误!");break;
}
}
while(c!=0);
}
else printf("输入有误!\n");
}
void cx()
{
int i,w;
if(n!=0)
printf("请输入编号:");
scanf("%d",&w);
printf("\n");
for(i=0;i<n;i++)
if(a[i].num==w)
{
printf("编号:%d\n",a[i].num);
printf("客户姓名:%s\n",&a[i].name);
printf("订餐种类:%s\n",&a[i].class);
printf("订餐数量:%d\n",a[i].shulian);
printf("送餐时间:%s\n",&a[i].time);
printf("送餐地址:%s\n",&a[i].addr);
}
}
void xs()
{
int i;
if(n!=6)
{
printf("编号 客户姓名 订餐种类 订餐数量 送餐时间 送餐地址\n");
printf("-----------------------------------------------------------------------------\n");
for(i=0;i<n;i++)
printf("%d\t%s\t%s\t%d\t%s\t%s\n",a[i].num,&a[i].name,&a[i].class,a[i].shulian,&a[i].time,&a[i].addr);
}
else printf("提示:无数据,请输入数据!");
}
void tj()
{
int sum,i;
int A=0,B=0,C=0;
for(i=0;i<n;i++)
if(a[i].class=97)
A++;
else if(a[i].class=98)
B++;
else if(a[i].class=99)
C++;
sum=A*15+B*18+C*23;
printf("a套餐数量:%d\nb套餐数量:%d\nc套餐数量:%d\n",A,B,C );
printf("总营业额:%d",sum);
}








