 
		 
			 
			
			
			Dat is een vrij belangrijk, maar wel iet wat subtiel verschil. Het statement i++ zal de waarde van i ophogen met 1 en dan de oude waarde returnen. Het statement ++i doet het omgekeerde, die zal ook de waarde van i met 1 ophogen, maar daarna de opgehoogde waarde returnen.quote:Op zondag 24 februari 2013 13:57 schreef netolk het volgende:
[..]
nou niet veel geloof ik zo...
De syntax is verder eigenlijk identiek aan andere talen (als bijv. Java)
| 1 2 | int i = 0, j = 0; i = j++; | 
| 1 2 | int i = 0, j = 0; i = ++j; | 
 
			 
			
			
			 
			 
			
			
			 
			 
			
			
			En dan heb je natuurlijk ook dat wanneer je het vaker in een regel gebruikt, het vaak undefined is.quote:Op zondag 24 februari 2013 15:20 schreef Tijn het volgende:
De onduidelijkheid van ++ is wat mij betreft een goede reden om die hele operator te mijden als het even kan. Ik schrijf liever i += 1, dan is het ten minste voor iedereen duidelijk wat er gebeurt.
 
			 
			
			
			De syntax is bijna hetzelfde als bij java, dus veel nieuws leer ik idd niet.quote:Op zaterdag 23 februari 2013 23:45 schreef t4rt4rus het volgende:
[..]
Al vragen over de syntax?
Verschil i++ en ++i snap je?
Wat valt er verder eigenlijk te leren over syntax?

 
			 
			
			
			Jazeker: DIG / Project Eulerquote:Op zondag 24 februari 2013 16:02 schreef ufopiloot12 het volgende:
[..]
De syntax is bijna hetzelfde als bij java, dus veel nieuws leer ik idd niet.
Ik ben nu bezig met pointers, echt vragen heb ik nog niet.
Weten jullie trouwens echt goede oefeningen om het programmeer gedeelte onder de knie te krijgen?
Het overtypen van voorbeelden is wel leuk, maar zelf aan de slag gaan werkt vast veel beter.
 
			 
			
			
			Geen vragen over pointers? Dat kan bijna nietquote:Op zondag 24 februari 2013 16:02 schreef ufopiloot12 het volgende:
Ik ben nu bezig met pointers, echt vragen heb ik nog niet.

Ja dat is lastig, dan moet je toch echt wat proberen zelf te maken.quote:Weten jullie trouwens echt goede oefeningen om het programmeer gedeelte onder de knie te krijgen?
Het overtypen van voorbeelden is wel leuk, maar zelf aan de slag gaan werkt vast veel beter.
 
			 
			
			
			Ik heb gisteren het eerste gedeelte v.d. tutorial doorgelezen. De materie snap ik vooralsnog, maar ik heb nog niet alles gehad (verre van).quote:Op zondag 24 februari 2013 16:14 schreef t4rt4rus het volgende:
[..]
Geen vragen over pointers? Dat kan bijna niet
[..]
Ja dat is lastig, dan moet je toch echt wat proberen zelf te maken.
Interessant, bedankt!quote:
 
			 
			
			
			Welke lees je dan?quote:Op zondag 24 februari 2013 16:27 schreef ufopiloot12 het volgende:
Ik heb gisteren het eerste gedeelte v.d. tutorial doorgelezen. De materie snap ik vooralsnog, maar ik heb nog niet alles gehad (verre van).
 
			 
			
			
			http://www.cplusplus.com/doc/tutorial/pointers/quote:
 
			 
			
			
			Ohje het is cplusplus.com...quote:Op zondag 24 februari 2013 16:37 schreef ufopiloot12 het volgende:
[..]
http://www.cplusplus.com/doc/tutorial/pointers/
Ik zoek eigenlijk iets meer naar de richting van codecademy, maar dan zou ik toch echt boeken moeten aanschaffen denk ik.
 
											 
			 
			
			
			Daar was ik al bang voor.quote:Op zondag 24 februari 2013 16:40 schreef t4rt4rus het volgende:
[..]
Ohje het is cplusplus.com...
Pak een goed boek
 
  
			 
			
			
			http://jcatki.no-ip.org/fncpp/Resourcesquote:Op zondag 24 februari 2013 16:41 schreef ufopiloot12 het volgende:
[..]
Daar was ik al bang voor.
Suggesties?
 
			 
			
			
			Bedanktquote:Op zondag 24 februari 2013 16:54 schreef t4rt4rus het volgende:
