それで、プログラムにファイルを読み取らせて、晴れ、曇り、雨の日の数を出力させようとしています。0 を出力し続けるだけです。何が欠けていますか? ファイルを .dat から .txt に変更しようとしましたが、結果は同じです。データファイルの内容は次のとおりです。
RRCSSSCSCCRRRCSSSCSSRSCCRCRRCSSSSSCCSSSCCSSSCCSSSCRCRCCSSSSSSSSSSCSSSCSSSCRRCCCSSSSSCSSSSCS
#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>
using namespace std;
int main()
{
const int MONTH = 3;
const int DAY = 30;
char name[MONTH][DAY] = {"June", "July", "August"};
char rain = 'R';
char sun = 'S';
char cloud = 'C';
char letter;
int day = 0;
int count = 0;
int rainy = 0;
int cloudy = 0;
int sunny = 0;
ifstream inputFile;
cout << " Weather for Summer Months\n";
cout << "--------------------\n\n";
inputFile.open("C:\rainorshine.dat");
if (inputFile)
{
cout << "Error opening data file.\n";
system("pause");
}
else
{ cout << "Weather Report\n\n";
while (inputFile >> letter)
{
cout << letter << endl; // print out characters read from file
}
for (count = 0; count < MONTH; count++)
{
for (day = 0; day < DAY; day++)
{
cout << name[count][day];
inputFile >> name[count][day];
if (name[count][day] == 'R')
rainy++;
else if (name[count][day] == 'S')
sunny++;
else if (name[count][day] == 'C')
cloudy++;
}
cout << endl;
cout << " Sunny Days Total: " << rainy << endl;
cout << " Rainy Days Total: " << sunny << endl;
cout << " Cloudy Days Total: " << cloudy << endl << endl;
}
system("pause");
return 0;
inputFile.close();
}
}