Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Problem sa petljom c++

[es] :: C/C++ programiranje :: Problem sa petljom c++

[ Pregleda: 919 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Ozzy80
BGD,Srbija

Član broj: 277326
Poruke: 27
178.79.39.*



+1 Profil

icon Problem sa petljom c++23.12.2012. u 21:45 - pre 137 meseci
Imam jedan problem sa ovim sledecim kodom. Naime kad mu se ukuca kao komandu 1 prvi put sve odradi al kad se kuca drugi put isto 1 onda on uopste ne koristi ovaj drugi deo da ucita zadatak nego napse samo "Unesite zadatak:" i onda odma prebaci da nije tacan posto mu nesto ne da da procita unos sa tastature te on procita kao da nista nisam uneo i samim tim ode na else granu. Kad se unese 2 i 3 ma posle kog puta super radi. Drugi problem je kad se god nesto unese sto nije broj unese on se zabaguje tj pocne ovo do scanf-a da ispisuje nebrojeno mnogo puta. Ako bi mi neko mogao da ispravi kod bio bih mu veoma zahvalan :)



Kod
Code:

int main()

 
 char c;
  
  while(1){
           
  c=0;                
  std::cout << "1    Ispisi rec        " << "\n";
  std::cout << "2    Brisanje ekrana   " << "\n";
  std::cout << "--------------------------------------"<< "\n";
  std::cout << "3    Izlaz              "<< "\n\n";
  
  std::cout << "\nUnesite vas izbor: "<< "";
  std::cout << "%d",&c;
  
  switch(c){
  case 1:
       {
        std::cout << "\n--------------------------------------"<< "\n";
        std::cout << "\nUbacite vas zadatak tako da koristite: \nZa sile - \nZa skup vektora >" << "\n\n";
        std::cout << "Nakon sto zavrsite pritisnite enter da bi ste overili \na zatim ctrl+z i onda pritisnite ponovo enter " << "\n\n";
        std::cout << "--------------------------------------"<< "\n\n";
        std::cout << "Unesite zadatak: " << "\n";
            
        std::string input(std::istream_iterator<std::string::value_type>(std::cin),
                         std::istream_iterator<std::string::value_type>());
                    
        Parser parser(input); 
        
          std::cout << std::boolalpha;
          if(parser.primer1())
              std::cout << "Zadatak je tacan    " << "\n";
          else if(parser.primer2())
              std::cout << "Zadatak je tacan    " << "\n";
          else if(parser.primer3())
              std::cout << "Zadatak je tacan    " << "\n";
          else{
              std::cout << "\nZadatak nije tacan\n" << "\n";
              std::cout << "<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>"<< "\n\n\n\n";
              }
        break; 
        }
  case 2:{
       system("cls");
       break;
       }
  case 3:
        exit(0);
        
  default :{
       std::cout << "Uneli ste nepostojecu komandu, probajte ponovo: \n\n\n"<< "\n";
       break;
       }    
  }
}
  return 0;
}

EDIT: CODE tagovi

[Ovu poruku je menjao X Files dana 24.12.2012. u 08:30 GMT+1]
 
Odgovor na temu

Lukic111
Marko Lukic
Beograd,Srbija

Član broj: 259787
Poruke: 51
*.dynamic.isp.telekom.rs.



+8 Profil

icon Re: Problem sa petljom c++23.12.2012. u 22:03 - pre 137 meseci
Ne vladam bas preterano sa c++ ali:

1. Zasto ti je promenjiva c char mislim da je pametnije da bude int.
2.u mesto std::cout << "%d",&c; koristi cin>>c;
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
*.3gnet.mts.telekom.rs.



+2790 Profil

icon Re: Problem sa petljom c++24.12.2012. u 06:26 - pre 137 meseci
Pomoću "cout <<" se ispisuje, a učitava se pomoću "cin >>".

Drugo, ako već učitavaš znak, a ne broj, onda slučajevi u switch naredbi ne treba da budu 1, 2 i 3, nego '1', '2' i '3'. Imaj na umu da je npr. '1'==49.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

[es] :: C/C++ programiranje :: Problem sa petljom c++

[ Pregleda: 919 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.