[..]
http://jcatki.no-ip.org/fncpp/Resources
Hoewel dat basic spul van cplusplus je misschien eerst ook nog wel kan helpen.
Maar daar zie ik op de pagina over pointers ook een stukje over "void pointers". Dat moet je dus gewoon niet gebruiken, vooral niet als beginner.
Maar het misschien dat je het concept pointer wel begrijpt door die pagina.
Bij de cursus c++ die ik deed kregen lazen we het boek van de professor.
http://www.icce.rug.nl/documents/cplusplus/cplusplus.html
Die gaat er achter wel vanuit dat je wat C kan, maar hoeft geen belemmering te zijn.
 
											 
			 
			
			
			
 
			 
			
			
			Dat zit er bij mij nu wel een beetje ingeprent, haha.quote:Op zondag 24 februari 2013 17:01 schreef t4rt4rus het volgende:
Hier stukje over cplusplus.com
http://jcatki.no-ip.org/fncpp/cplusplus.com
Ohja en "using namespace std" vind niet iedereen leuk
(ik ook niet...)

 
			 
			
			
			Namespacesquote:Op zondag 24 februari 2013 17:11 schreef ufopiloot12 het volgende:
[..]
Dat zit er bij mij nu wel een beetje ingeprent, haha.
Zonder ook te weten waarvoor het dient.
Ik ga dat eventjes doorlezen.
 
			 
			
			
			Nu ik dat stukje over cplusplus heb gelezen begin denk ik maar weer van voor af aan met een van jouw aanbevelingen. Aangezien ik een paar hele foute dingen heb geleerd.quote:Op zondag 24 februari 2013 17:13 schreef t4rt4rus het volgende:
[..]
Namespaces
http://www.icce.rug.nl/documents/cplusplus/cplusplus04.html
 
											 
			 
			
			
			Zoals?quote:Op zondag 24 februari 2013 17:26 schreef ufopiloot12 het volgende:
[..]
Nu ik dat stukje over cplusplus heb gelezen begin denk ik maar weer van voor af aan met een van jouw aanbevelingen. Aangezien ik een paar hele foute dingen heb geleerd.

 
			 
			
			
			Hèhèquote:Op zondag 24 februari 2013 17:40 schreef Tijn het volgende:
Klinkt alsof cplusplus.com voor C++ is wat w3schools voor HTML, CSS en Javascript is.
 
			 
			
			
			Namespaces, ik moet dat even rephrasen. Er worden belangrijke dingen blijkbaar niet vertelt. Het is niet toereikend dus.quote:Op zondag 24 februari 2013 17:30 schreef t4rt4rus het volgende:
[..]
Zoals?
Maar als je dus referenties nodig hebt kan je beter op
http://en.cppreference.com/w/ kijken dan op cplusplus.com
 
			 
			
			
			 
			 
			
			
			Leuk ufo was ook begonnen, geen idee of die nog bezig is...quote:Op zondag 24 maart 2013 22:07 schreef robin007bond het volgende:
Ik ga toch een begin maken aan Accelerated C++.
Jullie zullen misschien nog van me horen hier.
quote:Op zondag 24 februari 2013 17:49 schreef ufopiloot12 het volgende:
[..]
Namespaces, ik moet dat even rephrasen. Er worden belangrijke dingen blijkbaar niet vertelt. Het is niet toereikend dus.
 
			 
			
			
			Ik ben de laatste tijd idd met wat andere dingen bezig geweest.quote:Op zondag 24 maart 2013 22:11 schreef t4rt4rus het volgende:
[..]
Leuk ufo was ook begonnen, geen idee of die nog bezig is...
[..]
 Ik ben gisteren eens wezen kijken naar boeken, die hier werden aangeraden en dit leek mij wel een redelijke. Ik heb hoofdstuk 1 maar overgeslagen en heb al vluchtig hoofdstuk 2 doorgekeken aangezien hier ook niet veel nieuws in kwam. http://www.smart2help.com(...)-vol-one/Frames.html
  Ik ben gisteren eens wezen kijken naar boeken, die hier werden aangeraden en dit leek mij wel een redelijke. Ik heb hoofdstuk 1 maar overgeslagen en heb al vluchtig hoofdstuk 2 doorgekeken aangezien hier ook niet veel nieuws in kwam. http://www.smart2help.com(...)-vol-one/Frames.html
											 
			 
			
			
			Ik doe altijd "using std::cout" "using std::endl" etc.quote:Op zondag 24 februari 2013 17:01 schreef t4rt4rus het volgende:
Hier stukje over cplusplus.com
http://jcatki.no-ip.org/fncpp/cplusplus.com
Ohja en "using namespace std" vind niet iedereen leuk
(ik ook niet...)
 
			 
			
			
			Yey iemand die het snapt. :pquote:Op zondag 24 maart 2013 22:47 schreef robin007bond het volgende:
[..]
Ik doe altijd "using std::cout" "using std::endl" etc.
Als ik meerdere namespaces zou gebruiken en twee methoden hebben dezelfde naam, dan hang je al bijvoorbeeld.
 
			 
			
			
			nah, zo heel veel gebruik ik dat nou ook weer niet en dan type ik gewoon std::cout als ik hem nodig heb..quote:Op zondag 24 maart 2013 22:47 schreef robin007bond het volgende:
[..]
Ik doe altijd "using std::cout" "using std::endl" etc.
Als ik meerdere namespaces zou gebruiken en twee methoden hebben dezelfde naam, dan hang je al bijvoorbeeld.
 
			 
			
			
			Zelfde hier.quote:Op maandag 25 maart 2013 07:55 schreef netolk het volgende:
[..]
nah, zo heel veel gebruik ik dat nou ook weer niet en dan type ik gewoon std::cout als ik hem nodig heb..
en std::endl doe ik niet aan vind '\n' genoeg
 
			 
			
			
			| 1 2 3 4 5 6 7 8 9 10 | int main () { vector<string> words; ifstream in (" GetWords.cpp"); string word; while ( in >> word) words.push_back(word); for ( int i = 0; i < words.size(); i++) cout << words [i] << endl; } | 
 
			 
			
			
			quote:Op maandag 25 maart 2013 14:02 schreef ufopiloot12 het volgende:
[ code verwijderd ]
Ik krijg hier de error: " comparison between signed and unsigned integer expressions" bij regel acht, maar ik weet niet echt waar ik de fout in ga. Waarschijnlijk bij words.size, maar hoe moet ik dat verhelpen?
| 1 | for (size_t i = 0; i < words.size(); ++i) | 

| 1 2 | for (auto const &e : words) std::cout << e << std::endl; | 
 
			 
			
			
			Bedankt!quote:Op maandag 25 maart 2013 15:02 schreef t4rt4rus het volgende:
[..]
[ code verwijderd ]
vector::size() returnt een size_t, dit is een unsigned integer type.
-edit-
En in het vervolg wanneer je van dit soort for loops doet,
gebruik altijd std::size_t.
Daarnaast kan je natuurlijk ook gewoon dit doen:
[ code verwijderd ]
 
			 
			
			
			Wat dat trouwens ook kan doen iterators gebruiken:quote:
| 1 2 | for (auto it = words.begin(); it != words.end(); ++it) std::cout << *it << '\n'; | 
 
			 
			
			
			Hmm, dit is eigenlijk een stuk fijner te lezen. Veel mooier ook.quote:Op maandag 25 maart 2013 18:09 schreef t4rt4rus het volgende:
[..]
Wat dat trouwens ook kan doen iterators gebruiken:
[ code verwijderd ]
 
											 
			 
			
			
			Dat is nog eens mooi gebruik van auto.quote:Op maandag 25 maart 2013 18:09 schreef t4rt4rus het volgende:
[..]
Wat dat trouwens ook kan doen iterators gebruiken:
[ code verwijderd ]
 
			 
			
			
			std::vector<std::string>::iterator is een beetje lang.quote:Op maandag 25 maart 2013 19:11 schreef trancethrust het volgende:
[..]
Dat is nog eens mooi gebruik van auto.


 
			 
			
			
			Exactemundo; dit vergroot de leesbaarheid behoorlijk. Voorheen was ik totaal niet overtuigd van het nut van auto.quote:Op maandag 25 maart 2013 20:01 schreef t4rt4rus het volgende:
