The intructor has not taught pointers yet. Is the only way to use arrays and functions the way I am using them WITHOUT pointers Global Variables?
#include <iostream>
#include <cstring>
#include <conio.h>
#include <cmath>
/*
Write a program that reads in the average monthly rainfall for a city for each
month of the year and then reads in the actual monthly rainfall for each of the
previous 12 months. The program then prints out a nicely formatted table show-
ing the rainfall for each of the previous 12 months as well as how much above or
below average the rainfall was for each month. The average monthly rainfall is
given for the months January, February, and so forth, in order. To obtain the
actual rainfall for the previous 12 months, the program first asks what the cur-
rent month is and then asks for the rainfall figures for the previous 12 months.
The output should correctly label the months.
There are a variety of ways to deal with the month names. One straightforward
method is to code the months as integers and then do a conversion before doing
the output. A large switch statement is acceptable in an output function. The
month input can be handled in any manner you wish, as long as it is relatively
easy and pleasant for the user.
After you have completed the above program, produce an enhanced version that
also outputs a graph showing the average rainfall and the actual rainfall for each
of the previous 12 months. The graph should be similar to the one shown in
Display 5.4, except that there should be two bar graphs for each month and they
should be labeled as the average rainfall and the rainfall for the most recent
month. Your program should ask the user whether she or he wants to see the
table or the bar graph, and then should display whichever format is requested.
Include a loop that allows the user to see either format as often as the user wishes
until the user requests that the program end..
*/
using namespace std;
int actualRain(int current);
int difCalc();
int chart();
int graph();
int actual[12];
int average[12];
const char months[][12] = {"January","February","March","April","May","June","July","August","September","October","November","December",'\0'};
int main()
{
int choice;
int i = 0;
int current=13;
do
{
cout << "What Month is it (enter the number of the month Example: 1. Jan Dec. 12) \n";
cin >> current;
}
while (current > 12);
//this is where it loops to enter average
cout<<"ENTER AVERAGE RAINFALL \n";
cout<< " FOR EACH MONTH";
cout << endl;
for(int i=0; i<12; i++)
{
cout << months[i]<<" : ";
cin >> average[i];
}
actualRain(current);
//this is where we call the function for actual
cout << "press 1 for table press 2 for graph, any other charecter to exit \n";
do
{
cin >> choice;
if (choice == 1)
chart();
else if (choice == 2)
graph();
else
cout << "ending program \n";
}
while (choice < 3);
getch();
return 0;
}
int actualRain(int current)
{
cout<<"ENTER TOTAL RAINFALL \n";
cout<< " FOR EACH MONTH \n";
for(int i=(current-1); i>=1; i--)
{
cout<<months[i]<<" : ";
cin >> actual[i];
}
for(int j=11; j>=current; j--)
{
cout << months[j]<<" : ";
cin >> actual[j];
}
return 0;
}
int difCalc()
{
int transfer;
int transferAbs;
int rainDifferance[12];
for(int i=0; i<12; i++)
{
transfer = (average[i] - actual[i]);
transferAbs=abs(transfer);
rainDifferance[i]= transferAbs;
}
}
int chart()
{
int transfer;
int transferAbs;
int rainDifferance[12];
for(int i=0; i<12; i++)
{
transfer = (average[i] - actual[i]);
transferAbs=abs(transfer);
rainDifferance[i]= transferAbs;
cout << months[i]<<" : ";
cout << actual[i] << " Difference : ";
cout << rainDifferance[i] << endl;
}
}
int graph()
{
}

New Topic/Question
Reply



MultiQuote









|