【求助】请大佬帮忙改改,外卖信息管理系统(包含录入信息,信息修改,信息查询,信息显示,信息统计五个模块)
信息显示的模块显示出来莫名其妙多处三行(附图)信息统计模块好像有问题,统计出来的信息都是错误的。
这是这个程序的要求
{
录入信息包括:编号、客户姓名、订餐种类(含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); }