| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 361 人关注过本帖
标题:这个程序的错误在哪?我找不出来,谁帮帮我!!!
只看楼主 加入收藏
zofuthan
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-29
收藏
 问题点数:0 回复次数:0 
这个程序的错误在哪?我找不出来,谁帮帮我!!!
最近要交实习报告,自己写了个程序,结果不对。运行后,oil.dat里没保存数据,还有就是把所有数据输出时,结果总是0,耗油的数据算的不对,总是一个数!!这是什么原因?请高手帮帮忙!!!!以下是我写的代码:

#include <stdio.h>
#include <stdlib.h>
#define SIZE 256
struct oil_type
{double jiayou;
 double danjia;
 double lucheng;
 double youhao;
}oil[SIZE];

void save(int k)
{FILE *fp;
 int i;
 if((fp=fopen("oil.dat","wb"))==NULL)
 {printf("不能打开文件或文件不存在!");
 return;
 }
for(i=0;i==k;i++)
if(fwrite(&oil[i],sizeof(struct oil_type),1,fp)!=1)
printf("文件写入失败!");
fclose(fp);
}

void count(int k)
{FILE *fp;
 int i;
 printf("加油金额\t加油单价\t行驶路程\t百里油耗\n");
fp=fopen("oil.dat","wb");
for(i=0;i==k;i++)
{fread(&oil[i],sizeof(struct oil_type),1,fp);
printf("%f\t%f\t%f\t%f\t",oil[i].jiayou,oil[i].danjia,oil[i].lucheng,oil[i].youhao);
printf("\n");}
fclose(fp);
}

int main(int argc, char *argv[])
{int i,k=0;
char c;
double j;
for(i=0;i<SIZE;i++)
{printf("是否输入数据,是请输入”y/Y“,否请输入”n/N“:");
 scanf("%s",&c);
 if(c=='n'||c=='N')
 goto end;
 printf("请输入此次加油金额:");
 scanf("%f",&oil[i].jiayou);
 printf("请输入此次加油单价:");
 scanf("%f",&oil[i].danjia);
 printf("请输入此次行驶里程:");
 scanf("%f",&oil[i].lucheng);
 j=oil[i].jiayou/oil[i].danjia;
 oil[i].youhao=(j/c)*100;
 k++;
 save(k);
}
end:
count(k);
system("PAUSE");   
return 0;
}

题目:
汽车油耗计算: 对于家用经济型小轿车来说,统计油耗是经常做的一件事。本题目要求根据汽油单价、每次加油所用钱数,以及该次加的油所跑里程数计算出该车的百公里油耗,并进行保存,根据需要给出统计数据。
搜索更多相关主题的帖子: return double include 实习报告 
2008-06-29 09:58
快速回复:这个程序的错误在哪?我找不出来,谁帮帮我!!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.044863 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved