 
		 
			 
			
			
			 
			 
			
			
			Jahoor, vrijwel alles kan in een vector. Uit mijn hoofd is alleen een (non-throwing) copy constructor vereist.quote:Op zondag 26 augustus 2012 13:32 schreef thenxero het volgende:
Oh okay, vector in vector kan ik wel proberen (wist niet dat dat kon).
Het probleem wat ik nog heb is dat je met getline een string krijgt die de hele regel bevat. Ik weet wel dat ik met string_naam[x] toegang krijg tot element x, maar hoe scheidt ik het best alle integers?
Had je problemen met de istringstream methode? Volgens mij vraag je namelijk naar bovenstaande, maar misschien was ik onduidelijk of snap ik je vraag niet.quote:Op zondag 26 augustus 2012 12:06 schreef GS42 het volgende:
[..]
Het bestand per regel inlezen met getline (díe getline, er is ook een andere). Per regel stop je dan de string die je hebt gelezen in een std::istringstream. Uit de stringstream kan je daarna getallen halen met operator>>.
 
			 
			
			
			Ja klopt, ik weet niet hoe dat werkt. Een korte voorbeeldcode zou wel fijn zijn.quote:Op zondag 26 augustus 2012 13:40 schreef GS42 het volgende:
[..]
Had je problemen met de istringstream methode? Volgens mij vraag je namelijk naar bovenstaande, maar misschien was ik onduidelijk of snap ik je vraag niet.
 
			 
			
			
			Nou, okay dan.quote:Op zondag 26 augustus 2012 13:46 schreef thenxero het volgende:
[..]
Ja klopt, ik weet niet hoe dat werkt. Een korte voorbeeldcode zou wel fijn zijn.

| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #include <iostream> #include <string> // for std::string, std::getline #include <fstream> // for std::ifstream #include <sstream> // for std::istringstream int main() { // open file std::ifstream file("input.txt"); // read file per line std::string line; while (std::getline(file, line)) { // now [line] contains a line from input.txt // create istringstream filled with [line] std::istringstream iss(line); // extract all numbers from [iss] unsigned temp; while (iss >> temp) std::cout << temp << ' '; std::cout << '\n'; } } | 
 
			 
			
			
			 
			 
			
			
			In de OP (hebben jullie 'em al wat uitgebreid?) staat onder andere een link naar de C++ Annotations. Volgens mij is deze pagina wel nuttig. Het is geen simpele pagina, maar dan heb je wel gelijk het volledige overzicht.quote:Op zondag 26 augustus 2012 14:07 schreef thenxero het volgende:
Bedankt! Weet je misschien een site waar dit allemaal helder uitgelegd wordt? Er zijn zoveel dingen... istream ifstream ofstream ostream getline cin cout << >> stringstream dat ik de bomen door het bos niet meer zie.
'unsigned' is hetzelfde als 'unsigned int'quote:En wat betekent 'unsigned temp' precies? Ik weet wel dat je unsigned kan gebruiken in combinatie met int, bijvoorbeeld 'unsigned int'. Maar wat als er geen type na unsigned komt?
 
											 
			 
			
			
			| 1 | std::ostream& operator<<(std::ostream&, const C&); | 
 
			 
			
			
			Wat ziet er verschrikkelijk uit?quote:Op zondag 26 augustus 2012 14:22 schreef thenxero het volgende:
Het ziet er verschrikkelijk uit, maar dat zal ik maar eens gaan doorlezen dan.
 
			 
			
			
			Die pagina met alle streams en zo. Ik vind het in het algemeen leuk om C++ te leren, maar daar zie ik tegenop. Noodzakelijk kwaad.quote:
 
			 
			
			
			Het is toch overzichtelijk?quote:Op zondag 26 augustus 2012 14:46 schreef thenxero het volgende:
[..]
Die pagina met alle streams en zo. Ik vind het in het algemeen leuk om C++ te leren, maar daar zie ik tegenop. Noodzakelijk kwaad.
 
			 
			
			
			Ja, het is ook waar ik naar op zoek was. To the point en overzichtelijk. En er zijn ook plaatjesquote:Op zondag 26 augustus 2012 14:47 schreef t4rt4rus het volgende:
[..]
Het is toch overzichtelijk?
Wil je alles in kleurtjes en plaatjes ofzo...?
 . Maar leuk is anders...
 . Maar leuk is anders...
											 
			 
			
			
			Ik vind het een vreselijke pagina. Het staat vol met grijze informatie, tekst en voorbeeldcode staat door elkaar en het document is gigantisch. Daarnaast worden hoofd- en bijzaken niet goed gescheiden waardoor je snel in de details van error- of formatting flags zit te kijken terwijl dit niet erg belangrijk is om te kunnen werken met streams.quote:Op zondag 26 augustus 2012 14:47 schreef t4rt4rus het volgende:
[..]
Het is toch overzichtelijk?
Wil je alles in kleurtjes en plaatjes ofzo...?
 
			 
			
			
			Gelukkig ligt het niet aan mijquote:Op zondag 26 augustus 2012 14:57 schreef GS42 het volgende:
[..]
Ik vind het een vreselijke pagina. Het staat vol met grijze informatie, tekst en voorbeeldcode staat door elkaar en het document is gigantisch. Daarnaast worden hoofd- en bijzaken niet goed gescheiden waardoor je snel in de details van error- of formatting flags zit te kijken terwijl dit niet erg belangrijk is om te kunnen werken met streams.
Maar de informatie op zich is goed en de moeite waard om er doorheen te bijten. Ik kan me alleen prima voorstellen dat 9 op de 10 mensen er niet aan beginnen. Het is een gedetailleerd overzicht, geen tutorial.
 .
 .
											 
			 
			
			
			Het is inderdaad meer een documentatie.quote:Op zondag 26 augustus 2012 14:57 schreef GS42 het volgende:
[..]
Maar de informatie op zich is goed en de moeite waard om er doorheen te bijten. Ik kan me alleen prima voorstellen dat 9 op de 10 mensen er niet aan beginnen. Het is een gedetailleerd overzicht, geen tutorial.

 
			 
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include<stdio.h> #include <conio.h> int main(void) { float getal, som=0, gemiddelde; int teller=0; printf("Voer 10 getallen in (sluit af met een negatief getal) -> "); scanf("%f",&getal); while(getal > 0) { som+=getal; scanf("%f",&getal); teller++; } gemiddelde = som / teller; printf("Het gemiddelde van de %d getallen is = %.2f",teller,gemiddelde); getchar(); getchar(); return 0; } | 
| 1 2 3 4 5 6 7 8 9 10 11 12 | #include<stdio.h> #include <conio.h> int main(void) { float getallen; printf("voer getallen in"); scanf("%d", getallen); getchar(); getchar(); return 0; } | 
 
			 
			
			
			Dit moet je eerst naar een float (of double) casten, anders voert-ie een integer deling uit en dat is gewoon afgerond naar beneden.quote:Op zaterdag 8 september 2012 15:41 schreef dfdsdfds het volgende:
gemiddelde = (1 + 9 + 8 + 5 + 1 + 1 +1 + 1)/(1+1+1+1) = Ik kom er niet uit. Iemand die me kan helpen?
 
			 
			
			
			Een float is 1 enkel getal, en geen reeks getallen. Je moet de getallen in een array (of beter: een vector) van floats stoppen.quote:Op zaterdag 8 september 2012 15:41 schreef dfdsdfds het volgende:
De float bestaat uit een reeks getallen, bv: 6 7 8 1. Ik kan hem getal voor getal in laten lezen, maar ik moet ieder getal een benaming geven voor deze opdracht. Kan iemand me verder helpen?
 
			 
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<stdio.h> #include <conio.h> int main(void) { int r = 0; int a = 0; char v_naam[25]; printf("Voer uw voornaam in -> "); scanf("%s", &v_naam); for (a=1; a<21; a++) { printf("%s\t", v_naam); if (a % 5 == 0) { printf("\n"); } } getchar(); getchar(); return 0; } | 
| 1 | if (a % 5 == 0) | 
 Na 5 'a's' moet er een witregel geplaatst worden. Zonder deze regel werden er gwn 20 namen onder elkaar gezet. Het == teken betekent 'is gelijk aan'. Als ik voor a 5 invoer staat er dus
 Na 5 'a's' moet er een witregel geplaatst worden. Zonder deze regel werden er gwn 20 namen onder elkaar gezet. Het == teken betekent 'is gelijk aan'. Als ik voor a 5 invoer staat er dus | 1 | if (5 % 5 == 0) | 
 
			 
			
			
			Waarom staat er dan maar een keer %f als ik 5 6 4 3 invoer? Dan wordt er toch 5 6 4 3 in de float gestopt en word de float getal voor getal verwerkt?quote:Op zaterdag 8 september 2012 15:55 schreef thabit het volgende:
[..]
Een float is 1 enkel getal, en geen reeks getallen. Je moet de getallen in een array (of beter: een vector) van floats stoppen.
| 1 2 3 4 5 6 7 8 9 | printf("Voer 10 getallen in (sluit af met een negatief getal) -> "); scanf("%f",&getal); while(getal > 0) { som+=getal; scanf("%f",&getal); teller++; } gemiddelde = som / teller; | 
 
			 
			
			
			Ik weet niet precies hoe scanf werkt, je kan beter de functionaliteit uit iostream gebruiken.quote:Op zaterdag 8 september 2012 16:03 schreef dfdsdfds het volgende:
[..]
Waarom staat er dan maar een keer %f als ik 5 6 4 3 invoer? Dan wordt er toch 5 6 4 3 in de float gestopt en word de float getal voor getal verwerkt?
[ code verwijderd ]
Stel ik voer 1 4 5 -1 in. Dan scant hij toch al deze 4 getallen? Ik zie toch maar een keer %f staan? Eerst wordt het eerste getal gescand. Het getal is >0 dus wordt het in de while loop gepropt. Vervolgens word er gezegd dat de soms gelijk is aan het getal +1 (waarom dat?), het getal wordt gescand en de teller krijgt er +1 bij. Dit gebeurd net zolang totdat er een negatief getal komt. Hoe is de totaal som tot stand gekomen? Heeft hij nu alle sommen bij elkaar opgeteld of zo?
 
			 
			
			
			Ten eerste: waarom probeer je het te doen? Het lijkt op of een opgave uit een leerboek of een huiswerkopdracht. Iets meer context is handig.quote:Op zaterdag 8 september 2012 15:41 schreef dfdsdfds het volgende:
Aah mooi dat hier ook iets staat over C++. Ik heb een heleboel vragen:
 En als je boek werkelijk over C++ gaat, doe je er beter aan weg te gooien. Als je boek over C gaat, kan je er misschien wel iets mee.
 En als je boek werkelijk over C++ gaat, doe je er beter aan weg te gooien. Als je boek over C gaat, kan je er misschien wel iets mee. 
											 
			 
			
			
			Ik moet voor a.s. woensdag 4 opdrachten inleveren en zit pas op 1/4quote:Op zaterdag 8 september 2012 16:29 schreef GS42 het volgende:
[..]
Ten eerste: waarom probeer je het te doen? Het lijkt op of een opgave uit een leerboek of een huiswerkopdracht. Iets meer context is handig.
Als het uit een leerboek is: hoe oud is je boek? Je gebruikt conio.h en int main(void) waardoor ik een beetje het idee heb weer in de jaren '80 te zitten.En als je boek werkelijk over C++ gaat, doe je er beter aan weg te gooien. Als je boek over C gaat, kan je er misschien wel iets mee.
Dat is namelijk het tweede punt: als je C++ code probeert te schrijven, kan je beter helemaal overnieuw beginnen: het gebruik van printf en scanf is een doodszonde. Beter kan je het vanaf het begin goed leren. (Als je echter een C programma probeert te schrijven, is het prima.)
En je lijkt nogal wat basisconcepten niet duidelijk te hebben, zoals wat er opgeslagen wordt in een fundamenteel type en wat de operatoren doen. Het helpt om hierover te lezen voordat je begint te typen.
 Klakkeloos overnemen van anderen heeft geen zin bij dit vak, dat weet ik. Bovendien weet de docent dat snel genoeg te achterhalen dus daar ben ik niet op uit. Eerder informatie zodat ik een beetje op gang geholpen kan worden.
  Klakkeloos overnemen van anderen heeft geen zin bij dit vak, dat weet ik. Bovendien weet de docent dat snel genoeg te achterhalen dus daar ben ik niet op uit. Eerder informatie zodat ik een beetje op gang geholpen kan worden.
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |