Necesito ayuda en este bucle!!! es urgente!!! gracias
Tengo este codigo fuente, y no se porque al ejecutarlo, me repite dos veces la frase introduce opcion, es muy importante resolverlo, ya que tengo q hacer algo parecido en el trabajo!!! muchas gracias por adelantado!!!!
#include <stdio.h>
#include <stdlib.h>
int num1;
int num2;
int total;
int resultado;
char opcion;
char J;
int main()
{
do {
printf("introduce opcionn");
scanf("%c",&opcion);
if(opcion=='J')
{ num1=rand()%5;
num2=rand()%5;
resultado=num1+num2;
printf("introduce el resultadon");
scanf("%d",&total);
}
if (opcion=='S') printf("hasta luego");
}while(opcion!='S');
system("pause");
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int num1;
int num2;
int total;
int resultado;
char opcion;
char J;
int main()
{
do {
printf("introduce opcionn");
scanf("%c",&opcion);
if(opcion=='J')
{ num1=rand()%5;
num2=rand()%5;
resultado=num1+num2;
printf("introduce el resultadon");
scanf("%d",&total);
}
if (opcion=='S') printf("hasta luego");
}while(opcion!='S');
system("pause");
return 0;
}
Buen dia amigo,
En este momento estoy instalando el compilador para verificarlo, pero creo que tu problema no es directamente con el manejo del bucle sino con el scanf; tu estas solicitando que introduzcan un dato de tipo CHAR, por lo tanto en el tipo no debes colocar el &, ya que CHAR es una cadena. Intenta hacer lo siguiente y avisame si funciona, de todas maneras, como te dije, estoy compilando para veriricar.
printf("introduce opcionn");
scanf("%c",opcion);
SI yo estuviere en lo correcto, tu problema es que el compilador no te toma como valida la peticion y desecha la instruccion dando como resultado cualquier cosa y repite el bucle ya que la condicion de while es "!S"...
En este momento estoy instalando el compilador para verificarlo, pero creo que tu problema no es directamente con el manejo del bucle sino con el scanf; tu estas solicitando que introduzcan un dato de tipo CHAR, por lo tanto en el tipo no debes colocar el &, ya que CHAR es una cadena. Intenta hacer lo siguiente y avisame si funciona, de todas maneras, como te dije, estoy compilando para veriricar.
printf("introduce opcionn");
scanf("%c",opcion);
SI yo estuviere en lo correcto, tu problema es que el compilador no te toma como valida la peticion y desecha la instruccion dando como resultado cualquier cosa y repite el bucle ya que la condicion de while es "!S"...
Es que si le quito el &, se me queda colgado el programa y no me hace nada. Esto es un jaleo!!!! porque no averiguo porque es!!!! muchas gracias Sircoko!!!
Buenas de nuevo, he probado a realizar el programa, en vez de que sea de tipo char la variable opcion, la he puesto tipo entero, y en vez de tener que meter caracteres J y S, pues metiendo 1 y 2, y asi si funciona y no repite el menú!!!
pero resulta que claro, en el juego q estoy haciendo tienen que ser Caracteres lo que tengo q introducir!!!!
bueno por lo menos el error yo creo que se ve que ya es ahi!!!
saludoss
pero resulta que claro, en el juego q estoy haciendo tienen que ser Caracteres lo que tengo q introducir!!!!
bueno por lo menos el error yo creo que se ve que ya es ahi!!!
saludoss
Hola otra vez.
Disculpa la tardanza, he estado ocupado.
Detalle el codigo y efectivamente si necesitas el & porque es una sola letra, no es una palabra, y usando algunos trucos para detectar errores me he fijado de que la comparacion que haces la haces como un numero y no como un char. en los condicionales debes hacer if/while....(variable='S') es decir, UNA SOLA IGUALDAD. ya compile y funciona perfecto.
Suerte!
Disculpa la tardanza, he estado ocupado.
Detalle el codigo y efectivamente si necesitas el & porque es una sola letra, no es una palabra, y usando algunos trucos para detectar errores me he fijado de que la comparacion que haces la haces como un numero y no como un char. en los condicionales debes hacer if/while....(variable='S') es decir, UNA SOLA IGUALDAD. ya compile y funciona perfecto.
Suerte!
Que va, no funciona!! si sí tengo que poner == porque es una comparación, si sólo pongo un = es una asignación, entonces no me funciona!
buff me tiene loca el dichoso programa!!!
buff me tiene loca el dichoso programa!!!
Explico que es lo que kero que me haga el programa:
lo ejecuto, y que me salga una pregunta diciendome que opción quiero hacer (por ejemplo jugar y salir)
si digo jugar, pues tengo q introducir un resultado por pantalla...
y despues de haber jugado quiero que vuelva a verse el menu, vamos q me vuelva a preguntar q quiero hacer
.....
y asi hasta que elija la opcion Salir y salga del programa
gracias!!!
lo ejecuto, y que me salga una pregunta diciendome que opción quiero hacer (por ejemplo jugar y salir)
si digo jugar, pues tengo q introducir un resultado por pantalla...
y despues de haber jugado quiero que vuelva a verse el menu, vamos q me vuelva a preguntar q quiero hacer
.....
y asi hasta que elija la opcion Salir y salga del programa
gracias!!!