C++ newbie vraag

Pagina: 1
Acties:

  • MADG0BLIN
  • Registratie: Juni 2001
  • Laatst online: 16:43
Ik moet voor school een opdrachtje maken in C++. Maar ik snap het niet helemaal. Zou iemand me er ff mee kunnen helpen? Ik ben nog maar net begonnen met C++ en weet niet hoe alles werkt precies.
Het ziet er zo uit:

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main() {
Cout <<"tik 3 hele getallen in";
long 1, 2, 3;
cin >> 1 >> 2 >> 3;
cout << "de getallen onder elkaar:/n"
<< setw(12) << 1 << endl << setw(12) << 2 << << endl << setw(12) << 3;
getch();
}

Het programma moet 3 getallen onder elkaar afdrukken.

  • Rowwan
  • Registratie: November 2000
  • Laatst online: 21:16
1. Verander de eerste 'Cout' in 'cout'
2. Verander de variabele namen van 1,2,3 naar a,b,c

Succes... ;)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Hé! Gebruik in 't vervolg ff
code:
1
...

-tags. Is wat makkelijker lezen...

• Kun je niet beter de vars '1' enzo eerder defineren (voor cout), maar ook ff hernoemen naar 'een' ofzo...

• '/n' moet volgens mij '\n' zijn...

• i.p.v. 'endl' zou je eens ' "\n" ' kunnen proberen...

  • MADG0BLIN
  • Registratie: Juni 2001
  • Laatst online: 16:43
Bedankt. :)
Hij werkt al.

  • reddog33hummer
  • Registratie: Oktober 2001
  • Laatst online: 24-08 18:08

reddog33hummer

Dat schept mogelijkheden

Variablen die 1, 2 en 3 heten... :?

volgens de C (en dus ook in c+) specificaties moeten variabelen met een letter beginnen.

Backup not found (R)etry (A)bort (P)anic<br\>AMD 3400+ 64, 2 GB DDR, 1,5 TB Raid5


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:04

Creepy

Tactical Espionage Splatterer

Op vrijdag 07 december 2001 15:07 schreef reddog33hummer het volgende:
Variablen die 1, 2 en 3 heten... :?

volgens de C (en dus ook in c+) specificaties moeten variabelen met een letter beginnen.
De vraag is dus of ze hem dat op school wel verteld hebben... Sommige leraren.. *zucht*....

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • Rowwan
  • Registratie: November 2000
  • Laatst online: 21:16
"endl" werkt ook :9

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op vrijdag 07 december 2001 14:46 schreef MADG0BLIN het volgende:
Ik moet voor school een opdrachtje maken in C++. Maar ik snap het niet helemaal. Zou iemand me er ff mee kunnen helpen? Ik ben nog maar net begonnen met C++ en weet niet hoe alles werkt precies.
Het ziet er zo uit:

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main() {
Cout <<"tik 3 hele getallen in";
long 1, 2, 3;
cin >> 1 >> 2 >> 3;
cout << "de getallen onder elkaar:/n"
<< setw(12) << 1 << endl << setw(12) << 2 << << endl << setw(12) << 3;
getch();
}

Het programma moet 3 getallen onder elkaar afdrukken.
Vanaf het begin:
<iostream.h> moet <iostream> zijn,
<conio.h> is geen C++, en is ook niet nodig.
<iomanip.h> moet <iomanip> zijn (is ook niet nodig).
void main() moet int main() zijn.
Variabelen moeten met een letter beginnen, of met
_[a-z0-9].
Cout moet std::cout zijn, en cin moet std::cin zijn.
Getallen onder elkaar betekent dat er een newline
tussen moet zitten.
setw moet std::setw zijn, maar is hier niet nodig.
getch() is geen C++, lees gewoon een dummy variabele in.
(Moet wel een enter na, maar dat is onvermijdelijk).

Is een lang lijstje ja.

