#include <iostream>
using namespace std;
class Math
{
//private data numbers
private:
int num1;
int num2;
int num3;
int num4;
int num5;
public:
// constructor protoype
Math(int first, int second, int third, int fourth, int fifth);
//member function prototypes
int Largest();
int Smallest();
int Total();
float Average();
};
// constructor definition
Math::Math(int first, int second, int third, int fourth, int fifth)
{
//assign values to all numbers
num1 = first;
num2 = second;
num3 = third;
num4 = fourth;
num5 = fifth;
}//Math
//member function definitions
// Largest function
int Math::Largest()
{
//compare all numbers to find the largest
int answer = num1;
if(num2 > answer)
{
answer = num2;
}//if
if(num3 > answer)
{
answer = num3;
}//if
if(num4 > answer)
{
answer = num4;
}//if
if(num5 > answer)
{
answer = num5;
}//if
return answer;
}//Largest
// Smallest function
int Math::Smallest()
{
//compare all numbers to find the smallest
int answer = num1;
if(num2 < answer)
{
answer = num2;
}//if
if(num3 < answer)
{
answer = num3;
}//if
if(num4 < answer)
{
answer = num4;
}//if
if(num5 < answer)
{
answer = num5;
}//if
return answer;
}//Smallest
// Total function
int Math::Total()
{
int total;
//find the total of all the numbers
total = num1 + num2 + num3 + num4 + num5;
return total;
}//Total
// Average function
float Math::Average()
{
float average;
//find the Average of all the numbers
average = Total() / 5.0;
return average;
}//Average
// test main
int main()
{
Math obj(10, 20, 30, 5, 15);
cout << "Largest: " << obj.Largest() << endl;
cout << "Smallest: " << obj.Smallest() << endl;
cout << "Total: " << obj.Total() << endl;
cout << "Average: " << obj.Average() << endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKY2xhc3MgTWF0aAp7CgkvL3ByaXZhdGUgZGF0YSBudW1iZXJzCnByaXZhdGU6CiAgICBpbnQgbnVtMTsKICAgIGludCBudW0yOwogICAgaW50IG51bTM7CiAgICBpbnQgbnVtNDsKICAgIGludCBudW01OwoKcHVibGljOgogICAgLy8gY29uc3RydWN0b3IgcHJvdG95cGUKICAgIE1hdGgoaW50IGZpcnN0LCBpbnQgc2Vjb25kLCBpbnQgdGhpcmQsIGludCBmb3VydGgsIGludCBmaWZ0aCk7CgoJLy9tZW1iZXIgZnVuY3Rpb24gcHJvdG90eXBlcwogICAgaW50IExhcmdlc3QoKTsKICAgIGludCBTbWFsbGVzdCgpOwogICAgaW50IFRvdGFsKCk7CiAgICBmbG9hdCBBdmVyYWdlKCk7Cn07CgovLyBjb25zdHJ1Y3RvciBkZWZpbml0aW9uCk1hdGg6Ok1hdGgoaW50IGZpcnN0LCBpbnQgc2Vjb25kLCBpbnQgdGhpcmQsIGludCBmb3VydGgsIGludCBmaWZ0aCkKewoJLy9hc3NpZ24gdmFsdWVzIHRvIGFsbCBudW1iZXJzCiAgICBudW0xID0gZmlyc3Q7CiAgICBudW0yID0gc2Vjb25kOwogICAgbnVtMyA9IHRoaXJkOwogICAgbnVtNCA9IGZvdXJ0aDsKICAgIG51bTUgPSBmaWZ0aDsKfS8vTWF0aAoKLy9tZW1iZXIgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCi8vIExhcmdlc3QgZnVuY3Rpb24KaW50IE1hdGg6Okxhcmdlc3QoKQp7CgkvL2NvbXBhcmUgYWxsIG51bWJlcnMgdG8gZmluZCB0aGUgbGFyZ2VzdAogICAgaW50IGFuc3dlciA9IG51bTE7CgogICAgaWYobnVtMiA+IGFuc3dlcikKICAgIHsKICAgIAlhbnN3ZXIgPSBudW0yOwogICAgfS8vaWYKICAgIAogICAgaWYobnVtMyA+IGFuc3dlcikKICAgIHsKICAgIAlhbnN3ZXIgPSBudW0zOwogICAgfS8vaWYKICAgIAogICAgaWYobnVtNCA+IGFuc3dlcikKICAgIHsKICAgIAlhbnN3ZXIgPSBudW00OwogICAgfS8vaWYKICAgIAogICAgaWYobnVtNSA+IGFuc3dlcikKICAgIHsKICAgIAlhbnN3ZXIgPSBudW01OwogICAgfS8vaWYKCiAgICByZXR1cm4gYW5zd2VyOwp9Ly9MYXJnZXN0CgovLyBTbWFsbGVzdCBmdW5jdGlvbgppbnQgTWF0aDo6U21hbGxlc3QoKQp7CgkvL2NvbXBhcmUgYWxsIG51bWJlcnMgdG8gZmluZCB0aGUgc21hbGxlc3QKICAgIGludCBhbnN3ZXIgPSBudW0xOwoKICAgIGlmKG51bTIgPCBhbnN3ZXIpCiAgICB7CiAgICAJYW5zd2VyID0gbnVtMjsKICAgIH0vL2lmCiAgICAKICAgIGlmKG51bTMgPCBhbnN3ZXIpCiAgICB7CiAgICAJYW5zd2VyID0gbnVtMzsKICAgIH0vL2lmCiAgICAKICAgIGlmKG51bTQgPCBhbnN3ZXIpCiAgICB7CiAgICAJYW5zd2VyID0gbnVtNDsKICAgIH0vL2lmCiAgICAKICAgIGlmKG51bTUgPCBhbnN3ZXIpCiAgICB7CiAgICAJYW5zd2VyID0gbnVtNTsKICAgIH0vL2lmCgogICAgcmV0dXJuIGFuc3dlcjsKfS8vU21hbGxlc3QKCi8vIFRvdGFsIGZ1bmN0aW9uCmludCBNYXRoOjpUb3RhbCgpCnsKCWludCB0b3RhbDsKCQoJLy9maW5kIHRoZSB0b3RhbCBvZiBhbGwgdGhlIG51bWJlcnMKICAgIHRvdGFsID0gbnVtMSArIG51bTIgKyBudW0zICsgbnVtNCArIG51bTU7CiAgICByZXR1cm4gdG90YWw7Cn0vL1RvdGFsCgovLyBBdmVyYWdlIGZ1bmN0aW9uCmZsb2F0IE1hdGg6OkF2ZXJhZ2UoKQp7CglmbG9hdCBhdmVyYWdlOwoJCgkvL2ZpbmQgdGhlIEF2ZXJhZ2Ugb2YgYWxsIHRoZSBudW1iZXJzCiAgICBhdmVyYWdlID0gVG90YWwoKSAvIDUuMDsKICAgIHJldHVybiBhdmVyYWdlOwp9Ly9BdmVyYWdlCgovLyB0ZXN0IG1haW4KaW50IG1haW4oKQp7CiAgICBNYXRoIG9iaigxMCwgMjAsIDMwLCA1LCAxNSk7CgogICAgY291dCA8PCAiTGFyZ2VzdDogIiA8PCBvYmouTGFyZ2VzdCgpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJTbWFsbGVzdDogIiA8PCBvYmouU21hbGxlc3QoKSA8PCBlbmRsOwogICAgY291dCA8PCAiVG90YWw6ICIgPDwgb2JqLlRvdGFsKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgIkF2ZXJhZ2U6ICIgPDwgb2JqLkF2ZXJhZ2UoKSA8PCBlbmRsOwoKICAgIHJldHVybiAwOwp9