请大家帮忙看一下哪里有问题,程序没有错误,但运行有问题
#include <stdio.h>#include <string.h>
struct equipment
{
char ID[10];
char kind[10];
char name[10];
char price[10];
char time[10];
char over[10];
char overtime[10];}
data[15];
void build(struct eqiupment data[15],int n)
{
int i;
printf("输入实验设备编号、种类、名称、价格、购入日期、是否报废、报废日期:\n");
for(i=0;i<n;i++)
{
scanf("%s %s %s %s %s %s %s,data[i].ID,data[i].kind,data[i].name,data[i].price,data[i].time,data[i].over,data[i].overtime");
}
printf("已录入设备信息。\n");
}
int chance(struct equipment data[15],int n)
{
int j=0;
int i;
char temp[10];
printf("输入需要修改设备的ID:\n");
scanf("%s",temp);
for(i=0;i<n;i++)
if( strcmp(temp,data[i].ID) == 0 )
{
printf("重新输入此设备编号、种类、名称、价格、归入日期、是否报废、报废日期:\n");
scanf("%s %s %s %s %s %s %s",data[i].ID,data[i].kind,data[i].name,data[i].price,data[i].time,data[i].over,data[i].overtime);
j++;
}
if(j==0)
{
printf("没有此设备信息。\n");
}
return(n);
}
int del(struct equipment data[15],int n)
{
int j=0;
int i,k;
char temp[10];
printf("输入需要删除设备的ID:\n");
scanf("%s",temp);
for(i=0;i<n;i++)
{
if( strcmp(temp,data[i].ID) == 0 )
{
for(k=i;k<n+1;k++)
{
strcpy(data[k].ID,data[k+1].ID);
strcpy(data[k].kind,data[k+1].kind);
strcpy(data[k].name,data[k+1].name);
strcpy(data[k].price,data[k+1].price);
strcpy(data[k].time,data[k+1].time);
strcpy(data[k].over,data[k+1].over);
strcpy(data[k].overtime,data[k+1].overtime);
j++;
}
}
}
if(j==0)
printf("没有此设备信息。\n");
else printf("已删除此设备信息。\n");
n--;
return(n);
}
int show(struct equipment data[15],int n)
{
int i;
for(i=0;i<n;i++)
{
{
printf("%s %s %s %s %s %s %s",data[i].ID,data[i].kind,data[i].name,data[i].price,data[i].time,data[i].over,data[i].overtime);
}
}
return(n);
}
main()
{
int n;
char choose,go[15];
printf(" <<<<<<<<<<<<<<<<<<<<<<<<<实验设备管理系统<<<<<<<<<<<<<<<<<<<<<<<< \n");
printf("输入设备数量:\n");
printf("你的输入是:");
scanf("%d",&n);
build(data,n);
again:
printf("\n\n");
printf("|请选择操作: 1代表修改设备信息|\n");
printf("| 2代表删除设备信息|\n");
printf("| 3代表浏览设备信息|\n");
printf("| 0代表退出程序 |\n");
printf("\n你的输入是:");
scanf(" %c",&choose);
switch (choose)
{
case '1':n=chance(data,n); break;
case '2':n=del(data,n); break;
case '3':n=show(data,n); break;
case '0':goto end;
default: printf("输入错误,请重新选择。\n");
goto again;
}
printf("\n若想再次选择操作,请输入Y,而输入其他键代表退出程序。\n");
printf("你的输入是:");
scanf("%s",go);
if( strcmp(go,"Y")==0 )
{
goto again;
}
end:
printf("\n已退出\n");
}