My program won't calculate the average.

So my teacher gave us this assignment today and he wants us to use functions to be able to pass values through. I thought that I had everything correct ,but when I run my program the average always comes up as 0. If somebody could please help me that would be great. Thanks guys :)
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');
}
Lines 37 - 41. You need to call your average height function AFTER you've received input from the user of the heights of the five people. You're calling it before your get input from the user and with uninitialized variables which means the function is calculating an average of garbage of random data left in memory.
closed account (48T7M4Gy)
try moving line 37 down to be after line 39
Thanks a ton kemort and keene! Something so simple that just slips through the cracks.
Topic archived. No new replies allowed.