[..]
std::vector<std::string>::iterator is een beetje lang.
auto
-edit-
words.cbegin() en words.cend() is hier misschien nog wel beter.
Krijg je altijd een const_iterator
 
			 
			
			
			| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> int main(){ int grade; int gradeTotal = 0; int NumberOfPeople = 0; while(grade!=-1) { std::cout << "Enter a grade or enter -1 to calculate average grade"<< std::endl; std::cin>>grade; gradeTotal+= grade; NumberOfPeople++; } if(gradeTotal == 0){ std::cout <<" The sum of your grades is 0, that can't be right!"<< std::endl; std::cout <<" Enter a number"; std::cin>>grade; } std::cout<< "The average grade is: "<< gradeTotal/NumberOfPeople<<std::endl; return 0; } | 
 
			 
			
			
			Nou...quote:Op vrijdag 29 maart 2013 10:55 schreef ufopiloot12 het volgende:
[ code verwijderd ]
Alles werkt prima
| 1 2 3 4 5 6 7 8 9 | ~$ ./grade Enter a grade or enter -1 to calculate average grade 1 Enter a grade or enter -1 to calculate average grade 9 Enter a grade or enter -1 to calculate average grade -1 The average grade is: 3 ~$ | 
 
			 
			
			
			Ja ik heb wel wat zitten klooien toen ik dit op fok zette. Net deed hij het echt!quote:


 
			 
			
			
			Aha, bedankt!quote:Op vrijdag 29 maart 2013 11:24 schreef Tijn het volgende:
Het probleem is natuurlijk dat je de input "-1" ook meetelt in het berekenen van het gemiddelde.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <iostream> int main(){ int grade; int gradeTotal = 0; int NumberOfPeople = 0; while(grade!=-1) { std::cout << "Enter a grade or enter -1 to calculate average grade"<< std::endl; std::cin>>grade; gradeTotal += grade; NumberOfPeople++; } std::cout << "Your average grade is: "<<++gradeTotal/--NumberOfPeople<<std::endl; return 0; } | 
 
			 
			
			
			Je kan bijvoorbeeld zoiets doen:quote:Op vrijdag 29 maart 2013 11:27 schreef ufopiloot12 het volgende:
[..]
Aha, bedankt!
Ik heb het nu zo opgelost:
[ code verwijderd ]
Weten jullie misschien een betere manier, want ik los het probleem hier niet ECHT mee op.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <iostream> #include <vector> double average(std::vector<size_t> const &vec) { size_t total = 0; for (auto &e : vec) total += e; return static_cast<double>(total) / vec.size(); } int main() { std::vector<size_t> grades; size_t grade; while (std::cin >> grade) grades.push_back(grade); std::cout << average(grades) << '\n'; } | 
 
			 
			
			
			Double is idd een betere type. Ik heb nog niet over vectors gelezen, daar ga ik nog eens naar kijken.quote:Op vrijdag 29 maart 2013 12:42 schreef t4rt4rus het volgende:
[..]
Je kan bijvoorbeeld zoiets doen:
[ code verwijderd ]
 
			 
			
			
			De vector kan je er hier natuurlijk helemaal uit halen.quote:Op vrijdag 29 maart 2013 12:47 schreef ufopiloot12 het volgende:
[..]
Double is idd een betere type. Ik heb nog niet over vectors gelezen, daar ga ik nog eens naar kijken.
Bedankt!
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <iostream> int main() { size_t num_grades = 0; size_t total = 0; size_t grade; while (std::cin >> grade) { total += grade; ++num_grades; } double average = static_cast<double>(total) / num_grades; std::cout << average << '\n'; } | 
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> int main() { size_t num_grades = 0; size_t total = 0; int grade; while (std::cin >> grade) { if (grade < 0) break; total += grade; ++num_grades; } double average = static_cast<double>(total) / num_grades; std::cout << average << '\n'; } | 
 
			 
			
			
			Duidelijk. Ik had al in gedachten dat het ook met een if statement zou moeten kunnen, maar ik wist niet precies hoe.quote:Op vrijdag 29 maart 2013 13:00 schreef t4rt4rus het volgende:
[..]
De vector kan je er hier natuurlijk helemaal uit halen.
Maar was meer een voorbeeld dat je de getallen aan een functie geeft die je dan het gemiddelde geeft.
[ code verwijderd ]
-edit-
Als je wil dat hij bijvoorbeeld stopt bij een negatief getal, kan je dit doen:
[ code verwijderd ]
 
											 
			 
			
			
			Ik denk dat je beter eerst goed kan leren hoe de if-statement werkt voordat je met loops aan de gang gaat.quote:Op vrijdag 29 maart 2013 13:06 schreef ufopiloot12 het volgende:
[..]
Duidelijk. Ik had al in gedachten dat het ook met een if statement zou moeten kunnen, maar ik wist niet precies hoe.

| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |