Er is iets Mis maar wat?

Status
Niet open voor verdere reacties.

AngeloNis

Gebruiker
Lid geworden
2 jan 2015
Berichten
5
Hallo,

Ik net een progamma in c geschreven maar hij zegt dat er iets fout is?
Maar ik begrijp niet wat?
Zou iemand mijn code na kunnen kijken en zeggen wat er dan fout is?
Alvast bedankt.
C-Code:

//Enquete
//Gemaakt door AngeloNis

Code:
#include <stdio.h>
#include <stdlib.h>

int void()
{
    int y
    int n

    char answer

    printf("Vind jij achter de Computer zitten ook zo leuk?? (y/n)");
    scanf(" %c", %answer);

    if( (answer=y)

        printf("Vind jij progammeren dan ook leuk?? (y/n)\n");
        scanf(" %c", %answer);
        if( (answer=y)
          printf("Bedankt voor het invullen van deze quiz");


    else (answer=n)

       printf("Vind jij sport dan wel leuk?? (y/n)\n");
       scanf(" %c", %answer);
       if( (answer=y)
          printf("Bedankt voor het invullen van deze quiz");

    return 0;
}
 
Laatst bewerkt:
Je gebruikt een toekeningsoperator (=) i.p.v. vergelijkingsoperator (==):

[cpp]
// ...
if (answer == y)
// ..
[/cpp]
 
Maar hij blijft zeggen dat ik een fout maak in de code

int void()
 
Laatst bewerkt:
Wat je zegt is je eigen interpretatie van de melding die je krijgt. Je kunt beter de exacte melding hier plaatsen.

Daarnaast geven Int en Void het functietype aan.
Een Int geeft een Integer terug en een Void geeft niks terug.
Je functie is nu van het type Integer en heet Void.
Void is een gereserveerd woord dat je niet als functienaam mag gebruiken.
Omdat de functie niets terug hoeft te geven aan een aanroepende functie, wil je er dus een Void van maken.

Wijzig daarom Int Void() in Void Functienaam()
Dan kan tevens de Return 0 eruit.
 
Daar had ik helemaal overheen gekeken Edmoor, maar het was dan ook vroeg. Nu ik nog eens goed naar zijn code kijk, verwacht ik dan ook dat het zijn main functie is en dat hij er int main() van moet maken:

[cpp]
int main() {
// ...
return 0;
}
[/cpp]
 
In dat geval, klopt :)
 
@AngeloNis:

je code zal na deze feedback wel compileren, maar nog steeds niet werken zoals je dat zou willen. Als je meerdere regels in een if-statement wilt uitvoeren, dien je deze stappen tussen accolades te zetten. Anders wordt enkel het eerste statement uitgevoerd:

[cpp]
if (voorwaarde) {
// meerdere regels code
}
[/cpp]
 
Lekker stel. Daar heb IK dus overheen gekeken ;)
 
En je moet aanhalingstekens om de "tekst" zetten (anders denkt de compiler dat het een variabele is):
[cpp]if (answer == 'y')[/cpp]
 
Nou ja zeg! Zo'n klein stukje code en dan is er 3 man voor nodig om 3 fouten te vinden ;)
 
@Edmoor: echt beschaamtelijk, haha. Maar hier is er nog eentje:

[cpp]
scanf(" %c", %answer); -> scanf(" %c", &answer);
[/cpp]
 
Jij wilt V&D dus in ere houden ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan