Ga naar inhoud

fout


Aanbevolen berichten

[code:1:72e3bf834f]#include <stdio.h> #define maandag 1 /*hier heb ik de dagen gedefinieert*/ #define dinsdag 2 #define woensdag 3 #define donderdag 4 #define vrijdag 5 #define zaterdag 6 #define zondag 7 int main() { int vandaag; /*dit is de variabele vandaag*/ { printf("welke dag het is:\n "); /*hier vraag ik om de dag*/ scanf("%s", &vandaag); /*hier sla ik de dag op in vandaag */ } if ((vandaag == zaterdag) || (vandaag == zondag)) /*hier vergelijkt hij of de dagen kloppen*/ { printf("Weekend\n%s",vandaag); /*als het zondag of zaterdag is krijg je dit*/ } else { printf("Doordeweeksl\n %c%s",vandaag); /*anders dit*/ } return 0; } [/code:1:72e3bf834f] na een paar aanpassing werkt hij niet meer namelijk hetvolgende hij geeft altijd doordeweeks aan en hij geeft (zoals ik heb aangegeven) welke dag je hebt ingetoets... want hij geeft dan een fout aan.....:S Greetz
Link naar reactie
Het probleem is denk ik dat je een variable als int gedeclareerd hebt maar er een string in probeerd te zetten. Dit gaat natuurlijk nooit goed. Bij het weergeven geef je aan dat er een string moet worden weergegeven maar als waarde geef je een int op. Je moet alle %s vervangen door %i. En ik weet niet waar die %c voor is maar volgens mij hoort die daar ook niet. Het uiteindelijke resutaat is denk ik niet wat je verwacht want hij geeft de dagen dan weer als 1,2,3..... en niet maandag ,dinsdag .....
Link naar reactie
[quote:810472886f="bosjvd"]Je moet wel een "6" of "7" invullen dan he. Geen "Zaterdag" of "Zondag".[/quote:810472886f] Aanvulling: Wellicht heb je wat aan het [i:810472886f]case[/i:810472886f]-statement En als je toch strings als invoer wilt vergelijken, dan zou ik de weekdagen in een [i:810472886f]array[/i:810472886f] stoppen.
Link naar reactie
Sorry, maar je programma klopt simpelweg niet. Ik zal het proberen uit te leggen: Met [code:1:7c9a96c129] scanf("%s", &vandaag); [/code:1:7c9a96c129] probeer je een string te koppelen aan een integer variabele. Dat gewoon niet, want het zijn verschillende types. Waarschijnlijk denk je dat, als je bijvoorbeeld 'zondag' intypt, het programma dat vertaalt naar de integer-waarde 7, maar zo werkt het niet. Je hebt een constante gedefinieerd met naam 'zondag' en waarde 7. De naam 'zondag' is nu alleen beschikbaar binnen de programmacode. Zodra je je programma compileert vervangt de compiler ieder voorkomen van 'zondag' voor de waarde 7. Als je dus als input 'zondag' invoert, kan dat dus niet vertaald worden naar integer 7, maar wordt het gewoon gezien als het woord 'zondag'. Probeer anders toch eens een goede tutorial te vinden, die een en ander goed uitlegt. Mocht je er echt niet een kunnen vinden, dan kan ik je er eventueel nog wel een toemailen. Het is al een oudje, maar je leert er wel goed de principes van het C-programmeren van.[/code]
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...