Completé una introducción a la programación usando Python y estoy más acostumbrado a Python que a C, así que podría mezclar los dos. C me está dando todo tipo de errores. Intenté cambiar las cosas, pero notarlo parece funcionar; una vez que descubra la sintaxis de C, probablemente voy a reescribir este programa.
#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } }
Errores:
mario.c:13:9: error: expected expression while( int num < 0 or int num > 23 ); ^ mario.c:16:1: error: expected "while" in do/while loop } ^ mario.c:9:2: note: to match this "do" do ^ mario.c:16:2: error: expected "}" } ^ mario.c:6:1: note: to match this "{" { ^ 3 errors generated. jharvard@appliance (~/Dropbox): make mario clang -ggdb3 -O0 -std=c99 -Wall -Werror mario.c -lcs50 -lm -o mario mario.c:13:9: error: expected expression while( int num < 0 or int num > 23 ); ^ mario.c:16:1: error: expected "while" in do/while loop } ^ mario.c:9:2: note: to match this "do" do ^ mario.c:18:1: error: expected "}" ^ mario.c:6:1: note: to match this "{" { ^ 3 errors generated.
Respuesta
Es una llave mal colocada.
do { int num = GetInt(); } while( int num < 0 || int num > 23 );
Desea encerrar la instrucción do
entre llaves, pero mantenga la condición while afuera. Tenga cuidado con las mayúsculas. Las funciones distinguen entre mayúsculas y minúsculas. Además, no puede «usar la palabra» o «, sino ||
(el conducto doble). (Y para referencia futura, &&
significa «y»).
¡Pruébelo!
Además, las notas de la clase de la semana 1: Construcciones de programación en C tiene muchos ejemplos de sintaxis para varios bucles, condiciones, etc. Puede que valga la pena tenerlo a mano como referencia mientras trabaja en esto.
Brenda.
do
declaración entre paréntesis, " ¿te refieres a llaves{}
en lugar de paréntesis()
?