Foros del Web » Programación para mayores de 30 ;) » C/C++ »

como resolver este algoritmo en c++?

Estas en el tema de como resolver este algoritmo en c++? en el foro de C/C++ en Foros del Web. En un juego de preguntas a las que se responde "Si" o "No" gana quien responda correctamente las tres preguntas. Si se responde mal a ...
  #1 (permalink)  
Antiguo 09/07/2008, 08:42
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
como resolver este algoritmo en c++?

En un juego de preguntas a las que se responde "Si" o "No" gana quien responda correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no se pregunta la siguiente y termina el juego. Las preguntas son:

1. Colon descubrió América?
2. La independencia de México fue en el año 1810?
3. The Doors fue un grupo de rock Americano?
  #2 (permalink)  
Antiguo 09/07/2008, 08:52
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

Pides la respuesta con scanf y luego con if ves si es correcta o no la respuesta...

Saludos
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 09/07/2008, 09:00
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como resolver este algoritmo en c++?

gracias, pero no entiendo, hice así
#include <stdio.h>
#include <string.h>

char res1, res2, res3;
void main ()
{
int i;
printf ("\t JUEGO DE PREGUNTAS\n");
{
printf ("Colón descubrió América?\n");
scanf ("%s", &res1);

{
if (res1 == 'SI')
printf ("Respuesta correcta\n");
else
printf ("\aTERMINA EL JUEGO\n");
}
printf ("La independencia de México fué en el año 1810?\n");
scanf ("%s", &res2);
{
if (res2 == 'SI')
printf ("Respuesta correcta\n");
else
printf ("\aTERMINA EL JUEGO\n");
}
printf ("The doors fue un grupo de rock americano?\n");
scanf ("%s", &res3);
{
if (res3 == 'SI')
printf ("Respuesta correcta\n");
else
printf ("\aTERMINA EL JUEGO\n");
}
}
}
  #4 (permalink)  
Antiguo 09/07/2008, 09:12
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

Pues exactamente a eso me refería (usar scanf e if), solo por recomendación puedes poner que la respuesta sea solamente (S/N), será más fácil...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 09/07/2008, 09:25
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como resolver este algoritmo en c++?

Pero el programa me sigue preguntando aunque la respuesta es incorrecta, y lo que quiero es que cuando la respuesta sea incorrecta que ya no realice la segunda pregunta y salga del programa imprimiendo "terminó el juego"

Última edición por Gguss; 09/07/2008 a las 09:28 Razón: quice decir la segunda pregunta
  #6 (permalink)  
Antiguo 09/07/2008, 09:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

Para que haga eso tus otros if debes anidar dentro del primer if. Por ejemplo:
Código:
if (respuesta=='S') {
      printf ("Respuesta correcta\n")
      printf ("La independencia de México fué en el año 1810?\n");
      scanf ("%s", &res2);
      if (respuesta=='S')
            printf("Respuesta correcta\n")
            // Aquí sigues con la otra pregunta
}
Espero que eso te ayude a entender cuál es la estructura en que debe estar tu código...
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 09/07/2008, 09:48
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como resolver este algoritmo en c++?

intente hacer, pero al ejecutar, ingreso la respuesta y luego ya no pasa nada:
hice así:
#include <stdio.h>
#include <string.h>

char res1, res2, res3, respuesta;
void main ()
{

printf ("\t JUEGO DE PREGUNTAS\n");

printf ("Colón descubrió América?\n");
scanf ("%s", &res1);

if (respuesta == 'S') {
printf ("Respuesta correcta\n");
printf ("La independencia de México fué en el año 1810?\n");
scanf ("%s", &res2);
if (respuesta == 'S')
printf ("Respuesta correcta\n");
printf ("The doors fue un grupo de rock americano?\n");
scanf ("%s", &res3);
if (respuesta == 'S')
printf ("Respuesta correcta\n");
else
printf ("\aTERMINA EL JUEGO\n");
}
}
donde esta mi error?
  #8 (permalink)  