PS. Als je boek/docent anders vindt is dat fout. Bvb. void main() heb je waarschijnlijk niet zelf bedacht, maar dat is gewoon geen C++. :(

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

<iostream> of <iostream.h> maakt niets uit. Gebruik gewoon wat je zelf overzichtelijk vind.

void main() of int main(), er zijn volgens mij geen afspraken/standaarden die daar iets over zeggen. Waar wil je naar returnen bij int main() :? Mischien iets voor een process in een multi-tasking systeem, maar anders...

cout kan ook gewoon, het leest ook heel wat gemakkelijker. Al die scope operatoren bedenkt de compiler de'r zelf wel bij. Bij mij werkt het ook prima.

Verwijderd

Is het niet zo dat je altijd de standardio lib moet toevoegen?

dus #include <stdio.h> :?

Verwijderd

Op vrijdag 07 december 2001 17:11 schreef Melkor het volgende:
<iostream> of <iostream.h> maakt niets uit. Gebruik gewoon wat je zelf overzichtelijk vind.
Jawel! Als je de <xxx.h> versies include worden de declaraties in de global namespace geplaatst, als je de <xxx> versies include staan ze in namespace std.
void main() of int main(), er zijn volgens mij geen afspraken/standaarden die daar iets over zeggen. Waar wil je naar returnen bij int main() :? Mischien iets voor een process in een multi-tasking systeem, maar anders...
Jawel, in een os-environment (itt. stand-alone) hoort main een int te returnen. Die int is de exitcode van het programma en wordt doorgegeven aan het OS, zodat het OS ook weet of het programma succesvol beeindigd is of niet.

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:01
Op vrijdag 07 december 2001 17:30 schreef mietje het volgende:

[..]

Jawel, in een os-environment (itt. stand-alone) hoort main een int te returnen. Die int is de exitcode van het programma en wordt doorgegeven aan het OS, zodat het OS ook weet of het programma succesvol beeindigd is of niet.
Die exit-code kan je ook returnen als je gebruik maakt van "void main()" ipv "int main()". Je moet dan, om het programma te verlaten gebruik maken van de "exit()" functie. exit(0) geeft een returncode 0 (programma normaal beëindigd, exit(1) geeft een returncode 1. (Cfr return 0; en return 1; )

https://fgheysels.github.io/


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 03-09 05:13
Op vrijdag 07 december 2001 17:23 schreef Livors het volgende:
Is het niet zo dat je altijd de standardio lib moet toevoegen?

dus #include <stdio.h> :?
Dat is C. C++ heeft iostream.h, dacht ik. Misschien bestaat stdio.h ook voor C++, maar iostream.h wordt meer gebruikt.

Verwijderd

Op vrijdag 07 december 2001 16:53 schreef MSalters het volgende:

[..]

Vanaf het begin:
<iostream.h> moet <iostream> zijn,
<conio.h> is geen C++, en is ook niet nodig.
<iomanip.h> moet <iomanip> zijn (is ook niet nodig).
void main() moet int main() zijn.
Variabelen moeten met een letter beginnen, of met
_[a-z0-9].
Cout moet std::cout zijn, en cin moet std::cin zijn.
Getallen onder elkaar betekent dat er een newline
tussen moet zitten.
setw moet std::setw zijn, maar is hier niet nodig.
getch() is geen C++, lees gewoon een dummy variabele in.
(Moet wel een enter na, maar dat is onvermijdelijk).

Is een lang lijstje ja.

PS. Als je boek/docent anders vindt is dat fout. Bvb. void main() heb je waarschijnlijk niet zelf bedacht, maar dat is gewoon geen C++. :(
Wel ja... maak jij het voor beginners ook nog moeilijker dan het is.

  • St@m
  • Registratie: December 2001
  • Laatst online: 22:53

St@m

@ Your Service

ik heb ook les in C++, maar ik moet toch echt <xxx.h> gebruiken hoor anders werkt het niet, zal wel komen dat we in djgpp moeten werken ..

Leuke spullen: CJ Collectibles


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 23:17

.oisyn

Moderator Devschuur®

Demotivational Speaker

nee dat komt gewoon omdat jullie namespaces nog niet gehad hebben :)

zoals hierboven al is gezegd door mietje, wil je al de standaard shit in de namespace 'std', dan moet je de includes zonder .h erachter gebruiken, anders met .h

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op vrijdag 07 december 2001 17:11 schreef Melkor het volgende:
<iostream> of <iostream.h> maakt niets uit. Gebruik gewoon wat je zelf overzichtelijk vind.
Maakt wel uit. <iostream> is standaard C++; <iostream.h>
hoeft niet te bestaan, en als het wel bestaat, weet je niet wat er inzit. Berucht voorbeeld: GCC heeft daar iets anders in dan MSVC.
void main() of int main(), er zijn volgens mij geen afspraken/standaarden die daar iets over zeggen. Waar wil je naar returnen bij int main() :? Mischien iets voor een process in een multi-tasking systeem, maar anders...
Zijn dus wel afspraken over. Kopie uit standaard:
INTERNATIONAL STANDARD
ISO/IEC 14882
First edition
1998-09-01
Programming languages C++
Langages de programmation C++
...
[basic.start.main] 3.6.1 Main function
1 A program shall contain a global function called main, which is the designated start of the program. It is
implementation-defined whether a program in a freestanding environment is required to define a main
function.
2 An implementation shall not predefine the main function. This function shall not be overloaded. It shall
have a return type of type int, but otherwise its type is implementation-defined. All implementations
shall allow both of the following definitions of main:
int main() { /* ... */ }
and
int main(int argc, char* argv[]) { /* ... */ }
Dus wel.
cout kan ook gewoon, het leest ook heel wat gemakkelijker. Al die scope operatoren bedenkt de compiler de'r zelf wel bij. Bij mij werkt het ook prima.
Hmm. Ik krijg gewoon een error, da'k cout niet heb gedeclareerd. En als ik int cout; schrijf om het te declareren, dan betekent cout << 2; opeens hele gekke dingen. Dus std::cout gebruiken.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op vrijdag 07 december 2001 23:33 schreef vicz het volgende:

[..]

Wel ja... maak jij het voor beginners ook nog moeilijker dan het is.
:?
Hoezo? Volgens mij is het voor beginners moeilijker als ze het fout leren, en daarna alsnog goed moeten leren.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op vrijdag 07 december 2001 20:14 schreef elnino het volgende:

[..]

Dat is C. C++ heeft iostream.h, dacht ik. Misschien bestaat stdio.h ook voor C++, maar iostream.h wordt meer gebruikt.
C++ heeft inderdaad iets, <iostream>.
Voor backwards compatibility zijn er <stdio.h> en <cstdio>, die hetzelfde doen. Alleen heeft <stdio.h> alles in de global namespace, en <cstdio> alles in std::. Omdat <iostream> nieuw is is er daar dus in principe geen <iostream.h> variant van ( maar verschillende compilers hebben 'em wel, alleen verschilt <iostream.h> tussen compilers :( ).

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Op maandag 10 december 2001 10:02 schreef MSalters het volgende:

[..]

:?
Hoezo? Volgens mij is het voor beginners moeilijker als ze het fout leren, en daarna alsnog goed moeten leren.
Jij maakt het gewoon onnodig moeilijk voor beginners. Ze hebben al geen idee wat cout en cin is, en dan wil jij ze ook nog gelijk namespaces gaan laten gebruiken. Dat kan altijd later nog wel. Trouwens ANSI C++ is een mooie papieren standaard. In de praktijk ligt het er anders voor. Zoals bijvoorbeeld bij de "int main" en "void main" kwestie. Trouwens, leren programmeren is meer over hoe je bepaalde problemen zou kunnen op lossen in de computer, dan dat je een specifieke programmeer taal leert.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 11:13 schreef vicz het volgende:

[..]

Jij maakt het gewoon onnodig moeilijk voor beginners. Ze hebben al geen idee wat cout en cin is, en dan wil jij ze ook nog gelijk namespaces gaan laten gebruiken. Dat kan altijd later nog wel. Trouwens ANSI C++ is een mooie papieren standaard. In de praktijk ligt het er anders voor. Zoals bijvoorbeeld bij de "int main" en "void main" kwestie. Trouwens, leren programmeren is meer over hoe je bepaalde problemen zou kunnen op lossen in de computer, dan dat je een specifieke programmeer taal leert.
|:(
Nou wil het er bij mij niet in, dat je C++ leert terwijl je het concept van directories/files niet snapt. namespaces<->directories, en object names<->files. Dus de hele naam van het cout object in namespace std is std::cout, net zoals notepad.exe in C:\Windows voluit c:\windows\notepad.exe heet. En het concept van PATH is ook aanwezig in C++, als
using namespace std;

ISO C++ is zeker geen papieren standaard; bijvoorbeeld GCC 3.0 zit er zo dicht tegenaan dat vrijwel niemand het merkt,
en voor [/b]alle[/b] compiler makers is het de richting waar het naar toe gaat. Dus tegen de tijd dat je van school komt is het nog relevanter dan het nu is.

En het hele argument voor void main heb ik nooit ontdekt.
- Het werkt niet overal.
- het is meer typen.
- het is fout.
- waar het werkt, werkt int main() ook.

Leren programeren is ook een kwestie van goede voorbeelden. std::cout is een goed voorbeeld, cout niet. Waarom merk je vanzelf als je echt grote programma's schrijft. Het idee van onderwijs is nou net, dat je al die opgedane ervaring op het vakgebied kado krijgt.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

Ik snap er weinig meer van hoor
Ik ben ook newbie. maar ik heb ook een boek gekocht (ik zeg niet dat dat boek alles is). En daar staat het het toch allemaal met iostream.h waarom staat het zo in het boek als je het beter anders kan doen ?? en waarom zou je std::cout zo aanroepen als het oook zo gaat cout ??

Het oneindige X 0


Verwijderd

Ik zal niet de wijsneus gaan uithangen, want dat ben ik niet. Ben ook nog maar beginner [vergeleken bij wat hier rondloopt dan :)]

Ik heb hier de Nederlandse vertaling van "C++ Black Book" van Steven Holzner voor me liggen. De schrijver beweert zich in dit boek strak aan de ANSI/ISO C++ norm te houden en zegt het volgende over de headerbestanden:
Oude header-bestanden in C-stijl: eindigen op .h, bijvoorbeeld stdio.h (bruikbaar in C en C++).

Oude header-bestanden in C++-stijl: eindigen op .h, bijvoorbeeld iostream.h (bruikbaar in C++).

Nieuwe header-bestanden in C++-stijl: hebben geen extensie, bijvoorbeeld iostream (bruikbaar in C++ met een naamruimte als std).

Geconverteerde C header-bestanden: de naam begint met een extra letter c en heeft geen extensie, bijvoorbeeld cctype (bruikbaar in C++).
Volgens de norm moet je dus eigenlijk gebruiken:
code:
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;

int main()
{
    ...;
    return 0; // Het OS weet dat het programma goed is afgesloten
}

Zo zou het dus moeten, maar mijn compiler [de gratis Borland C++ compiler versie 5.5] gebruikt ook .h headerbestanden. Dus het ligt aan je compiler hoe en welke headers je moet includen.
En door de regel "using namespace std" hoef je ook niet meer std::cout te gebruiken, maar is cout voldoende.

Voor zover ik weet dan :-) Misschien heb ik het ook verkeerd geleerd :-)
en nu maar hopen dat er niet snel iemand voor mij heeft gereageerd terwijl ik deze lap tekst aan het typen ben

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 14:33 schreef Wokker het volgende:
Ik snap er weinig meer van hoor
Ik ben ook newbie. maar ik heb ook een boek gekocht (ik zeg niet dat dat boek alles is). En daar staat het het toch allemaal met iostream.h waarom staat het zo in het boek als je het beter anders kan doen ?? en waarom zou je std::cout zo aanroepen als het oook zo gaat cout ??
Waarom dat boek het zegt, weet ik ook niet. <iostream> is ongeveer 6 a 7 jaar oud, dus een te oud boek kan de reden zijn. Waarom je std::cout zou aanroepen, is omdat dat overal werkt. cout zonder meer werkt MISSCHIEN als je iostream.h gebruikt,maar zeker is dat niet. Voor alle duidelijkheid: Dat verzin ik niet, ik heb programma's geschreven waar het ontbreken van std:: tot een keiharde error leidde.

Overigens, als aan het begin van het programma
code:
1
using std::cout;

staat, dan betekent dat dat "cout" een synoniem is voor std::cout. Dat mag ook, en dan zie je dus bijna overal cout << output; zonder std:: te herhalen.

Een goed boek is "Accelerated C++". Dat is geschreven door Andy Koenig, op basis van zijn C++ lessen voor beginners. Hier staan dit soort dingen dus iets uitgebreider in uitgelegd dan ik in een enkele post kan doen.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

aah ok
Ik heb een boek wat in 1998 geschreven is en ik heb de 6de druk uit 2001
Het boek heet Aan de slag met C++ geschreven door Gerjan laan. Heb ik nou het verkeerde boek gekocht ?? OF moet ik gewoon wat dingen in het boek negeren
en van hier overnemen ?

Het oneindige X 0


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 14:56 schreef sir5 het volgende:
Ik zal niet de wijsneus gaan uithangen, want dat ben ik niet. Ben ook nog maar beginner [vergeleken bij wat hier rondloopt dan :)]

