Witam, mam problem z zabezpieczeniem przed wpisywaniem liter. Mianowicie, nie wiem jak to robić dla kilku zmiennych, oraz gdzie tego użyć (jeśli użyje w konkretnym case, nic się nie wyświetla)
Kawałek kodu:
using namespace std;
int nwd (int a, int b)
{
int r;
while (b>0)
{
r=a%b;
a=b;
b=r;
}
return a;
}
int nww (int a, int b)
{
return a*b/nwd(a,b);
}
int wynik (int a, int b)
{
return a*b;
}
int main(int argc, char *argv[])
{
cout<<"Program wykonuje podstawowe dzialania arytmetyczne na ulamkach zwyklych:\n\n";
int a,b,c,d,l,m,k;
int x=0;
menu:
{
cout<<"MENU"<<endl;
cout<<"1.Dodawanie liczb"<<endl;
cout<<"2.Odejmowanie liczb"<<endl;
cout<<"3.Mnożenie liczb"<<endl;
cout<<"4.Dzielenie liczb"<<endl;
cout<<"5.Wyjscie z programu."<<endl;
cout<<"Wybierz: ";
cin>>x;
system("cls");
}
switch (x)
{
case 1:
cout<<"DODAWANIE"<<endl;
cout<<"Podaj licznik pierwszego ulamka: ";
cin>>a;
cout<<"Podaj mianownik pierwszego ulamka: ";
cin>>b;
cout<<"Podaj licznik drugiego ulamka: ";
cin>>c;
cout<<"Podaj mianownik drugiego ulamka: ";
cin>>d;
{
int w;
cout<<"SUMA"<<endl;
l=a*d+c*b;
m=b*d;
w=nwd(l,m);
l/=w;
m/=w;
if(l==m)
cout<<"Wynik: "<<1<<endl<<endl;
else
{
if(l>m)
{
cout<<"Czesc calkowita: "<<l/m<<endl;
cout<<"Licznik po skroceniu: "<<l%m<<endl;
cout<<"Mianownik po skroceniu: "<<m<<endl<<endl;
}
else
{
cout<<"Licznik po skroceniu: "<<l<<endl;
cout<<"Mianownik po skroceniu: "<<m<<endl<<endl;
}
}
}
cout<<"0 - powrot do menu, 1 - zamkniecie programu"<<endl;
cout<<"Wybor: ";
cin>>k;
switch (k)
{
case 0:
system("cls");
goto menu;
case 1:
return(0);
}
break;