vendredi 8 juillet 2016

how to check if user input is a certain character

I am trying to check if the user inputs y or something else.

I have tried creating a string and looping through what the user inputs, but that doesn't work.

char answer[] = "n";
for(int i = 0; i < sizeof(answer)/4; i++) {
    if(answer[i] == "y") {
       calculatorPrompt();
    } else if(answer[i] === "n") {
              printf("Okay, bye!");
              System(100);
    }
}

This is my code (it crashes):

printf("Thanks for that\nDo you want a calculator?(y/n)");
char answer = 'n';
scanf("%s", answer);
    if(answer == 'y') {
        calculatorPrompt();
    } else if(answer == 'n') {
        printf("Okay bye!");
        Sleep(100); //wait for 100 milliseconds
    }

calculatorPrompt() function:

void calculatorPrompt() {
int a = 0;
int b = 0;
int sum = 0;
printf("Enter your first number: ");
if(scanf("%d\n", a) != 1) {
    checkNumber();
} else {
    printf("Enter your second number: ");
    if(scanf("%d\n", b) != 1) {
        checkNumber();
    } else {
        sum = calculate(a, b);
        printf("Your answer is: %d", sum);
    }
}

}

calculate() function:

int calculate(int a, int b) {
    return a + b;
}

I have included <windows.h> <stdio.h> and <stdbool.h>

I'm also confused as to why it crashes.

Aucun commentaire:

Enregistrer un commentaire