为什么会显示这个啊?
为什么我输入的编号是一,然后他给我一堆数字?
还有后面那三个也是
代码在下面了,希望有人帮我找错
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#define PR printf
#define SC scanf
#define MAX 10
struct Sp
{
long int bh[9];
char fl[10];
char mc[20];
float dj[10];
float sl[10];
float xsje[10];
} Sp[10];
int k,n,i;
void input()
{
PR("\n需要输入几件商品:");
SC("%d",&n);
for(i=0;i<n;i++)
{
PR("请输入商品编号、商品分类、名称、零售价、售出数量、销售金额\n");
PR("编号:");
SC("%ld",&Sp[i].bh);
PR("分类:");
SC("%s",&Sp[i].fl);
PR("名称:");
SC("%s",&Sp[i].mc);
PR("零售价:");
SC("%f",&Sp[i].dj);
PR("售出数量:");
SC("%d",&Sp[i].sl);
PR("销售金额:");
SC("%d",&Sp[i].xsje);
}
PR("按任意键继续......");
getch();
return;
}
void shuchu()
{for(i=0;i<n;i++){
PR("商品编号 商品分类 名称 零售价 售出数量 销售金额 \n");
PR("%d %s %s %d %f %f",Sp[i].bh,Sp[i].fl,Sp[i].mc,Sp[i].dj,Sp[i].sl,Sp[i].xsje);
PR("\n");
}
PR("\t按任意键返回......");
getch();
return;
}
void chaxun()
{int k;
char temp3[20];
SC("%s",temp3);
for(i=0;i<n;i++)
{
if(strcmp(temp3,Sp[i].fl)==0)
{PR("\n");
PR("\n\t商品编号 商品分类 名称 零售价 售出数量 销售金额");
PR("\n\t %d %s %s %f %d %f",Sp[i].bh,Sp[i].fl,Sp[i].mc,Sp[i].dj,Sp[i].sl,Sp[i].xsje);
}
}
PR("\t按任意键继续......");
getch();
return ;
}
int main()
{
void input();
void shuchu();
void chaxun();
char ch;
do{
printf("\n===== 功能菜单 =====\n");
printf(" 1. 输入数据 \n");
printf(" 2. 显示所有信息 \n");
printf(" 3. 按类别查询 \n");
printf(" 4. 退出 \n");
printf("请选择功能号(1-4):");
SC("%d",&k);
ch=getch();
switch(k)
{
case 1: input(); break;
case 2: shuchu(); break;
case 3:
printf("要查找的类别:"); chaxun(); break;
case 4: exit(0);
}
}while(1);
return 0;
}