estoy escribiendo un programa y estoy tratando de hacer una especie de bucle en el que, si proporcionó una respuesta incorrecta, lo envía de regreso para proporcionar la respuesta correcta

Soy un principiante que intenta escribir el mismo programa en diferentes lenguajes C, python y flutter (dart). este actual está en c.

printf(" what would you like as your Toppings?\n");
printf(" Choose YES(1)  or  NO(0) to select your toppings...\n");
printf(" Tomatoes ? ");
scanf("%d\n", &Tomatoes);
if (Tomatoes != 1 || 0){ printf(" Invalid choice \n");}

Quiero que se reproduzca de manera que si tiene una opción no válida, lo lleve de vuelta a la pregunta, pero no debería ser demasiado voluminoso. Por favor, ayuda.

Answer

Desea utilizar un bucle while. El ciclo ejecutará continuamente el código interno mientras la expresión Tomatoes != 1 && Tomatoes != 0se evalúa como verdadera.

#include <stdio.h>

int main () {
    int Tomatoes = -1;

    printf(" what would you like as your Toppings?\n");
    printf(" Choose YES(1)  or  NO(0) to select your toppings...\n");

    while (Tomatoes != 1 && Tomatoes != 0) {
        printf(" Tomatoes ? ");
        scanf(" %d", &Tomatoes);
        if (Tomatoes != 1 && Tomatoes != 0) printf(" Invalid choice \n");
    }

    return 0;
}