前提・実現したいこと
「各月の平均気温をCSVファイル形式で出力するプログラムを作成」という課題についてです
年月日 最高気温(℃) 最低気温(℃)
2018/1/1 10.5 0.3
2018/1/2 10.6 0.9
2018/1/3 6.8 -2.6
2018/1/4 8 -3.8
2018/1/5 4.4 -1.2
2018/1/6 8.8 -0.1
2018/1/7 9 -1.7
2018/1/8 8.5 0
2018/1/9 10.3 0.4
・
・
・
という内容のCSVファイル(365日まである)を読み取り,これらの要素を2次元配列に格納して,さらにそれを基に各月の平均気温を新しいCSVファイル形式で出力. という問題です.
該当のソースコード
C++言語です
<ソースコード>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define BUFFSIZE 1024
#define DAYS 365
#define NUMDATA 2
int main(void)
{
FILE* fp;
char s[BUFFSIZE];
errno_t error;
error = fopen_s(&fp, ".csv", "r");
if (error != 0)
fprintf_s(stderr, "failed to open");
else {
while (fgets(s, BUFFSIZE, fp) != NULL) {
fprintf_s(stdout, "%s", s);
}
fclose(fp);
}
error = fopen_s(&fp, "testOut.txt", "w");
if (error != 0)
fprintf_s(stderr, "failed to open");
else {
fputs("hogehoge\n", fp);
fputs("foofoo\n", fp);
fputs("barbar\n", fp);
fclose(fp);
}
}
試したこと
はずかしながら,ファイルを読み込んで,簡単な文字列をテキストファイルに出力する,という試作的なことしかできていません.
補足情報(FW/ツールのバージョンなど)
開発環境はvisual studio2019です
CVSファイルを読み込
み配列に格納する関数を作成するとよい,と書かれていました
//void CSV2Array(const char *fieeame, doubie data[DAYS][eUMDATA]);
//• 2次元配列日数×最低・最高気温 doubie data[365][2];
//• 文字列から浮動小数点数に変換する関数 doubie tmp = atof(“1.25”);
回答1件
あなたの回答
tips
プレビュー