Ik heb hier de Nederlandse vertaling van "C++ Black Book" van Steven Holzner voor me liggen.
Ik heb'm zelf niet gelezen, maar Francis Glassborrow ( Engelse C++ guru ) vatte het zo samen:
" In conclusion, this is a mediocre reference book with some potential limited use by someone who does not need a more complete one. "
Reference books zijn NIET voor beginners.
De schrijver beweert zich in dit boek strak aan de ANSI/ISO C++ norm te houden en zegt het volgende over de headerbestanden:
[... onzin ... ]
We kunnen lang en kort discussieren over wat we denken dat er in de standaard staat, dus bij deze een directe Cut&Paste:
The C++ Standard Library provides 32 C++ headers, as shown in Table 11:
Table 11C++ Library Headers
---------------------------------------
<algorithm> <iomanip> <list> <ostream>
<streambuf> <bitset> <ios> <locale> <queue>
<string> <complex> <iosfwd> <map> <set>
<typeinfo> <deque> <iostream> <memory>
<sstream> <utility> <exception> <istream>
<new> <stack> <valarray> <fstream>
<iterator> <numeric> <stdexcept> <vector>
<functional> <limits>
---------------------------------------
En dat zijn ze, alle 32, en allemaal zonder .h
Volgens de norm moet je dus eigenlijk gebruiken:
code:
1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;

