954,157 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Rain or shine help!

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

cassie_sanford
Junior Poster in Training
57 posts since Oct 2008
Reputation Points: 11
Solved Threads: 0
 

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.

VernonDozier
Posting Expert
5,527 posts since Jan 2008
Reputation Points: 2,633
Solved Threads: 711
 

#include
#include

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][0]++;
}

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


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

}

}

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....

de-de
Newbie Poster
6 posts since Apr 2009
Reputation Points: 10
Solved Threads: 0
 

.
.
.
.
.

mini programmer
Junior Poster in Training
51 posts since Dec 2008
Reputation Points: 10
Solved Threads: 0
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You