所以,我试图让程序读取一个文件并打印出晴天、阴天和雨天的数量。它只是一直打印 0。我错过了什么?我尝试将文件从 .dat 更改为 .txt,但结果仍然相同。这是数据文件中的内容:
RRCSSSCSCRRRCSSSCSSRSCCRCRRCSS SSSCCSSSCCSSSCCSSSCRCRCCSSSSSS SSSSCSSSCSSSCRRCCCSSSSSCSSSSCS
#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();
}
}