CogBliZ Skrevet 21. februar 2008 Skrevet 21. februar 2008 (endret) #include <cstdlib> #include <iostream> using namespace std; int main() { string myName = "William"; while (true) { cout << "Skriv inn navnet ditt (Eller 'stopp' for å avslutte): "; string userName = getline(); if (userName == "Espen") { cout << "Hei, Espen! Velkommen tilbake!" << endl << endl; } else if (userName == "stopp") { cout << endl; break; } else if (userName != myName) { cout << "Hallo, " << userName << endl << endl; } else { cout << "Oja, det er bare deg " << myName << endl << endl; } } system("PAUSE"); return 0; } Jeg får den feilen som står i topic, og er veldig usikker på hva jeg må gjøre for å få den til å funke.. noen som har noen gode råd? Endret 21. februar 2008 av CogBliZ
ToMmM Skrevet 21. februar 2008 Skrevet 21. februar 2008 (endret) Endret bare litt på noen småting. Det er mye lettere å bruke cin enn getline i dette tilfellet. #include <iostream> #include <string> using namespace std; int main() { string myName = "William"; string userName; while (true) { cout << "Skriv inn navnet ditt (Eller 'stopp' for å avslutte): "; cin >> userName; if (userName == "Espen") { cout << "Hei, Espen! Velkommen tilbake!" << endl << endl; } else if (userName == "stopp") { cout << endl; break; } else if (userName != myName) { cout << "Hallo, " << userName << endl << endl; } else { cout << "Oja, det er bare deg " << myName << endl << endl; } } system("PAUSE"); return 0; } Endret 21. februar 2008 av ToMmM
CogBliZ Skrevet 21. februar 2008 Forfatter Skrevet 21. februar 2008 Ja i dette tilfellet er det det, men jeg har en oppgave på skolen som sier eg skal bruke strings, og denne koden var bare et eksempel.. jeg vil egentlig bare vite hva den feilmeldingen betyr.. hvordan kan jeg få string commands som getline(), find() osv til å funke?
Mr.Garibaldi Skrevet 21. februar 2008 Skrevet 21. februar 2008 C++ reference is your friend... getline() må brukes i sammenheng med en stream, så du kan ikke kalle den direkte slik du gjør. Du må enten kalle innstream.getline(buffer, MAX_LENGDE) eller getline(cin, enString). Ut ifra hva du sier virker det som du trenger å bruke siste måte.
ToMmM Skrevet 21. februar 2008 Skrevet 21. februar 2008 (endret) Hentet dette fra en av powerpoint presentasjonene i faget Programmering i C++, som jeg har nå, håper det hjelper. Dersom man ønsker å lese inn hele setninger kan man bruke getline() funksjonen, slik: string setning1; getline(cin, setning1, '\n'); Man kan finne/søke etter enkelt-tegn i tekststrengen slik: string s1 = "dette er en test!"; //pos blir her 2, 0 indikerer start int pos = s1.find('t', 0); cout << pos << endl; På samme måte kan vi søke etter en del-streng: string s1 = "dette er en test!"; int pos; //pos blir her 6, 0 indikerer start pos = s1.find("er", 0); cout << pos << endl; Endret 21. februar 2008 av ToMmM
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå