Wie ktoś, czemu po wybraniu innego przycisku niż strzałki w wybieranym menu w tym programie przestaje on działać? Specjalnie stworzyłem pętlę aby temu zapobiec
#include <iostream>
#include <conio.h>
#include <cstdlib>
#include <math.h>
#include <iomanip>
using namespace std;
int menu ( int typ, int liczb1 );
int podawanie ( int liczbanr, int liczb1, int dzialanie );
int main()
{
cout << setprecision ( 3 );
int m;
float liczba1, liczba2, wynik;
for ( ; ; )
{
m = menu ( 1, 0 );
if ( m == 2 )
{
exit ( 0 );
}
liczba1 = podawanie ( 1, 0, 0 );
m = menu ( 2, liczba1 );
if ( m == 5 )
{
exit ( 0 );
}
liczba2 = podawanie ( 2, liczba1, m );
cout << "Aby kontynuowac, nacisnij enter." << endl << endl << "Dzialanie: " << liczba1;
switch ( m )
{
case 1:
cout << " + ";
wynik = liczba1 + liczba2;
break;
case 2:
cout << " - ";
wynik = liczba1 - liczba2;
break;
case 3:
cout << " x ";
wynik = liczba1 * liczba2;
break;
case 4:
cout << " : ";
wynik = liczba1 / liczba2;
break;
}
cout << liczba2 << " = " << wynik << endl;
while ( m != 13 )
{
m = getch ();
}
}
}
int menu ( int typ, int liczb1 )
{
int wybor, m = 1, a, b;
for ( a = 1; a == 1; )
{
system ( "cls" );
if ( typ == 1 )
{
cout << "Aby wybrac, nacisnij enter." << endl << endl << "Co chcesz zrobic:" << endl << endl;
switch ( m )
{
case 1:
cout << " > Wykonaj dzialanie" << endl << "Wyjdz z programu" << endl;
break;
case 2:
cout << "Wykonaj dzialanie" << endl << " > Wyjdz z programu" << endl;
break;
}
}
if ( typ == 2 )
{
cout << "Aby wybrac, nacisnij enter." << endl << endl << "Dzialanie: " << liczb1 << endl << endl << "Co chcesz zrobic:" << endl << endl;
switch ( m )
{
case 1:
cout << " > Dodaj do podanej liczby" << endl << "Odejmij od podanej liczby" << endl << "Pomnoz podana liczbe" << endl << "Podziel podana liczbe" << endl << "Wyjdz z programu" << endl;;
break;
case 2:
cout << "Dodaj do podanej liczby" << endl << " > Odejmij od podanej liczby" << endl << "Pomnoz podana liczbe" << endl << "Podziel podana liczbe" << endl << "Wyjdz z programu" << endl;;
break;
case 3:
cout << "Dodaj do podanej liczby" << endl << "Odejmij od podanej liczby" << endl << " > Pomnoz podana liczbe" << endl << "Podziel podana liczbe" << endl << "Wyjdz z programu" << endl;;
break;
case 4:
cout << "Dodaj do podanej liczby" << endl << "Odejmij od podanej liczby" << endl << "Pomnoz podana liczbe" << endl << " > Podziel podana liczbe" << endl << "Wyjdz z programu" << endl;;
break;
case 5:
cout << "Dodaj do podanej liczby" << endl << "Odejmij od podanej liczby" << endl << "Pomnoz podana liczbe" << endl << "Podziel podana liczbe" << endl << " > Wyjdz z programu" << endl;;
break;
}
}
wybor = getch ();
for ( b = 1; b == 1; )
{
switch ( wybor )
{
case 224:
wybor = getch ();
switch ( wybor )
{
case 72:
b = 2;
m -= 1;
break;
case 80:
b = 2;
m += 1;
break;
}
break;
case 'w':
b = 2;
m -= 1;
break;
case 's':
b = 2;
m += 1;
break;
case '1':
b = 2;
m = 1;
break;
case '2':
b = 2;
m = 2;
break;
case '3':
b = 2;
m = 3;
break;
case '4':
b = 2;
m = 4;
break;
case '5':
b = 2;
m = 5;
break;
case '6':
b = 2;
m = 6;
break;
case '7':
b = 2;
m = 7;
break;
case '8':
b = 2;
m = 8;
break;
case '9':
b = 2;
m = 9;
break;
case '0':
b = 2;
m = 10;
break;
case 13:
a = 2;
b = 2;
break;
}
}
if ( typ == 1 )
{
if ( m > 2)
{
m = 1;
}
if ( m < 1)
{
m = 2;
}
}
if ( typ == 2 )
{
if ( m > 5)
{
m = 1;
}
if ( m < 1)
{
m = 5;
}
}
}
return m;
}
int podawanie ( int liczbanr, int liczb1, int dzialanie )
{
int liczba [ 6 ], dlugosc = 0, i, a, b, liczbak = 0;
char znak;
for ( a = 1; a == 1; )
{
system ( "cls" );
if ( liczbanr == 1 )
{
cout << "Aby kontynuowac, nacisnij enter." << endl << endl << "Dzialanie: ";
}
else
{
cout << "Aby kontynuowac, nacisnij enter." << endl << endl << "Dzialanie: " << liczb1;
switch ( dzialanie )
{
case 1:
cout << " + ";
break;
case 2:
cout << " - ";
break;
case 3:
cout << " x ";
break;
case 4:
cout << " : ";
break;
}
}
for ( i = 0; i < dlugosc; i ++ )
{
cout << liczba [ i ];
}
if ( dlugosc < 6 )
{
znak = getch ();
for ( b = 1; b == 1; )
{
switch ( znak )
{
case '0':
liczba [ dlugosc ] = 0;
dlugosc ++;
b = 2;
break;
case '1':
liczba [ dlugosc ] = 1;
dlugosc ++;
b = 2;
break;
case '2':
liczba [ dlugosc ] = 2;
dlugosc ++;
b = 2;
break;
case '3':
liczba [ dlugosc ] = 3;
dlugosc ++;
b = 2;
break;
case '4':
liczba [ dlugosc ] = 4;
dlugosc ++;
b = 2;
break;
case '5':
liczba [ dlugosc ] = 5;
dlugosc ++;
b = 2;
break;
case '6':
liczba [ dlugosc ] = 6;
dlugosc ++;
b = 2;
break;
case '7':
liczba [ dlugosc ] = 7;
dlugosc ++;
b = 2;
break;
case '8':
liczba [ dlugosc ] = 8;
dlugosc ++;
b = 2;
break;
case '9':
liczba [ dlugosc ] = 9;
dlugosc ++;
b = 2;
break;
case 13:
a = 2;
b = 2;
break;
}
}
}
else
{
a = 2;
}
}
for ( i = 0; i < dlugosc; i ++ )
{
liczbak += liczba [ i ] * pow ( 10, dlugosc - ( i + 1 ) );
}
system ( "cls" );
return liczbak;
}