首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-10-12 
请大神帮帮小白我的忙帮帮忙哟~~~fread总是从读入不对,代码如下-0-#includestdio.hstruct product{int n

请大神帮帮小白我的忙
帮帮忙哟~~~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();
}

热点排行