#include <stdio.h>
struct SMType
{
char spno[10];//商品编号
char spname[10];//商品名
double spjg;//商品价格
char splb[10];//商品类别
char spcs[20];//商品厂商
double spkc;//商品库存
};
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;
char flag='k';
fp=fopen("supermarker.txt","a");//以追加方式打开文件supermarket.txt
while (flag=='k')
{
printf("请输入商品的编号、名称、价格、类别、厂商、库存:\n");
scanf("%s%s%lf%s%s%lf",stu.spno,stu.spname,&stu.spjg,stu.splb,stu.spcs,&stu.spkc);
fprintf(fp,"%10s%10s%10.2f%10s%10s%10.2f",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)
{
FILE *fp=NULL;
struct SMType stu;
fp=fopen("supermarket.txt","r");
printf("商品编号 名称 价格 类别 厂商 库存\n");
while(!feof(fp))//当文件未结束时
{
fscanf(fp,"%s%s%lf%s%s%lf",stu.spno,stu.spname,&stu.spjg,stu.splb,stu.spcs,&stu.spkc);
fgetc(fp); fgetc(fp);
printf("%10s%10s%10.2f%10s%10s%10.2f",stu.spno,stu.spname,stu.spjg,stu.splb,stu.spcs,stu.spkc);
}
fclose(fp);
}