int main()
{
    ...;
    return 0; // Het OS weet dat het programma goed is afgesloten
}
Precies! *D
Overigens is de laatste return optioneel, maar wel netjes.
Zo zou het dus moeten, maar mijn compiler [de gratis Borland C++ compiler versie 5.5] gebruikt ook .h headerbestanden. Dus het ligt aan je compiler hoe en welke headers je moet includen.
Het belangrijke woord is ook. Het probleem met
iostream.h is dat je geen idee hebt wat er inzit. Ja,
iets wat cout heet, maar is dat std::cout of gewoon cout,
en heeft die cout een member .rdbuf( streambuf& ), en ... ? Dat varieert dus gewoon. Als je nou gewoon <iostream> gebruikt, dan hoef je je daar geen zorgen over te maken.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


Verwijderd

Op maandag 10 december 2001 15:22 schreef MSalters het volgende:

[..]

Ik heb'm zelf niet gelezen, maar Francis Glassborrow ( Engelse C++ guru ) vatte het zo samen:
" In conclusion, this is a mediocre reference book with some potential limited use by someone who does not need a more complete one. "
Reference books zijn NIET voor beginners.
[..]
/me zegt al niets meer :)
We kunnen lang en kort discussieren over wat we denken dat er in de standaard staat, dus bij deze een directe Cut&Paste:
[..]
Volgens mij zei meneer steven dat ook, maar gaf daarnaast aan wat de andere headerbestanden dan wel zijn.
Het belangrijke woord is ook. Het probleem met
iostream.h is dat je geen idee hebt wat er inzit. Ja,
iets wat cout heet, maar is dat std::cout of gewoon cout,
en heeft die cout een member .rdbuf( streambuf& ), en ... ? Dat varieert dus gewoon. Als je nou gewoon <iostream> gebruikt, dan hoef je je daar geen zorgen over te maken.
Geef ik je helemaal gelijk in, maar dan moet je ze wel hebben.
Mijn compiler heeft dus alleen de .h bestanden ;(

  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

Maak het nog ff moeilijker dan het al is :P. Snap er niks meer van . en snap het gedoe met pointers al helemaal niet :(

Het oneindige X 0


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 15:08 schreef Wokker het volgende:
aah ok
Ik heb een boek wat in 1998 geschreven is en ik heb de 6de druk uit 2001
Het boek heet Aan de slag met C++ geschreven door Gerjan laan. Heb ik nou het verkeerde boek gekocht ?? OF moet ik gewoon wat dingen in het boek negeren
en van hier overnemen ?
Ik kan online alleen de inhoudsopgave vinden. Daar wordt ik niet heel erg blij van, maar een inhoudsopgave zegt niet alles natuurlijk.

Wat is er volgens mij mis ?
* Eerste 5 hoofdstukken gaan meer over C dan over C++ stijl ( geen OO ! )
* Pointers worden te vroeg behandeld.
* Strings en arrays worden bij elkaar behandeld; ik ben bang dat dit betekent dat met strings char* wordt bedoeld. En dan is hoofdstuk 7.3 onzin.
* Structures worden als iets bijzonders behandeld, bv met functiereturn en zo. Maar daar werken ze hetzelfde als integers en zo.
* Structures en objecten zijn hetzelfde, maar worden apart gepresenteerd.
* Contructors worden wel behandeld, maar destructors (die net zo belangrijk zijn ) volgens de inhoudsopgave niet
* Hoofdstuk 13 lijkt zelfgemaakte container classes te behandelen, dus de standaard containers te missen
* De hele standaard library wordt niet behandeld :? Iterators, algoritmen, etcetera, komen gewoon niet aan bod?

In het kort, dit lijkt op autorijles zonder dat je leert schakelen. Je komt wel vooruit, maar hard gaat het niet, en je eindigt als een gevaar voor de rest van het verkeer.
Klinkt hard, maar als je geen docent hebt die dit gemis aanvult komt het wel daarop neer.

Ik kan alleen slecht beoordelen of wat er wel instaat, correct is.

[ voor alle duidelijkheid, de lijst boven is niet compleet ]

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Wokker
  • Registratie: September 2001
  • Laatst online: 16-09 06:17

Wokker

De avond wokkel

Over dat pointers heb je wel gelijk
Ik heb er net over gelezen maar ik ben blij als ik de rest snap maar dat pointer verhaal lees ik morgen nog een x rustig door. Er zijn wel een paar standaar functie's behandeld zoals cin cos en zo en strlen en strcpy
veder ben ik nog niet echt
Als ik het boek uitheb koop ik dan wel een ander boek wat wat dieper er op ingaat

Het oneindige X 0


Verwijderd

[quote]
* De hele standaard library wordt niet behandeld :? Iterators, algoritmen, etcetera, komen gewoon niet aan bod?
[\quote]

Is het niet meer belangrijker dat je weet hoe je die zelf zou kunnen schrijven dan dat je ze alleen gebruikt?
In het kort, dit lijkt op autorijles zonder dat je leert schakelen. Je komt wel vooruit, maar hard gaat het niet, en je eindigt als een gevaar voor de rest van het verkeer.
Volgens mij is het meer dat je zowel leert rijden in hele oude bak als in een gloed nieuwe wagen. De oude bak heeft als voordeel dat je nog kan zien hoe zo'n wagen precies werkt, sinds het allemaal nog mechanisch gaat (producueel proggen), terwijl de nieuwe wagen (computer gestuurd)je meer nadruk geeft op het auto rijden zelf (OO proggen).
De oude kar geeft je de nodige basis voor het besturen van de nieuwe wagen.

offtopic:
PS. Waarom zou je moeilijk doen (schakelen) als het ook automatisch kan. Geef mij maar een automaat.

Verwijderd

Op maandag 10 december 2001 16:29 schreef vicz het volgende:

offtopic:
PS. Waarom zou je moeilijk doen (schakelen) als het ook automatisch kan. Geef mij maar een automaat.
Omdat je door handmatig schakelen meer controle over je auto hebt :)

Verwijderd

Op maandag 10 december 2001 16:50 schreef sir5 het volgende:

[..]

Omdat je door handmatig schakelen meer controle over je auto hebt :)
Nou... echt wel meer control... kuch kuch ;)

