Gå til innhold

cin i en FOR setning


Anbefalte innlegg

Jeg prøver å lære litt C++ kan en del Perl, men ikke noen proff.

 

Men når jeg prøver å lage et consol program der jeg har en "while" setning med cin inni, så gjør den det første gang og så hopper den over resten. Den couter men ikke cin'er.

 

while (Usermaksantalldager >= Tempdager) {

cout << endl << "Hva heter dag nummer " << Tempdager << ": ";

cin >> Dager[Tempdager];

Tempdager++;

}

Lenke til kommentar
Videoannonse
Annonse

Ser jo ikke hele koden her, men et par ting du kan sjekke:

 

- initialiserer du verdiene dine ?

- Hva er typen til Dager ( og forsåvidt de andre (prøver du å lese en streng er ikke det helt trivielt for en nybegynner i c++, en integer verdi skal være grei) ) ?

 

Tipper helst det er ved punkt 2 problemet ligger...

Lenke til kommentar

Med mindre du har en veldig god grunn til å la være anbefaler jeg å benytte seg av Standard C++ Library:

 

#include <iostream>
#include <vector>
#include <string>

using namespace std;

// Lager en vector (et slags "sikkert" array som kan utvides / trekkes sammen)
// som heter Dager, med 7 string-elementer
vector<string> Dager(7);

// ...

while (Usermaksantalldager >= Tempdager) {
   cout << endl << "Hva heter dag nummer " << Tempdager << ": ";
   cin >> Dager[Tempdager];
   Tempdager++;
}

 

 

Vær oppmerksom på at en vector teller som vanlige arrays i C++: Fra 0 til størrelsen-1

Lenke til kommentar

Jeg sier ikke at det nødvendigvis er noe galt med C-funksjoner som printf etc., så vidt jeg vet er den typiske C-implementasjonen av IO raskere enn C++ streams (mye pga. automatisk formattering i streams vil jeg tro). Men i dette tilfellet ser jeg ikke poenget.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...