1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
|
#include<iostream>
#include<string>
using namespace std;
// function prototypes
void pause(void);
void flush(void);
void runEverything(void);
void askForNames(string &nameOne, string &nameTwo, string &nameThree, string &nameFour, string &nameFive);
void askForHeightInInches(int &heightOne, int &heightTwo, int &heightThree, int &heightFour, int &heightFive);
void printTable();
void outputAverageHeight(float averageHeight);
float calculateAverageHeight(int a, int b, int c, int d, int e);
string getString(string prompt);
int getNonNegativeInt(string prompt);
int main(void)
{
try
{
runEverything();
}
catch (int exceptionalValue)
{
return exceptionalValue;
}
pause();
return 0;
}
void runEverything(void)
{
string a, b, c, d, e;
int f, g, h, i, j;
float averageHeight = calculateAverageHeight(f, g, h, i, j);
askForNames(a ,b, c, d, e);
askForHeightInInches(f, g, h, i, j);
printTable();
outputAverageHeight(averageHeight);
}
void askForNames(string &nameOne, string &nameTwo, string &nameThree, string &nameFour, string &nameFive )
{
nameOne = getString("Please enter one name: ");
nameTwo = getString("Please enter another name: ");
nameThree = getString("Please enter another name: ");
nameFour = getString("Please enter another name: ");
nameFive = getString("Please enter one last name: ");
}
void askForHeightInInches(int &heightOne, int &heightTwo, int &heightThree, int &heightFour, int &heightFive)
{
heightOne = getNonNegativeInt("Please enter a height in inches for first name: ");
heightTwo = getNonNegativeInt("Please enter a height in inches for second name: ");
heightThree = getNonNegativeInt("Please enter a height in inches for third name: ");
heightFour = getNonNegativeInt("Please enter a height in inches for fourth name: ");
heightFive = getNonNegativeInt("Please enter a height in inches for fifth name: ");
}
void printTable()
{
}
void outputAverageHeight(float averageHeight)
{
cout << "The average height is " << averageHeight << endl;
}
float calculateAverageHeight(int f, int g, int h, int i, int j)
{
float sum = f + g + h + i + j;
return sum / 5;
}
int getNonNegativeInt(string prompt)
{
cout << prompt;
int userInput;
cin >> userInput;
flush();
if (cin.fail())
{
cin.clear();
flush();
cout << "Go home!" << endl;
pause();
throw 1;
}
if (userInput <= 0)
{
cout << "You have failed me..." << endl;
pause();
}
return userInput;
}
string getString(string prompt)
{
cout << prompt;
string userInput;
cin >> userInput;
flush();
if (cin.fail())
{
cin.clear();
flush();
cout << "Go home!" << endl;
pause();
throw 1;
}
return userInput;
}
void pause(void)
{
cout << "Press Enter to continue...";
cin.ignore(999,'\n');
}
void flush(void)
{
cin.ignore(999,'\n');
}
|