the_c Skrevet 25. oktober 2005 Skrevet 25. oktober 2005 Hei. Problemet er at jeg skal lese inn for- og etternavn vha av cin (i ei og samme cin-setning), før lengden av for- og etternavnet skal skrives ut. Prøvde: string navn; cout << "Skriv in fornavn og etternavn: " << endl; cin >> navn; //Videre hadde jeg tenkt å bruke int totalLengde = navn.length(); //Totale lengden på strengen //Før int posisjon = navn.find(" ",0); //skulle gi meg posisjonem til mellomrommet. //Med den totale lengden av hele strengen, samt mellomrommet's posisjon kunne jeg enkelt finne lengden av fornavnet og etternavnet. //MEN,- //int totalLengde = navn.length() //Finner bare fornavnets lengde //EKS //Hvis jeg skriver inn "Ole Hansen", blir totalLengde = 3, //og videre beregning umulig Noen forslag?
Peter Skrevet 25. oktober 2005 Skrevet 25. oktober 2005 cin << navn; leser bare inn første ordet. Bruk getline(cout, navn); for å lese inn hele navnet (en helt setning) std::string::find() returnerer std::string::size_type, eller size_t hvis jeg ikke tar helt feil. Du vil få en warning om "possible loss" samme gjelder std::string::length()
abcd423417984 Skrevet 25. oktober 2005 Skrevet 25. oktober 2005 (endret) En annen løsning er noe ala dette; string fornavn, etternavn; char dummy; cin >> fornavn >> dummy >> etternavn; Endret 25. oktober 2005 av invictus
the_c Skrevet 25. oktober 2005 Forfatter Skrevet 25. oktober 2005 Takker for svarene. Brukte getline,- funker som bare det.
eigan Skrevet 7. november 2005 Skrevet 7. november 2005 Jeg har problemer med stringen... selv om jeg skriver inn #include<string.h> eller <string> går det bare ikke. Noen forslag?
eigan Skrevet 7. november 2005 Skrevet 7. november 2005 Hva er det som ikke går? Kodesnutt? 5117513[/snapback] Det står "string undeclared.
Peter Skrevet 7. november 2005 Skrevet 7. november 2005 (endret) #include <iostream> #include <string> using namespace std; int main() { string navn; cin >> navn; cout << navn.length(); return 0; } eller #include <iostream> #include <string> int main() { std::string navn; cin >> navn; cout << navn.length(); return 0; } (med forbehold om skrivefeil) EDIT: fant en allerede. Endret 7. november 2005 av Nazgul
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å