anoniem Geplaatst: 8 april 2003 Delen Geplaatst: 8 april 2003 [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 Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 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 ..... Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 nee sorry, als ik zondag of zaterdag invul krijg ik nog doordeweeks, daar gaat het mij\, ik wil dan weekend krijgen.. greetz Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 Je moet wel een "6" of "7" invullen dan he. Geen "Zaterdag" of "Zondag". Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 [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. Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 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] Quote Link naar reactie
anoniem Geplaatst: 8 april 2003 Auteur Delen Geplaatst: 8 april 2003 jurgen check pm Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen