Rabbid Skrevet 22. august 2006 Del Skrevet 22. august 2006 (endret) #include <iostream> using namespace std; int main(void){ //Kortstokken int kort = 52; string kortstokk[kort]; //Valgt kort string valgtkort; //Blir brukt i loop int i; //Hjerter kortstokk[1] = "Hjerter Ess"; kortstokk[2] = "Hjerter 2"; kortstokk[3] = "Hjerter 3"; kortstokk[4] = "Hjerter 4"; kortstokk[5] = "Hjerter 5"; kortstokk[6] = "Hjerter 6"; kortstokk[7] = "Hjerter 7"; kortstokk[8] = "Hjerter 8"; kortstokk[9] = "Hjerter 9"; kortstokk[10] = "Hjerter 10"; kortstokk[11] = "Hjerter Knekt"; kortstokk[12] = "Hjerter Dronning"; kortstokk[13] = "Hjerter Konge"; //Spar kortstokk[14] = "Spar Ess"; kortstokk[15] = "Spar 2"; kortstokk[16] = "Spar 3"; kortstokk[17] = "Spar 4"; kortstokk[18] = "Spar 5"; kortstokk[19] = "Spar 6"; kortstokk[20] = "Spar 7"; kortstokk[21] = "Spar 8"; kortstokk[22] = "Spar 9"; kortstokk[23] = "Spar 10"; kortstokk[24] = "Spar Knekt"; kortstokk[25] = "Spar Dronning"; kortstokk[26] = "Spar Konge"; //Ruter kortstokk[27] = "Ruter Ess"; kortstokk[28] = "Ruter 2"; kortstokk[29] = "Ruter 3"; kortstokk[30] = "Ruter 4"; kortstokk[31] = "Ruter 5"; kortstokk[32] = "Ruter 6"; kortstokk[33] = "Ruter 7"; kortstokk[34] = "Ruter 8"; kortstokk[35] = "Ruter 9"; kortstokk[36] = "Ruter 10"; kortstokk[37] = "Ruter Knekt"; kortstokk[38] = "Ruter Dronning"; kortstokk[39] = "Ruter Konge"; //Kløver kortstokk[40] = "Kløver Ess"; kortstokk[41] = "Kløver 2"; kortstokk[42] = "Kløver 3"; kortstokk[43] = "Kløver 4"; kortstokk[44] = "Kløver 5"; kortstokk[45] = "Kløver 6"; kortstokk[46] = "Kløver 7"; kortstokk[47] = "Kløver 8"; kortstokk[48] = "Kløver 9"; kortstokk[49] = "Kløver 10"; kortstokk[50] = "Kløver Knekt"; kortstokk[51] = "Kløver Dronning"; kortstokk[52] = "Kløver Konge"; std::cout << "Velg kortet programmet skal lete etter:" << std::endl; std::cin >> valgtkort; i = 1; while(kort >= i){ if(kortstokk[i] == valgtkort){ std::cout << std::endl << "Kortet er funnet!" << std::endl << std::endl << "Kortet var nummer " << i << " i bunken!" << std::endl; system("PAUSE"); }else{ i++; } } std::cout << std::endl << "Kortet ble ikke funnet" << std::endl; system("PAUSE"); } Uansett hvilket kort jeg skriver inn sier den at den at kortet ikke finnes.... Noen som vet hvorfor? Endret 22. august 2006 av -XaHc- Lenke til kommentar
................... Skrevet 22. august 2006 Del Skrevet 22. august 2006 (endret) ... Endret 10. juli 2010 av ................... Lenke til kommentar
Rabbid Skrevet 22. august 2006 Forfatter Del Skrevet 22. august 2006 Har ikke sett over hele koden. Men først så må du jo inkludere string-headeren. 6723881[/snapback] Ingen forskjell.. Lenke til kommentar
................... Skrevet 22. august 2006 Del Skrevet 22. august 2006 (endret) ... Endret 10. juli 2010 av ................... Lenke til kommentar
................... Skrevet 22. august 2006 Del Skrevet 22. august 2006 (endret) .. Endret 10. juli 2010 av ................... Lenke til kommentar
Rabbid Skrevet 22. august 2006 Forfatter Del Skrevet 22. august 2006 Logger på MSN, så jeg jeg hjelpe deg der // Var visst ikke pålogget 6723893[/snapback] Er på MSN nå.... Noen andre som kanskje vet hvorfor? Kompileringen går greit, så det dreier seg om en logisk feil. Lenke til kommentar
lnostdal Skrevet 22. august 2006 Del Skrevet 22. august 2006 Arrayer i C (og mer eller mindre alle andre språk) starter fra 0, så du skal gjøre `int kort = 52;' og gå fra kortstokk[0] til kortstokk[51]. Siden du bruker C++ bør du her bruke f.eks. std::list http://cppreference.com/cpplist/index.html Når du leser inn navnet på kortet den skal lete etter må du bruke `getline', slik: getline(cin, valgtkort); Når du bruker C++ og skal lete etter ting i konteinere som f.eks. std::list bruker du std::find http://cppreference.com/cppalgorithm/find.html Lenke til kommentar
Rabbid Skrevet 22. august 2006 Forfatter Del Skrevet 22. august 2006 Arrayer i C (og mer eller mindre alle andre språk) starter fra 0, så du skal gjøre `int kort = 52;' og gå fra kortstokk[0] til kortstokk[51]. Siden du bruker C++ bør du her bruke f.eks. std::list http://cppreference.com/cpplist/index.html Når du leser inn navnet på kortet den skal lete etter må du bruke `getline', slik: getline(cin, valgtkort); Når du bruker C++ og skal lete etter ting i konteinere som f.eks. std::list bruker du std::find http://cppreference.com/cppalgorithm/find.html 6723988[/snapback] Fant det ut etterhvert, men det var ikke det som var hovedfeilen.. cin henter jo bare ett ord om gangen, og siden alle kortene hadde navn som bestod av to ord gikk det ikke Lenke til kommentar
Peter Skrevet 22. august 2006 Del Skrevet 22. august 2006 Les hva han skriver da: getline(cin, valgkort); Her leses en hel linje inn i valgkort, ikke bare ett ord. Lenke til kommentar
Rabbid Skrevet 22. august 2006 Forfatter Del Skrevet 22. august 2006 Les hva han skriver da: getline(cin, valgkort); Her leses en hel linje inn i valgkort, ikke bare ett ord. 6724288[/snapback] Ja det er jo slik jeg vil ha det. -- Leste ikke hele innlegget til lnostdal, så jeg så ikke hva han sa om getline, men fikk hjelp med den delen så det gjør ingenting Lenke til kommentar
lnostdal Skrevet 22. august 2006 Del Skrevet 22. august 2006 Leste ikke hele innlegget til lnostdal, 6724380[/snapback] haha, nei - det er det visst sjelden folk gidder neida; jeg bare troller/kjeder meg Lenke til kommentar
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å