I am supposed to be working on this problem that stores info in a 2x20 array of characters where the row indicates the month and the column indicates teh day. We have to read in from a file and then create a report that displays for each month and for the whole 2 month period..how many days were rainy, cloudy, and sunny. It also has to report which month had the largest num of rainy days...here's what i have so far:

``````#include <iostream>
#include <fstream>

using namespace std;

int main()
{
const int NUM_ROWS = 3;
const int NUM_COLS = 30;
double forecast[NUM_ROWS][NUM_COLS];
double rainyDays = 0;
int rows, cols;
ifstream datafile;

datafile.open("RainOrShine.dat");
if (!datafile)
cout << "Error opening data file.\n";
else
{
cout << "Three-Month Analysis\n\n";

for(cols = 0; cols < NUM_COLS; cols++)
{
for(rows = 0; rows < NUM_ROWS; rows++)
{
}
}
}``````

can someone please help me to go in the right direction? I really appreciate it

## Recommended Answers

I am supposed to be working on this problem that stores info in a 2x20 array of characters where the row indicates the month and the column indicates teh day. We have to read in from a file and then create a report that displays for each month and …

## All 3 Replies

I am supposed to be working on this problem that stores info in a 2x20 array of characters where the row indicates the month and the column indicates teh day. We have to read in from a file and then create a report that displays for each month and for the whole 2 month period..how many days were rainy, cloudy, and sunny. It also has to report which month had the largest num of rainy days...here's what i have so far:

``````#include <iostream>
#include <fstream>

using namespace std;

int main()
{
const int NUM_ROWS = 3;
const int NUM_COLS = 30;
double forecast[NUM_ROWS][NUM_COLS];
double rainyDays = 0;
int rows, cols;
ifstream datafile;

datafile.open("RainOrShine.dat");
if (!datafile)
cout << "Error opening data file.\n";
else
{
cout << "Three-Month Analysis\n\n";

for(cols = 0; cols < NUM_COLS; cols++)
{
for(rows = 0; rows < NUM_ROWS; rows++)
{
}
}
}``````

can someone please help me to go in the right direction? I really appreciate it

Your opening a file, but never reading from it. I assume you want to read in the data here:

``````{
cout << "Three-Month Analysis\n\n";

for(cols = 0; cols < NUM_COLS; cols++)
{
for(rows = 0; rows < NUM_ROWS; rows++)
{
// read in data?
}
}
}``````

HOW to read in the data will depend on how the input file is set up.

commented: Perhaps they wanted you to guess the mystery format of the input file, and finish the code for them ;) +29
``````#include <iostream>
#include <fstream>

using namespace std;

int main()
{
const int NUM_MONTHS = 3;
const int NUM_DAYS = 30;
const int NUM_TYPES= 3;
char forecast[NUM_MONTHS][NUM_DAYS];
int counts [NUM_MONTHS][NUM_TYPES];
int rainyDays = 0;

ifstream datafile;

datafile.open("RainOrShine.txt");
if (!datafile)
cout << "Error opening data file.\n";
else
{

// Read data and load arrary

for(int month = 0; month < NUM_MONTHS; month++)
{
for(int day = 0; day < NUM_DAYS; day++)

{
datafile >> forecast[month][day];

}
datafile.ignore();
}

for(int month = 0; month < NUM_MONTHS; month++)
{
for(int day = 0; day < NUM_DAYS; day++)

{
cout << forecast[month][day] << '\t';

}
cout << endl;
}

// intialize counts arrarys to 0

for(int month = 0; month < NUM_MONTHS; month++)
{
for(int type = 0; type < NUM_TYPES; type++)

{
counts[month][type] =0;

}

}

// count all data

for(int month = 0; month < NUM_MONTHS; month++)
{
for(int day = 0; day < NUM_DAYS; day++)
{

if(forecast [month][day] =='R')
{
counts[month]++;
}

if(forecast [month][day] =='S')
{
counts[month]++;
}

if(forecast [month][day] =='C')
{
counts[month]++;
}

}

}

for(int month = 0; month < NUM_MONTHS; month++)
{
for(int type = 0; type < NUM_TYPES; type++)

{
cout << counts[month][type] << '\t';

}
cout << endl;
}

// Determine month with largest number of rainy days

// output report

cout << "Three-Month Analysis\n\n";

}

system("pause");
return 0;

}
``````

This is what I have so far....

.
.
.
.
.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.20 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.