Antiguo 09/07/2008, 09:58
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

Bueno, ¿por qué no estás colocando llaves en los if {} para indicar el inicio y el fin de la instrucción de control?. Ahora mismo no tengo ningún IDE para C++ para probarlo, pero creo que debería darte error. Además, ¿estás colocando S y no s en la respuesta para que así lo reconozca como respuesta correcta?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 09/07/2008, 10:09
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
De acuerdo Respuesta: como resolver este algoritmo en c++?

gracias por el aporte, pero lo que pasa es que soy estudiante del primer semestre de ingeniería, y todavía no manejo muy bien lo que es la programación, pero la ayuda que me diste me sirvió de mucho...
gracias...
ah, de que pais sos?
yo soy de paraguay?
  #10 (permalink)  
Antiguo 09/07/2008, 10:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: como resolver este algoritmo en c++?

Cita:
Iniciado por Gguss Ver Mensaje
gracias por el aporte, pero lo que pasa es que soy estudiante del primer semestre de ingeniería, y todavía no manejo muy bien lo que es la programación, pero la ayuda que me diste me sirvió de mucho...
gracias...
ah, de que pais sos?
yo soy de paraguay?
Saludos, yo también soy de Paraguay .
¿Tienes alguna otra duda con el código?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #11 (permalink)  
Antiguo 09/07/2008, 10:21
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como resolver este algoritmo en c++?

si, le coloqué el codigo de esta manera, pero me da misplaced else...
printf ("Colón descubrió América?\n");
scanf ("%s", &res1);

if (respuesta == 's')
{
printf ("Respuesta correcta\n");
printf ("La independencia de México fué en el año 1810?\n");
scanf ("%s", &res2);

if (respuesta == 's')
{
printf ("Respuesta correcta\n");
printf ("The doors fue un grupo de rock americano?\n");
scanf ("%s", &res3);
}
if (respuesta == 's')
{
printf ("Respuesta correcta\n");

else
printf ("\aTERMINA EL JUEGO\n");
}
}
}
y de que parte del pais sos?
  #12 (permalink)  
Antiguo 09/07/2008, 10:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

El código está mal, pues if respuesta estás colocando fuera de las primeras llaves, o sea no la estás anidando. Además, antes de colocar else debes cerrar las llaves y volver a abrir después de él. Debe ser más o menos así:
Código:
printf ("Colón descubrió América?\n");
scanf ("%s", &res1);                   
if (respuesta == 's')
{
printf ("Respuesta correcta\n");
printf ("La independencia de México fué en el año 1810?\n");
scanf ("%s", &res2);
                        
if (respuesta == 's') {
      printf ("Respuesta correcta\n");
      printf ("The doors fue un grupo de rock americano?\n");
      scanf ("%s", &res3);
      if (respuesta == 's') { 
             printf ("Respuesta correcta\n");
              }
       else {
              printf ("\aTERMINA EL JUEGO\n");
       }
}
}
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 09/07/2008, 10:40
 
Fecha de Ingreso: julio-2008
Mensajes: 9
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como resolver este algoritmo en c++?

gracias, pero igual no me funciona...
  #14 (permalink)  
Antiguo 09/07/2008, 10:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: como resolver este algoritmo en c++?

El problema es que estás obteniendo los datos en la variable 'res1', mientras que en el if estás comparando la variable 'respuesta'. Cambia el código comparando los valores correspondientes...
Además como es un solo caracter debes usar %c en vez de %s.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #15 (permalink)  
Antiguo 09/07/2008, 12:14
Avatar de Apolo
Colaborador
 
Fecha de Ingreso: abril-2003
Ubicación: ubicado
Mensajes: 7.961
Antigüedad: 21 años, 1 mes
Puntos: 109
Respuesta: como resolver este algoritmo en c++?

Tema movido desde el foro de Comentarios y soporte de Foros del Web hacia el foro de C/C++

Saludos,
__________________
Planes VPS en el mundo > DirectorioVPS
Visita los foros de hosting de ComunidadHosting
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:47.