Verwijderd

Op maandag 10 december 2001 16:53 schreef vicz het volgende:

[..]

Nou... echt wel meer control... kuch kuch ;)
Als je het kan wel ja :)
Maar laten we weer on toic gaan, anders krijgen we nog op onze flikker ook nog ;)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 16:29 schreef vicz het volgende:

[..]

Volgens mij is het meer dat je zowel leert rijden in hele oude bak als in een gloed nieuwe wagen. De oude bak heeft als voordeel dat je nog kan zien hoe zo'n wagen precies werkt, sinds het allemaal nog mechanisch gaat (producueel proggen), terwijl de nieuwe wagen (computer gestuurd)je meer nadruk geeft op het auto rijden zelf (OO proggen).
De oude kar geeft je de nodige basis voor het besturen van de nieuwe wagen.
Heb jij nog geleerd hoe een choke werkt?
Nee - want chokes zijn tegenwoordig automatisch.
Ben jij begonnen met de moter open te slopen en de bougies er uit te halen?
Nee - eerst een stukje rijden (ik in elk geval wel).

Hoe de standaard componenten in elkaar zitten, met pointers en zo, da's net zo belangrijk als weten hoe bougies werken.
Microsoft cq. Opel weet dat wel, maar moet ik dat ook weten?
' Heb wel wat beters te doen :z

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 23:11
Op maandag 10 december 2001 16:29 schreef vicz het volgende:

