Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- using namespace std;
- const int rows = 3;
- const int cols = 5;
- void err(int);
- void mega(int[rows][cols], double&, double&, double&);
- int main()
- {
- cout << "\t\t\t<<< Monkey Food Tracker >>>\n";
- char again = 'y';
- while (again == 'y' || again == 'Y'){
- int megaRay[rows][cols], meat = 0;
- //Input Block
- for (int r = 0; r < rows; r++){
- cout << "\n\t\t\t ## Monkey " << r + 1 << " Food Eaten ##\n";
- for (int c = 0; c < cols; c++){
- cout << "Day " << c + 1 << ": ";
- cin >> meat;
- //check meat input for letters and negatives
- while (cin.fail() || meat < 1){
- err(meat);
- cout << "Day " << c + 1 << ": ";
- cin >> meat;
- }
- megaRay[r][c] = meat; //assign meat to array position
- }
- }
- double avgm = 0, least = 0, greatest = 0;
- mega(megaRay, avgm, least, greatest);
- cout << "\nAverage amount of food eaten: " << avgm << endl
- << "The least amount of food eaten: " << least << endl
- << "The greatest amount of food eaten: " << greatest << endl;
- cout << "\n\t\tEnter y or Y to go again: ";
- cin >> again;
- }
- }
- void err(int meatIn){ //fix letter or negative number
- if (cin.fail())
- cout << "\t\t/!\\ Not a number /!\\\n";
- else if (meatIn < 1)
- cout << "\t\t/!\\ Negative number /!\\\n";
- cin.clear();
- fflush(stdin);
- }
- void mega(int mRay[rows][cols], double& avgOut, double& min, double& max){ //number of days is scalable
- double m1 = 0, m2 = 0, m3 = 0;
- for (int i = 0; i < rows; i++){
- if (i == 0){
- for (int j = 0; j < cols; j++)
- m1 += mRay[i][j];
- }
- else if (i == 1){
- for (int k = 0; k < cols; k++)
- m2 += mRay[i][k];
- }
- else if (i == 2){
- for (int l = 0; l < cols; l++)
- m3 += mRay[i][l];
- }
- }
- avgOut = (m1 + m2 + m3) / (cols * 3);
- //min
- if (m1 < m2 && m1 < m3)
- min = m1;
- else if (m2 < m1 && m2 < m3)
- min = m2;
- else if (m3 < m1 && m3 < m2)
- min = m3;
- //max
- if (m1 > m2 && m1 > m3)
- max = m1;
- else if (m2 > m1 && m2 > m3)
- max = m2;
- else if (m3 > m1 && m3 > m2)
- max = m3;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement