关于读入DAT文件并操作的问题(C++)

yanleixinleo 2005-05-31 05:55:50
题目如下:
要求四个函数,输入函数可以从in.dat中读数据,也可用rand()函数(#include math.h)自行产生,输出函数完成把结果输出到屏幕或文件的任务,核心处理函数完成题目规定的要求,main()函数要求以尽可能友好、对程序使用安全的界面完成调用其它函数的任务。

已知在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数readdat()读取这若干个正整数并存入数组xx中。请编制函数calvalue(),其功能要求:(1)、求出这文件中共有多少个正整数totnum;(2)、求出这些数中的各位数字之和是奇数的数的个数totcnt,以及满足此条件的这些数的算术平均值totpjz,最后调用函数writedat()把所求的结果输出。


往各位大虾帮帮忙~3Q~
...全文
224 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yanleixinleo 2005-05-31
  • 打赏
  • 举报
回复
OK
修改了一下~可以了~3Q
yanleixinleo 2005-05-31
  • 打赏
  • 举报
回复
回楼上的,不行啊!
nasi00 2005-05-31
  • 打赏
  • 举报
回复
在回复里面直接敲的,可能有错误…… ^_^|||


---------------------------------------------------
#include <stdio.h>

int a[200], totnum, totcnt;
double totpiz;

void readdat()
{
FILE *fp;
fp = fopen("in.dat", "r");
totnum = 0;
while(!feof(fp))
{
fscanf(fp, "%d", &a[totnum++];
}
}

void calvalue()
{
int sum = 0;
for(int i = 0, totcnt = 0; i < totnum; i++)
{
if(a[i] & 1) totcnt++;
sum += a[i];
}

totpjz = (double)sum / (double)totnum;

}

void writedat()
{
printf("%d %d %d\n", totnum, totcnt, totpjz);
}

int main()
{
readdat();
calvalue();
writedat();
return 0;
}
haoyuenan 2005-05-31
  • 打赏
  • 举报
回复
这个比较简单,你最好自己看看书,试着编一下,就用fstream类进行操作就能达到要求!

33,319

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