Overleg:Programmeren in C
/* Functies komen altijd voor int main(): je maakt geen functie binnenin een andere functie */
void PrintMenu() /* keert niks terug, geen parameters
{ /* begint net als main met een curly bracket open */
printf("Kies 1 voor dit\n");
printf("Kies 2 voor dat\n");
printf("etc, etc\n");
}
Dat een functie void als return-type heeft, wil absoluut niet zeggen dat het niets retourneert, hoewel het hier wel zo is. Het is wellicht beter de comment aan het einde van de functie te plaatsen.
main functie
bewerkenUnder C89, main() is acceptable, although it is advisable to use the C99 standard, under which only these are acceptable:
- int main ( void )
- int main ( int argc, char *argv[] )
bron: https://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1044841143&id=1043284376
In lessen indelen
bewerkenKan iemand dit in lessen opdelen?? --JorisvS 15 feb 2006 14:29 (UTC)
variabelen
bewerkenik heb juist het stukje van de variabelen gedaan maar als ik een getal invoer en ik druk op enter gaat het kadertje weg wat moet ik hieraan doen??
gelieve me te contacteren op thms00 AT hotmail DOT com
- Kunt u iets duidelijker omschrijven wat u bedoeld, want ik snap niet echt tegen welk probleem u aanloopt. Koos Overleg 3 mrt 2006 10:37 (UTC)
Ik zit nu bij het stukje met de kop Functies.
De code daar, kan die voluit geschreven worden, of is de code voluit geschreven? Ik probeerde hem te compileren met gcc en g++, dat lukt, maar als je het programma uitvoert geeft hij niets. Ik heb de extensie aangepast aan .cpp zoals moest.
Ik heb hem ook al geprobeerd met de header '#include <iostream>' en 'using namespace std;' erboven, maar dat werkt ook niet.
Return 0? waarom?
bewerkenIn de uitleg op wikibooks staat dat betekendreturn 0; dat er 0 fouten zijn opgetreden.. Waarom dient dit? Ik weet niet of dit een domme vraag lijkt maar ik ben juist begonnen.. Sound
- Ik denk dat het niet klopt. Wat er achter return wordt geplaatst is het getal dat geretourneerd wordt als de functie wordt uitgevoerd volgens mij. Effeietsanders 17 apr 2007 13:42 (CEST)
Antwoord
bewerkenIeder proces heeft een 'termination code' waarmee aan de omgeving kan worden meegedeeld of het proces succesvol was of niet. Dit lijkt tamelijk triviaal, maar is in vele gevallen zeer noodzakelijk. Het standaardvoorbeeld hiervoer zijn shell-scripts waarin (bijvoorbeeld) bestanden moeten worden geinterpreteerd, treden hierbij fouten op, wordt een foutcode teruggegeven zodat het aanroepende script passende acties kan ondernemen.
Overigens is het (strikt genomen) niet erg netjes '0' (Succes) terug te geven, aangezien deze code platform afhankelijk is. Beter is
#include <stdlib.h> int main(int argc, char* argv[]) { ... return EXIT_SUCCESS; /* of EXIT_FAILURE, al naar gelang... */ }
Deze eis is vooral op unix systemen belangrijk, aangezien daar vaak vele kleine programma's als lego steentjes worden samengevoegd om een veelheid van taken te vervullen. GUI's lijken meer op Duplo; veel grote kleurige blokken waar je verder niets mee kunt. Kleuske 18 jul 2007 18:53 (CEST) Kleuske 18 jul 2007 18:53 (CEST)
Herschrijven
bewerkenMet mijn oprecht medeleven aan de oorspronkelijke auteur moet ik helaas constateren dat de inhoud van het artikel van bedroevende kwaliteit was. Een grote herschriving is dan ook onvermijdelijk. Ik heb deze taak op me genomen. Het zal even duren voor ik klaar ben. Kleuske 18 jul 2007 23:31 (CEST)
- Ik heb met Kleuske afgesproken dat ik de herschrijving op mij zal nemen. Ik ga geen nieuwe informatie toevoegen, maar gewoon herschikken en onderverdelen in subpagina's. Ik denk niet dat ik er lang over zal doen.Sephiroth 23 okt 2007 13:45 (CEST)
- Bon de "herschrijving" is voltooid. Het is niet echt een herschrijving want ik heb het gewoon onderverdeeld in verschillende pagina's. Als iemand vindt dat de onderverdeling niet correct is, kun je het gewoon aanpassen. Sephiroth 31 dec 2007 15:44 (CET)