* De hele standaard library wordt niet behandeld Iterators, algoritmen, etcetera, komen gewoon niet aan bod?
[ \ quote ]
Is het niet meer belangrijker dat je weet hoe je die zelf zou kunnen schrijven dan dat je ze alleen gebruikt?
NEE !!!

Hoe je ze moet schrijven is hondsmoeilijk. Ik heb recent op Usenet ( comp.lang.c++.moderated ) een voorbeeld gezien van iemand die probeerde zelf een string class te schrijven. Het enige wat die class kon was strings assignen, en aan elkaar plakken. Zelfs daarin had hij 6 fouten zitten (en dan was hij geen beginner).

Hoe je het standaard stringtype kunt gebruiken is zo simpel, dat snap je binnen 5 minuten.
( std::string begroeting = "Hello"; begroeting+= ", world"; )

Ik kan ook zelf geen auto bouwen, in elk geval niet iets wat 120 km/u gaat en ook nog kan sturen,laat staan airbags heeft, en nog tig andere nuttige features waarvan ik niet eens doorheb dat ik ze heb en gebruik. Maar zoiets gebruik ik dus wel dagelijks.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Tim
  • Registratie: Mei 2000
  • Laatst online: 23-07 15:18

Tim

Op maandag 10 december 2001 15:45 schreef MSalters het volgende:
* Eerste 5 hoofdstukken gaan meer over C dan over C++ stijl ( geen OO ! )
Je moet toch ergens beginnen?

