29. december 2002 - 11:25Der er
24 kommentarer og 1 løsning
cin.get
Nedenstående er et forsøg på at få brugeren til at indtaste sit navn. Problemet er at, hvis brugeren trykker <RETURN>, så kører do while løkken uendeligt. Er der nogen der kan løse det, eller komme med et forslag til noget anden end cin.get, som kan løse mit problem.
do { cin.get(navn,25); if (strlen(navn)==0) { cout << "Du skal skrive noget!" << endl; } } while (strlen(navn)==0);
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Hmm, det giver problemer at bruge cin.get sammen med en std::string. Oprindeligt var navn bare et char array, og der virkede det fint, lige med undtagelse af at brugeren ikke måtte trykke <RETURN>.
Jeg har lige fået et nyt problem. Hvis brugeren trykker <RETURN>, så køres while løkken igen, men stopper ikke ved cin.get og kører derfor uendeligt :-( Grunden til jeg troede det virkede er nok at jeg havde cin.ignore foran cin.get.
Jeg har også copy/pastet det ind i et testprogram og det virker ikke. Hvis man trykker <RETURN>, så skrives "INDTAST NAVN: " uendeligt mange gange til skærmen.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.