Mala pomoc oko return-a

Mala pomoc oko return-a

offline
  • Pridružio: 08 Avg 2011
  • Poruke: 59

Poz svima, ucim c++ i tako vezbajuci sam malo zapeo. Problem mi je sto ne znam da napravim da mi program nakon unetog pogresnog karaktera ili sl. vrati na pocetak npr: Program ispise- Uneli ste pogresni karakter, pokusajte ponovo!- i onda program vrati opet na pocetak da unese karakter.

ja sam probao sa return main mada nije mi uspelo. pls help



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Kolega, treba ti petlja u ovom slucaju, npr:

char x = 'A';    while(x != 'q')    {       std::cout << "Unesite karakter ili \'q\' da zavrsite: ";       std::cin >> x;       if(x == 'Q')          break; //prekida petlju       if(x != jedan od karaktera koji zelis)       {          std::cout << "Uneli ste pogresni karakter, pokusajte ponovo!" << std::endl;          continue; // vraca na pocetak petlje       }    }



offline
  • Pridružio: 08 Avg 2011
  • Poruke: 59



btw koristim linux preko virtual box-a pa sam stavio sliku... pa ako mozes ti mi samo reci gde bi trebalo u ovom slucaju da bude, i ako moze jos jedno pitanje... kako da u programu bude zabranjeno da se unose slova, a dozvoljeno samo brojevi?

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

#include <iostream> #include <limits> #include <cmath> int main() {    double visina, tezina, BMI;    char odabir;    std::cout << "*************** BMI KALKULATOR ***************" << std::endl;    for(;;)    {       std::cout << "Za pokretanje kalkulatora pritisnite taster \'p\'" << std::endl;       std::cin >> odabir;       if(1 != std::cin.rdbuf()->in_avail())       {          std::cout << "Niste uneli validan karakter za pokretanje, pokusajte ponovo!" << std::endl;          std::cin.clear();          std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n');          continue;       }       if('p' == odabir)       {          while(1)          {             std::cout << "Unesite vasu visinu: ";             std::cin >> visina;             if(1 != std::cin.rdbuf()->in_avail())             {                std::cin.clear();                std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n');                std::cout << "Uneli ste pogresan input, probajte ponovo!" << std::endl;                continue;             }             break;          }          while(1)          {             std::cout << "Unesite vasu tezinu: ";             std::cin >> tezina;             if(1 != std::cin.rdbuf()->in_avail())             {                std::cin.clear();                std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n');                std::cout << "Uneli ste pogresan input, probajte ponovo!" << std::endl;                continue;             }             break;          }          BMI = visina * 703 / std::pow(tezina, 2.0);          std::cout.precision(2);          std::cout << "Tvoj BMI je " << std::fixed << BMI << std::endl;          break;       }       else       {          std::cout << "Niste uneli validan karakter za pokretanje, pokusajte ponovo!" << std::endl;          std::cin.clear();          std::cin.ignore(std::numeric_limits< std::streamsize >::max(), '\n');          continue;       }    }    std::cin.get();    std::cin.ignore();    return 0; }

offline
  • Pridružio: 08 Avg 2011
  • Poruke: 59

Izbacuje mi neke error-e sveo sam na minimum ali sutra cu lepo da proverim opet.. hvala u svakom slucaju druze

Ko je trenutno na forumu
 

Ukupno su 535 korisnika na forumu :: 2 registrovanih, 2 sakrivenih i 531 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3028 - dana 22 Nov 2019 07:47

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: acacrni, YU-UKI