Autor
|
Tema: Me da un error en una llave de cierre, que pasa? (Leído 3,955 veces)
|
Anastacio
Desconectado
Mensajes: 111
|
#include <stdio.h> #include <windows.h> #include <time.h>
int main() { int num1; int num2; int c; int resultadojugador; int resultado; int repetidor; int vida; int nivel; int contador; int operacion; operacion = 0; num1 = 0; num2 = 0; repetidor = 0; resultadojugador = 0; contador = 0; nivel = 0; vida = 5; resultado = 0; c = 0; system("color F1"); printf("Este programa prueba su Habilidad con las matematicas.\n"); printf("Elija un nivel\n"); printf("1.Facil\n"); printf("2.Medio\n"); printf("3.Dificil\n"); scanf("%d",&c); if(c == 1) { nivel = 10; } if(c == 2) { nivel = 50; } if(c == 3) { nivel = 100; } srand( (unsigned)time( NULL ) ); num1 = rand() % nivel; num2 = rand() % nivel; getchar(); printf("Con que desea comenzar\n"); printf("1.Suma\n"); printf("2.Resta\n"); printf("3.Multiplicacion\n"); printf("4.Division\n"); scanf("%d",&operacion); do{ do{ if(operacion == 1) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nSume los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 + num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 2) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nReste los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 - num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 3) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nMultiplique los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 * num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 4) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nDivide los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 / num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } }while(vida < 0, contador < 10) printf("Deseas continuar, presiona 1. Si quieres salir, 2"); scanf("%d",&repetidor); }while(repetidor == 1);
return 0;
} Me da un toco de errores por la ultima llave, la de cierre del programa. expected `}' at end of input expected `;' at end of input expected `)' at end of input expected `(' at end of input expected `while' at end of input Porque exactamente me dice esto? sospecho de los do while, me he armado un lio para intentar que funcionen, sospecho que asi estan bien, pero tambien pueden estar mal. Me dan una mano? gracias de antemano
|
|
|
En línea
|
You, stop to close my post, you were novice too!!!!!!!!!!!!
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
en la primera vista: que se supone que es eso? la ultima llave es el cierre de uno de esos do... usa los tabuladores
|
|
|
En línea
|
|
|
|
Anastacio
Desconectado
Mensajes: 111
|
O sea que si pongo una llave mas se soluciona?
con los dos do seguidos intente meter un do dentro de otro, pero me parece que eso no se puede hacer, igual probe.
No se me ocurrio otra manera de hacer que vuelva al comienzo de diversas maneras. Saludos y gracias de antemano.
|
|
|
En línea
|
You, stop to close my post, you were novice too!!!!!!!!!!!!
|
|
|
x64core
Desconectado
Mensajes: 1.908
|
naa... ya me fije el ultimo if le faltaba y te faltaba el ';' al primer while #include <stdio.h> #include <windows.h> #include <time.h>
int main() { int num1; int num2; int c; int resultadojugador; int resultado; int repetidor; int vida; int nivel; int contador; int operacion; operacion = 0; num1 = 0; num2 = 0; repetidor = 0; resultadojugador = 0; contador = 0; nivel = 0; vida = 5; resultado = 0; c = 0; system("color F1"); printf("Este programa prueba su Habilidad con las matematicas.\n"); printf("Elija un nivel\n"); printf("1.Facil\n"); printf("2.Medio\n"); printf("3.Dificil\n"); scanf("%d",&c); if(c == 1) { nivel = 10; } if(c == 2) { nivel = 50; } if(c == 3) { nivel = 100; } srand( (unsigned)time( NULL ) ); num1 = rand() % nivel; num2 = rand() % nivel; getchar(); printf("Con que desea comenzar\n"); printf("1.Suma\n"); printf("2.Resta\n"); printf("3.Multiplicacion\n"); printf("4.Division\n"); scanf("%d",&operacion); do { do { if(operacion == 1) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nSume los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 + num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 2) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nReste los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 - num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 3) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nMultiplique los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 * num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } if(operacion == 4) { printf("\nEl primer numero es\n%d",num1); printf("\nEl segundo entero es\n%d",num2); printf("\nDivide los dos numeros y escriba el resultado\n"); scanf("%d",&resultadojugador); resultado = num1 / num2; if(resultadojugador == resultado) { printf("Has ganado\n"); contador = contador + 1; printf("Numero de vidas restantes\n%d\n",vida); getchar(); } if(resultadojugador != resultado) { printf("Has perdido\n"); contador = contador + 1; vida = vida - 1; printf("Numero de vidas restantes\n%d\n",vida); printf("El resultado correcto era\n%d", resultado); getchar(); } } }while(vida < 0, contador < 10); printf("Deseas continuar, presiona 1. Si quieres salir, 2"); scanf("%d",&repetidor); }while(repetidor == 1);
return 0;
}
|
|
|
En línea
|
|
|
|
m0rf
Desconectado
Mensajes: 828
BACK!
|
Como es que incluyes windows.h?
|
|
|
En línea
|
Si todos fuéramos igual de inteligentes no existiría la mediocridad porque no podríamos apreciarla. Aprecias la mediocridad?
|
|
|
rir3760
Desconectado
Mensajes: 1.639
|
No es necesario. Basta con incluir el encabezado <stdlib.h>.
Un saludo
|
|
|
En línea
|
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly. -- Kernighan & Ritchie, The C programming language
|
|
|
Anastacio
Desconectado
Mensajes: 111
|
Gracias, primero me daba siempre el mismo numero, luego puse rand dentro de el segundo do y no hay problema, me falta ponerle un par de variantes float a la division.
|
|
|
En línea
|
You, stop to close my post, you were novice too!!!!!!!!!!!!
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
llave usb
« 1 2 »
Ingeniería Inversa
|
jdws88
|
18
|
22,554
|
24 Abril 2013, 17:38 pm
por Dante1986
|
|
|
No conecta bien a db, o algo pasa.. tambien da un error al cargar la db
Bases de Datos
|
XXXXXX
|
6
|
4,535
|
17 Mayo 2010, 07:43 am
por XXXXXX
|
|
|
LLAVE USB
Dudas Generales
|
jumamudi
|
2
|
4,154
|
23 Noviembre 2010, 20:53 pm
por jumamudi
|
|
|
Error con photoshop he puesto video de lo que pasa.
« 1 2 »
Software
|
anonimo12121
|
10
|
5,487
|
7 Abril 2011, 16:17 pm
por anonimo12121
|
|
|
Protección con llave HASP sin la llave original
Hacking
|
fperea
|
0
|
7,438
|
1 Enero 2012, 21:31 pm
por fperea
|
|