Ann*_*vng 0 c++ arrays loops file
所以,我正在尝试让程序读取文件并打印出晴天,阴天和下雨天的数量.它只是保持打印0.我缺少什么?我试图将文件从.dat更改为.txt但仍然是相同的结果.这是数据文件中的内容:
RRCSSSCSCRRRCSCSCSSRSCCRCRRCSS 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();
}
}
Run Code Online (Sandbox Code Playgroud)
这个:
while (inputFile >> letter)
{
cout << letter << endl; // print out characters read from file
}
Run Code Online (Sandbox Code Playgroud)
通过所有字母,当它完成时,你就在文件的末尾.因此,当您尝试在for循环中再次读取数据时,没有什么可读的.