读取文件进行计算

//io.cpp

#include "stdafx.h"

#include "test.h"
#include "io.h"

int ReadFromFile( char *FileName,

USER_T            *ptheKind, /*  电表用户的类型*/

USE_TIME_t *pStart_Time, /*  开始使用时间 */
WEEK_T            *pStart_Week,   /*  开始使用时间是星期几 */
USE_TIME_t      *pEnd_Time, /*  结束使用时间 */
int *pValue /*  用电量  */
);

//函数名称:Input()
int Input( USER_T *ptheKind, /*  电表用户的类型 */
USE_TIME_t *pStart_Time, /*  开始使用时间 */
WEEK_T                  *pStart_Week,   /*  开始使用时间是星期几 */
USE_TIME_t *pEnd_Time, /*  结束使用时间 */
int *pValue /*  用电量  */
)
{
static bool flag = false;

if ( ptheKind == NULL || pStart_Time == NULL || pStart_Week == NULL || pEnd_Time == NULL || pValue == NULL  )
{
return -1;
}

if ( flag == false )
{
ReadFromFile("E:\\input.txt",ptheKind, pStart_Time, pStart_Week, pEnd_Time, pValue);

flag = true;
}

return 0;
}

int ReadFromFile(char *FileName,
USER_T *ptheKind, /*  电表用户的类型 */
USE_TIME_t       *pStart_Time, /*  开始使用时间 */
WEEK_T              *pStart_Week,   /*  开始使用时间是星期几 */
USE_TIME_t *pEnd_Time, /*  结束使用时间 */
int *pValue /*  用电量  */
)
{
int i;
int a = 0;

FILE* fp; 

fp = fopen(FileName,"r");

if (fp == NULL)
{
printf(FileName);
printf("doesn't exist\n");
fclose(fp);
return -1;
}

for (i = 0; ;  )
{
/*  电表用户的类型 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}

*ptheKind = (USER_T)a;

/*  开始使用时间 年 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pStart_Time->year = a;

/*  开始使用时间 月 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pStart_Time->month = a;

/*  开始使用时间 日 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pStart_Time->date = a;


/*  开始使用时间是星期几 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}

*pStart_Week = (WEEK_T)a;

/*  结束使用时间 年 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pEnd_Time->year = a;;


/*  结束使用时间 月 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pEnd_Time->month = a;

/*  结束使用时间 日 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}
pEnd_Time->date = a;

/*  用电量 */
if (fscanf(fp,"%d", &a)== EOF)
{
break;
}

*pValue = (int)a;

}

fclose(fp);

return 0;
}


//函数名称:Output()
int Output( int Fare /* 计算出所花费用;单位:元 */
)
{
FILE* fp; 


fp = fopen("E:\\Result.txt","w");
if (fp == NULL)
{
printf("File can't be created\n");
fclose(fp);
return -1;
}

{
fprintf(fp,"%d\n", Fare);
}

fclose(fp);
return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值