ďťż

Ładny brzuch

Witam!
Mam tu kawalek kodu programu:
cout << "-----------------------------------------------------------------------------\n\n" ;     cout << "Wybierz typ figury\n \n";     cout << "1.Kwadrat\n";     cout << "2.Prostokat\n";     cout << "3.Trojkat\n";     cout << "4.Trapez\n";     cout << "5.Rownoleglobok\n";     cout << "6.Kolo\n";     float a = 0;         cout << "\nCo wybierasz?(1,2,3,4,5...)\n" << endl;     cin >> a;       if (a == 1)     {           float c;         int aa;                 cout << "Wybrales(as) kwadrat\n" << endl;         cout << "Jakie obliczenie chcesz wykonac?\n \n" << endl;         cout << "1.Pole \n2.Obwod \n3.Przekatna, znajac dlugosc boku \n4.Przekatna, znajac pole" << endl;         cout << "5.Pole, znajac dlugosc przekatnej\n6.Bok, znajac dlugosc przekatnej\n" << endl;         cout << "\n Co wybierasz?\n" << endl;         cin >> aa;                 if (aa == 1)         {         cout << "\n!Wybrales(as) obliczanie pola!" << endl;         cout << "\nPodaj dlugosc boku kwadratu\n" << endl;         cin >> c;         cout << "\n ------------------------------------------------------------\n" << endl;         cout << "\n!!!Pole kwadratu wynosi:!!!" << c * c << "\n \n" << endl;         wroc();         }                 else if(aa == 2)         {         cout << "\n!Wybrales(as) obliczanie obwodu!" << endl;         cout << "\nPodaj dlugosc boku kwadratu\n" << endl;         cin >> c;         cout << "\n ------------------------------------------------------------\n" << endl;         cout << "\n!!!Obwod kwadratu wynosi:!!!" << c * 4 << "\n \n";         }         }
No i mam też problem(normalne :D ):
Jeżeli nacisnę np.1,2,3,4,5 to wszystko dobrze, ale jak wpiszę np. - , albo jakąś liczbę to program zaczyna wywoływać ekran początkowy cały czas i trza od nowa uruchamiać.
Czy jest jakiś sposób w C++sie by zablokować wpisywanie liter i znaków niealfanumerycznych, tak by wpisywały sie tylko cyfry?

Z góry dziękuje.



możesz dodać taki warunek
if((a==1) % (a==2) % (a==3) % (a==4) % (a==5) % (a==6)) {
tutaj są te instrukcje które mają się normalnie działać}
else cout<<"musisz wpisać 1,2,3,4,5,6";

a pewnie da się blokować ale ja nie umiem

Ja proponuję:
... instrukcja ... if (a == 1)    {          float c;        int aa;              cout << "Wybrales(as) kwadrat\n" << endl;        cout << "Jakie obliczenie chcesz wykonac?\n \n" << endl;        cout << "1.Pole \n2.Obwod \n3.Przekatna, znajac dlugosc boku \n4.Przekatna, znajac pole" << endl;        cout << "5.Pole, znajac dlugosc przekatnej\n6.Bok, znajac dlugosc przekatnej\n" << endl;        cout << "\n Co wybierasz?\n" << endl;        cin >> aa;              if (aa == 1)        {        cout << "\n!Wybrales(as) obliczanie pola!" << endl;        cout << "\nPodaj dlugosc boku kwadratu\n" << endl;        cin >> c;        cout << "\n ------------------------------------------------------------\n" << endl;        cout << "\n!!!Pole kwadratu wynosi:!!!" << c * c << "\n \n" << endl;        wroc();        }                else if(aa == 2)        {        cout << "\n!Wybrales(as) obliczanie obwodu!" << endl;        cout << "\nPodaj dlugosc boku kwadratu\n" << endl;        cin >> c;        cout << "\n ------------------------------------------------------------\n" << endl;        cout << "\n!!!Obwod kwadratu wynosi:!!!" << c * 4 << "\n \n";        } else {        cout << "\nWprowadziłeś błędną liczbę" << endl; }   ... instrukcja ...

Dzięki depresz!
Twój sposób jest bardzo dobry!



Heh, nie rozumiem w jaki sposób może to zablokować wpisanie liter; o ile jeszcze inną liczbę ścierpi, to jak wpiszesz znak nienumeryczny, to program się zapętli.

Rozwiązanie na ten drugi problem podałem w ostatnim poście tematu pod adresem: http://forum.ks-eksp...showtopic=41326 ;).

[Zakładam, że tym postem wnoszę coś do tematu :)]
Pozdrawiam.

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •