Forum huvudsida -> Programmering -> Inmantning dynamisk vektorstruktur, hur?
Sidor: 1
Just1ce | 20:17 - 24:e Juli 2007 | Post #1 | |
Medlem Inlägg: 15 Skicka PM |
När jag skriver in namnet på den första bilen hoppar programmet över resten av inmatningen. Blir även problem vid utmatning. ------------------------- Ingen signatur! Senast redigerad 21:26 - 24:e Juli 2007 |
Nissebosselasse | 21:58 - 24:e Juli 2007 | Post #2 | |
Medlem Inlägg: 490 Skicka PM |
Använd std::getline istället för cin.get. cin.get hämtar endast ett tecken. Du använder vektorn fel: Bil->namn[count], när det är Bil[count].namn som du vill använda. Det är ju Bil som du har gjort flera instanser av (rad 14). for-looparna: tänk på att listor är noll-indexerade (dvs de börjar på noll, inte ett). Därför är: for(int count = 0; count <= katalogisera; count++) ...fel, eftersom du ska kolla om count är mindre än katalogisera (count < katalogisera). Du ska gå från noll till antal-1. Här är en reviderad version. Notera att jag även lagt till #include <string>, eftersom du använder den klassen.
För att inte inmatningen ska hoppa över någonting, la jag till cin.ignore (läs mer om det här: http://www.blinkenlights.se/forum/topic7/page1/ - bläddra ner till C++ FAQ). Dessutom har jag tagit bort using namespace std, vilket är en ful ovana! Det tar inte så fruktansvärt lång tid att skriva std:: framför. ------------------------- http://pushingcows.se Gula Nallen |
Just1ce | 13:35 - 25:e Juli 2007 | Post #3 | |
Medlem Inlägg: 15 Skicka PM |
Tack för hjälpen. Funkar nu. Slarvfel att använda <= istället för < och att glömma tömma inmatningsbuffert. Hade för mig att cin.get() funkade med stringar/vektorer också. Varför bör jag använda std:: instället för using namespace std? Vad är det för skillnad på struct->member och struct.member? ------------------------- Ingen signatur! |
Nissebosselasse | 17:26 - 26:e Juli 2007 | Post #4 | |
Medlem Inlägg: 490 Skicka PM |
Using namespace std, läs mer här: http://www.parashift.com/c++-faq-lite/coding-standards.html#faq-27.5 Först megakort om pekare:
Operatorn -> finns till för att man ska slippa använda asterisken (*) för att få fram det som pekaren pekar på. Tänk dig att du i en funktion vill ändra värdet hos ett objekt. Du skickar då med adressen till funktionen, exempel:
Vår changeWheels-funktion måste nu avreferensera pcar för att få fram vilket objekt det är i minnet som vi pekar på. Vi kan göra detta på två sätt: antingen med pilen (->), eller med asterisken (*):
Det är även fullt möjligt att använda indexering, även om pekaren bara pekar på ett objekt (läs stycket här nere så förstår du förhoppningsvis):
En vektor (array) är egentligen en pekare. När du använder ett index så avreferenserar du det som ligger n-antal objekt från det första i vektorn. Här följer ett kanske rörigt exempel:
------------------------- http://pushingcows.se Gula Nallen |
Sidor: 1
Forum huvudsida -> Programmering -> Inmantning dynamisk vektorstruktur, hur?
Du får inte posta i den här tråden | Till toppen
Datum
2024-04-20 09:47
Vecka: 16
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.