Leuk begin krijg je als een boek begint met hoe je een object moet declareren, maar het gebruik van cout komt pas in hoofdstuk 2?

Ik bedoel, waarom gaat iedereen altijd zeuren als er C++ in het topic staat en er word niet gebruikt gemaakt van objects?

Verwijderd

Op maandag 10 december 2001 17:04 schreef MSalters het volgende:

[..]

Heb jij nog geleerd hoe een choke werkt?
Nou... mijn auto heeft er een. en Ja... die moet ik redelijk vaak gebruiken.
Ben jij begonnen met de moter open te slopen en de bougies er uit te halen?
Nou... bij mij deed ie het de eerste dag al niet (kabeltje zat los).
Hoe de standaard componenten in elkaar zitten, met pointers en zo, da's net zo belangrijk als weten hoe bougies werken.
Ja... ben ik het mee eens, alleen dus niet op die volgorde.
Microsoft cq. Opel weet dat wel, maar moet ik dat ook weten?
' Heb wel wat beters te doen :z

Verwijderd

Op maandag 10 december 2001 17:14 schreef MSalters het volgende:

[..]

NEE !!!

Hoe je ze moet schrijven is hondsmoeilijk. Ik heb recent op Usenet ( comp.lang.c++.moderated ) een voorbeeld gezien van iemand die probeerde zelf een string class te schrijven. Het enige wat die class kon was strings assignen, en aan elkaar plakken. Zelfs daarin had hij 6 fouten zitten (en dan was hij geen beginner).
Goh... overdrijven is ook een vak. Een goede string class schrijven is dan misschien aardig wat werk, maar niet hondsmoeilijk.
Hoe je het standaard stringtype kunt gebruiken is zo simpel, dat snap je binnen 5 minuten.
( std::string begroeting = "Hello"; begroeting+= ", world"; )
Ja... dan snap je dus hoe dat vanaf de buiten kant, wat kompleet irrelevant is, omdat je juist moet leren hoe zo iets aan de binnenkant is opgebouwd.

Verwijderd

Op maandag 10 december 2001 17:33 schreef vicz het volgende:
Goh... overdrijven is ook een vak. Een goede string class schrijven is dan misschien aardig wat werk, maar niet hondsmoeilijk.
Post er eens een, dan kijken wij hem na >:)
Ja... dan snap je dus hoe dat vanaf de buiten kant, wat kompleet irrelevant is, omdat je juist moet leren hoe zo iets aan de binnenkant is opgebouwd.
Nee, dat is het zelfde als dat je de opdracht krijgt een space shuttle te bouwen en begint met het draaien van eigen boutjes en moertjes. Dan weet je perfect hoe je shuttle in elkaar zit, maar het gaat wel heel erg lang duren voor hij af is. Vervolgens kan er ook nog eens een ontwerp- of materiaalfout in je boutjes zitten, waardoor je shuttle in mid-air uit elkaar valt. En dat terwijl je een complete doos perfect ontworpen, gegarandeerd foutvrije boutjes naast je hebt staan. En zeg eens eerlijk, wat boeit je meer, hoe je een shuttle ontwerpt of hoe je boutjes ontwerpt? ;)
Pagina: 1