I fixet some yours suggestions, now menu isn't always here (expect first time), you must call him on (6), and checking error is here, if you press unacceptable number you will be returned on the start of main().
Code:
// Calculating application
// by: Miljan Sucur
#include <iostream>
using namespace std;
//Function for girth
//using 2 integers and return girth
int obim(int x, int y)
{
return ((2*x)+(2*y));
}
//Function for area
int povrsina(int x, int y)
{
return(x*y);
}
//Function for Main menu
void menu()
{
cout << "\n******** M E N U ********";
cout << "\nGIRTH\t\t\t(1)\nAREA\t\t\t(2)\nNEW DIMENSIONS\t\t(3)";
cout << "\nDRAW SHAPE\t\t(4)\nCURRENT DIMENSIONS\t(5)";
cout << "\nMENU\t\t\t(6)\nEXIT\t\t\t(0)\n";
}
//Class for dimensions
class broj
{
public:
broj();
~broj();
int getDuzina();
int getSirina();
void setDuzina(int &sDuzina);
void setSirina(int &sSirina);
private:
int Duzina;
int Sirina;
};
//Constructor make default dimensions to 4 and 6
broj::broj()
{
Duzina = 4;
Sirina = 6;
}
broj::~broj()
{}
//Set lenght
void broj::setDuzina(int &sDuzina)
{
Duzina = sDuzina;
}
//Set width
void broj::setSirina(int &sSirina)
{
Sirina = sSirina;
}
//Return values
int broj::getDuzina()
{
return Duzina;
}
int broj::getSirina()
{
return Sirina;
}
//Main function
int main()
{
cout<<"##### ##### ##### # # ##### ##### ##### # #\n";
cout<<"# # # # ## ## # # # # # #\n";
cout<<"# ## ##### # # # ## # ##### # ##### #####\n";
cout<<"# # # # # # # # # ### #\n";
cout<<"##### ##### ##### # # ##### # # ## ##### CALCULATOR\n\n";
broj kocka;
int n,d,s;
int a,b;
n = 0;
int &mNumber = n;
menu();
while (n < 7)
{
a = kocka.getDuzina();
b = kocka.getSirina();
cout << "\nChoose: ";
cin >> n;
if (n == 0)
{cout << "\nEXITING!\n\n\n";
break;}
switch (n)
case 1:
{
cout << "\n************************************\nGirth of shape:";
cout << " " << obim(a,b)<< "\n************************************\n";
break;
case 2:
cout << "\n************************************\nArea of shape:";
cout << " " << povrsina(a,b)<<"\n************************************\n";
break;
case 3:
cout << "\nInput new size for lenght: ";
cin >> d;
cout << "Input new size for width: ";
cin >> s;
kocka.setDuzina(d);
kocka.setSirina(s);
break;
case 4:
cout << "\n";
int i,j;
for (i=0;i<a;i++)
{
for (j=0;j<b;j++)
cout << "* ";
cout << "\n";}
break;
case 5:
cout << "\nCurrent dimensions: ";
cout << "\n************************************\nLenght= " << a;
cout <<"\nWidth= " << b << "\n************************************\n";
break;
case 6:
menu();
break;
case 0:
break;
default:
cout << "\n********************************************************\n";
cout << "Wrong solution, please try again (call menu, press (6))\n";
cout << "********************************************************\n\n";
return main();
}}
system("PAUSE");
}