读书人

请大神帮帮小白小弟我的忙

发布时间: 2013-10-12 11:54:04 作者: rapoo

请大神帮帮小白我的忙
帮帮忙哟~~~fread总是从读入不对,代码如下-0-
#include<stdio.h>
struct product
{
int num;
char name[10];
int price;
int totle;
char kind[10];
}pro[10];

void AddPro()
{
FILE *fp;
int i,j;
char confirm;
fp=fopen("product.txt","wb");
printf("|编号|名称|价格|总量|种类|\n");
scanf("%d%s%d%d%s",&pro[0].num,&pro[0].name,&pro[0].price,&pro[0].totle,&pro[0].kind);
if(fwrite(&pro[0],sizeof(product),1,fp)!=1)
printf("error");
for(i=1;i<4;i++)
{
printf("是否继续输入数据:y/n:");
scanf("%s",&confirm);
printf("\n");
if(confirm=='y')
{
printf("|编号|名称|价格|总量|种类|\n");
scanf("%d%s%d%d%s",&pro[i].num,&pro[i].name,&pro[i].price,&pro[i].totle,&pro[i].kind);
if(fwrite(&pro[i],sizeof(product),1,fp)!=1)
printf("录入到上限咯~\n");
}
}
fclose(fp);
}

void ShowPro()
{
int i=0;
FILE *fp;
fp=fopen("product.txt","rb");
for(i=0;i<4;i++);
{
fread(&pro[i],sizeof(product),1,fp);
printf("|编号|名称|价格|总量|种类|\n");
printf("%-2d%-11s%-5d%-5d%-5s\n",pro[i].num,pro[i].name,pro[i].price,pro[i].totle,pro[i].kind);

}
fclose(fp);
}

main()
{
AddPro();
ShowPro();
}

[解决办法]
判断下文件打开打开 写入是否成功!
在fread的时候也判断下文件fopen是否成功!
[解决办法]
单步调试看看。

引用:
帮帮忙哟~~~fread总是从读入不对,代码如下-0-
#include<stdio.h>
struct product
{
int num;
char name[10];
int price;
int totle;
char kind[10];
}pro[10];

void AddPro()
{
FILE *fp;
int i,j;
char confirm;
fp=fopen("product.txt","wb");
printf("
[解决办法]
编号
[解决办法]
名称
[解决办法]
价格
[解决办法]
总量
[解决办法]
种类
[解决办法]
\n");
scanf("%d%s%d%d%s",&pro[0].num,&pro[0].name,&pro[0].price,&pro[0].totle,&pro[0].kind);
if(fwrite(&pro[0],sizeof(product),1,fp)!=1)
printf("error");
for(i=1;i<4;i++)
{
printf("是否继续输入数据:y/n:");
scanf("%s",&confirm);
printf("\n");
if(confirm=='y')
{
printf("
[解决办法]
编号
[解决办法]
名称
[解决办法]
价格
[解决办法]
总量
[解决办法]
种类
[解决办法]
\n");
scanf("%d%s%d%d%s",&pro[i].num,&pro[i].name,&pro[i].price,&pro[i].totle,&pro[i].kind);
if(fwrite(&pro[i],sizeof(product),1,fp)!=1)
printf("录入到上限咯~\n");
}
}
fclose(fp);
}

void ShowPro()
{
int i=0;
FILE *fp;
fp=fopen("product.txt","rb");
for(i=0;i<4;i++);
{
fread(&pro[i],sizeof(product),1,fp);


printf("
[解决办法]
编号
[解决办法]
名称
[解决办法]
价格
[解决办法]
总量
[解决办法]
种类
[解决办法]
\n");
printf("%-2d%-11s%-5d%-5d%-5s\n",pro[i].num,pro[i].name,pro[i].price,pro[i].totle,pro[i].kind);

}
fclose(fp);
}

main()
{
AddPro();
ShowPro();
}

读书人网 >C++

热点推荐