Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

fout

Grezly
6 antwoorden
  • [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:
    "); /*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
    %s",vandaag); /*als het zondag of zaterdag is krijg je dit*/
    }
    else
    {
    printf("Doordeweeksl
    %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
  • 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 …..
  • nee sorry, als ik zondag of zaterdag invul krijg ik nog doordeweeks, daar gaat het mij\, ik wil dan weekend krijgen..

    greetz
  • Je moet wel een "6" of "7" invullen dan he. Geen "Zaterdag" of "Zondag".
  • [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.
  • 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.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.