elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Necesito ayuda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Necesito ayuda  (Leído 3,507 veces)
Quieroaprenderprogramacio

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Necesito ayuda
« en: 17 Febrero 2019, 06:07 am »

Hola soy nuevo usando dev c++, y queria hacer como un tipo de examen de preguntas abiertas, ejemplo:

¿Que te pertenece y todo el mundo lo utiliza?

la respuesta seria el nombre,

y lo que hasta ahora he logrado es que justo despues de poner la pregunta pueda poner la respuesta, pero la respuesta no he logrado que sea el nombre, ya que la unica manera en la que he logrado que funcione es dando opciones 1,2 y 3, o algo menos alejado ha sido "El" no "El nombre" y darle un valor a la respuesta si es correcta, si es correcta 1 si no -1 igual con la sig pregunta y pues queria ayuda para poder lograrlo.



En línea

Pedrocasty

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Necesito ayuda
« Respuesta #1 en: 17 Febrero 2019, 21:15 pm »

buenas, has probado a guardar una variable string, que sea igual a `el nombre`;
y si la respuesta es igual a esa variable que haga un cout de es correcto. Repito estoy empezando también


En línea

Quieroaprenderprogramacio

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Necesito ayuda
« Respuesta #2 en: 17 Febrero 2019, 23:06 pm »

Voy a intentarlo, gracias.
En línea

0xDevC

Desconectado Desconectado

Mensajes: 2


Ver Perfil
Re: Necesito ayuda
« Respuesta #3 en: 18 Febrero 2019, 00:58 am »

Se que ya te han dado la respuesta pero esta tarde tambien te la iba a dar anexandole el codigo pero como me fallaba decidí no enviarlo, entonces simplemente dejaré el codigo ahora que si me funciona como es debido.


#include <iostream>
#include <string.h>

using namespace std;

int main(){
   
   string resp;
   
   cout<<"¿Que te pertenece y todo el mundo lo utiliza?"<<endl;
   cin>>resp;
   
   if (resp == "el nombre", "El nombre")
   {
      cout<<"Respuesta correcta !";
   }
   else
   {
      cout<<"Respuesta incorrecta !";
   }
   
   
   cin.get();
   return 0;
}

Tengo un curso de c++ que incié ayer, talvez te interesaría, tambien soy nuevo e inicie ese curso para aprender junto a los demas  :D

https://goo.gl/h8boEX
En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.057



Ver Perfil
Re: Necesito ayuda
« Respuesta #4 en: 18 Febrero 2019, 02:12 am »

Código
  1. if (resp == "el nombre", "El nombre")

- Que clase de brujería es esa :xD, no lo encuentro en mis libros pero funciona  :o ( corrijo, trabaja como un if (true) )
« Última modificación: 18 Febrero 2019, 14:35 pm por EdePC » En línea

Pedrocasty

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Necesito ayuda
« Respuesta #5 en: 18 Febrero 2019, 11:12 am »

ajjajaajajja lo de la , es verdad que arece que funciona pero sustituyelo por una puerta or ||  , es mas profesiona, supongo
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Necesito ayuda
« Respuesta #6 en: 18 Febrero 2019, 14:23 pm »

El operador coma no es para eso.
Es el operador binario de menor prioridad. Funciona así:
Evalúa el primer operando y descarta el valor, después evalúa el siguiente operando y regresa su valor. Tal y cómo está en el código primer evaluará respuesta=="el nombre" y descartará el respuesta, después evaluará "El nombre" y devolverá su dirección, que cómo no será NULL el if lo tratará como true. Básicamente es un if(true).
En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.057



Ver Perfil
Re: Necesito ayuda
« Respuesta #7 en: 18 Febrero 2019, 14:34 pm »

- Anda, cierto, no habia probado una respuesta incorrecta, jeje, con tanto cambio que he visto en C++ pensé que estaba facilitando el uso de expresiones booleanas como Python XD.
En línea

K-YreX
Moderador
***
Desconectado Desconectado

Mensajes: 1.008



Ver Perfil
Re: Necesito ayuda
« Respuesta #8 en: 19 Febrero 2019, 14:29 pm »

Además de lo ya comentado no puedes usar <cin> para la entrada de datos. Ya que <cin> sólo almacena hasta el primer espacio. Por lo que si introduces "el nombre" mediante un <cin>, en la variable sólo se almacenará "el".
Para solucionar eso te recomiendo usar <getline()>. Suerte :-X

PD: Si quieres ampliar un poco el programa te recomiendo transformar toda la solución a minúsculas y comparar sólo con "el nombre". Por si se da el caso de que alguien lo escribe en mayúsculas.
En línea

Código
  1. cout << "Todos tenemos un defecto, un error en nuestro código" << endl;
Quieroaprenderprogramacio

Desconectado Desconectado

Mensajes: 7


Ver Perfil
Re: Necesito ayuda
« Respuesta #9 en: 25 Febrero 2019, 00:33 am »

Gracias a todos, ya he podido poner incluso mas de solo 1 pregunta.

int main(){
   system("color 70");
   int t;
   
   char r1[50];
   char r2[] = "Si";
   char r3[50];
   char r4[] = "El nombre";
   
     
   
   cout<<"(Todas las respuestas deben ser contestastas con la letra inicial en mayusculas, una respuesta correcta vale 10 puntos, una erronea vale -5)"<<endl;
   
   do{
      cout<<"Listo (Si o No): ";
      gets(r1);
      if(strcmp(r1,r2)!=0){
      }
   }while(strcmp(r1,r2)!=0);
   
   cout<<"\nBien empecemos..."<<endl;
   //
   cout<<"\n(P1)...Que te pertenece que todo el mundo usa? ";
   gets(r3);
   if(strcmp(r3,r4)==0){
      t=0+10;
      cout<<"Corecto... Puntuacion: "<<t<<endl;
   }
   else{
      t=0-5;
      cout<<"Incorrecto, respuesta correcta..... (El nombre) ... puntuacion: "<<t<<endl;
   }

   
   cout<<"\n\n\n";
   system("pause");
   return 0;
}


 ;D ;D ;D
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines