» »

problem v c++

problem v c++

__jack__ ::

Prilepil sem del kode ki sem jo uporabil pri eni nalogi.
Kje je problem, da program 2x zahteva, da vnesem D, če pa vnesem d pa samo 1x??


v mainu
 if((vnosChar()!='d')&&(vnosChar()!='D'))  // ce odgovori ne, koncaj zanko
             {
                                                break;
             }

v funkciji
char vnosChar ()    // Funkcija vnosChar
{       
    char odg;
    cin >> odg;
    return odg;               // preberi vnos in vrni eno crko
}
  • spremenil: Mavrik ()

redo ::

Zato ker če je (v izrazu znotraj if stavka, operator &&) prvi operand false, potem bo cela operacija && false in se po drugem operandu ni potrebno spraševati (in se v C kot tudi v C++ zaradi optimizacije ne).
Če pa je prvi operand true (se pravi, je funkcija vrnila nekaj drugega kot 'd'), potem se izvede drugi operand, ki še enkrat pokliče funkcijo vnosChar. Če ta vrne 'D', potem je cel izraz false, sicer (tudi če vrne 'd') se izvede break stavek.

Ti verjetno hočeš:
char c=vnosChar();
if( c!='d' && c!='D' ) break;

__jack__ ::

Hvala, zdaj razumem


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Kalkulator

Oddelek: Programiranje
111295 (1062) lebdim
»

[Java] While zanka

Oddelek: Programiranje
262314 (1897) kunigunda
»

Nemorem rešit ene naloge z c++ (sem začetnik) (strani: 1 2 )

Oddelek: Programiranje
6810305 (6043) technolog
»

[C/C++] in folder list

Oddelek: Programiranje
5825 (768) shock
»

[C] čuden izpis iz txt dat. na zaslon

Oddelek: Programiranje
121652 (1389) l0g1t3ch

Več podobnih tem