## C++ program to find the average of three numbers:

In this post, we will learn how to find the *average* of three numbers in C++. Our program will take the numbers as inputs from the user and print the *average* of these numbers.

We will solve it in *two* different ways: without using any function and by using a function.

You will learn how to take user-inputs, how to do mathematical calculations and how to print result in *C++*.

### Algorithm to use:

We need to find the *average* of three numbers. The average of three numbers is:

`sum/3`

So, the program will have to follow the following steps to find the average:

- Take the numbers as inputs from the user
- Find the sum of these numbers
- Divide the sum by
*3*to find the average - Print the average

### C++ program to find the average of three numbers without using a function:

Let’s try it in a simple way first. We will write a program that will take the numbers as inputs and print the *average* of these numbers.

```
#include <iostream>
using namespace std;
int main()
{
float first, second, third, sum, avg;
cout << "Enter the first number: " << endl;
cin >> first;
cout << "Enter the second number: " << endl;
cin >> second;
cout << "Enter the third number: " << endl;
cin >> third;
sum = first + second + third;
avg = sum / 3;
cout << "Average value: " << avg << endl;
return 0;
}
```

Here,

*first*,*second*and*third*are three floating point variables to hold the numbers.*sum*is to hold the sum of these variables and*avg*is to hold the average value.- By using
*cout*and*cin*, it asks the user to enter the numbers, reads them and stores them in the variables we defined above. - The sum of these numbers is calculated and stored in
*sum*. - The average is calculated by dividing the sum by
*3*. This value is stored in*avg*. - The last line is printing the average value it calculated.

If you run this program, it will print output as like below:

```
Enter the first number:
12.5
Enter the second number:
22.45
Enter the third number:
55.67
Average value: 30.2067
Enter the first number:
10
Enter the second number:
20
Enter the third number:
30
Average value: 20
```

### C++ program to find the average of three numbers by using a separate function:

We can also use a separate function to find the *average* of three numbers. The main program will call this function, it will return the final result and the main program will print the result.

Let’s take a look at the program that uses a *function*:

```
#include <iostream>
using namespace std;
float findAverage(float x, float y, float z)
{
return (x + y + z) / 3;
}
int main()
{
float first, second, third;
cout << "Enter the first number: " << endl;
cin >> first;
cout << "Enter the second number: " << endl;
cin >> second;
cout << "Enter the third number: " << endl;
cin >> third;
cout << "Average value: " << findAverage(first, second, third) << endl;
return 0;
}
```

This is almost similar to the above program. We are taking the numbers as inputs and storing them in *first*, *second* and *third* float variables.

But, we have created a different method to find the *average*. It is *findAverage*. This method takes the numbers as arguments and returns the *average* value.

If you run this program, it will give similar output:

```
Enter the first number:
12
Enter the second number:
13
Enter the third number:
14
Average value: 13
```

The advantage of using a separate function or method is that you can call it from anywhere you want. If you have a lot of classes in your program, you can call the exact same method from all of these files. If you want to make change to the function, you can do it at one place i.e. inside the function and it will reflact on all other places.

Let me show you how to use a class to do it.

### C++ program to find the average value of three numbers by using a class:

We can also use a separate class to find the average. For example:

```
#include <iostream>
using namespace std;
class Calculator
{
public:
float findAverage(float x, float y, float z)
{
return (x + y + z) / 3;
}
};
int main()
{
float first, second, third;
Calculator c;
cout << "Enter the first number: " << endl;
cin >> first;
cout << "Enter the second number: " << endl;
cin >> second;
cout << "Enter the third number: " << endl;
cin >> third;
cout << "Average value: " << c.findAverage(first, second, third) << endl;
return 0;
}
```

This program uses a separate class *Calculator* that has one method *findAverage* to find the average of three numbers.

We are calling this method of this class from the *main* method.

It will give similar output.

You can also move everything to a class method. The class method will read the values, find the average and print the result.

```
#include <iostream>
using namespace std;
class Calculator
{
public:
void findAverage()
{
float first, second, third;
cout << "Enter the first number: " << endl;
cin >> first;
cout << "Enter the second number: " << endl;
cin >> second;
cout << "Enter the third number: " << endl;
cin >> third;
cout << "Average value: " << (first + second + third) / 3 << endl;
}
};
int main()
{
Calculator c;
c.findAverage();
return 0;
}
```

So, I moved the code inside the *findAverage* method. Inside main, I am creating an object of the *Calculator* class and calling this method using that object.

It will give similar results.

### You might also like:

- How to use logical OR operator,|| operator in C++
- C++ fill_n() function explanation with example
- C++ iswlower() method explanation with example
- C++ iswupper() method explanation with example
- C++ program to convert miles to kilometers and kilometers to miles
- C++ program to sort strings alphabetically
- C++ program to addition, subtraction, multiplication and division using a class
- C++ program to print the characters of a string using pointer