文件的输入输出,输出出现问题

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define N 10

struct SMType
{
char spno[N];//商品编号
char spname[N];//商品名
char spjg[N];//商品价格
char splb[N];//商品类别
char spcs[N];//商品厂商
char spkc[N];//商品库存

};

void WriteSM(void);
void ReadSM(void);

int main()
{
int select;
printf("1.录入商品信息 2.浏览商品信息 0.退出\n请选择:");
scanf("%d",&select);
switch(select)
{
case 1:WriteSM();break;//函数调用,实现用户登录
case 2:ReadSM();break;//函数调用,实现用户注册
default:printf("退出程序!\n");break;
}
return 0;
}
void WriteSM(void)
{
FILE *fp=NULL;//定义文件指针fp并初始化为空
struct SMType stu;
/ar spno[N];//商品编号
/ar spname[N];//商品名
/ar spjg[N];//商品价格
/ar splb[N];//商品类别
/ar spcs[N];//商品厂商
/ar spkc[N];//商品库存
char flag='k';
fp=fopen("supermarker.txt","a");//以追加方式打开文件supermarket.txt
while (flag=='k')
{

printf("请输入商品的编号、名称、价格、类别、厂商、库存:\n");
scanf("%s%s%s%s%s%s",stu.spno,stu.spname,stu.spjg,stu.splb,stu.spcs,stu.spkc);
fprintf(fp,"%10s%10s%10s%10s%10s%10s",stu.spno,stu.spname,stu.spjg,stu.splb,stu.spcs,stu.spkc);//以指定格式写入文件
fputc('\n',fp);//将换行符写入文件
fflush(stdin);//清空键盘缓冲区
printf("继续录入请输入k:");
scanf("%c",&flag);
}
printf("商品信息录入成功!\n");
fclose(fp);//关闭文件
}

void ReadSM(void)
{
/ar spno[N];//商品编号
/ar spname[N];//商品名
/ar spjg[N];//商品价格
/ar splb[N];//商品类别
/ar spcs[N];//商品厂商
/ar spkc[N];//商品库存
FILE *fp=NULL;
struct SMType stu;
fp=fopen("supermarket.txt","r");
printf("商品编号 名称 价格 类别 厂商 库存\n");
while(!feof(fp))
{
fscanf(fp,"%s%s%s%s%s%s",stu.spno,stu.spname,stu.spjg,stu.splb,stu.spcs,stu.spkc);
printf("%s%s%s%s%s%s",stu.spno,stu.spname,stu.spjg,stu.splb,stu.spcs,stu.spkc);
printf("\n");
}
fclose(fp);
}