elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 02:52  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  preguntas y respuestas c++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: preguntas y respuestas c++  (Leído 1,073 veces)
peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
preguntas y respuestas c++
« en: 2 Agosto 2011, 00:58 »

tengo un problema con el siguiente codigo...
Código:
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>

int main (void)
{
    int a,b,c,i;
    char cadena1[40]="calcul";
   
    printf("mis preguntas y respuestas \n \n");
    printf("escriba la pregunta:  ");
    gets(cadena1);
   
    i= strcmp(cadena1,"que edad tengo?");
    if (i==0){
    printf("15\n\n");
}
std::cout << "desea continuar (s o n)?\n";
char answer=0;
std::cin >> answer;
switch (answer){
       case 's':
            return true;
       case 'n':
            return false;
       default:
               std::cout<<"tomo su respuesca como un no.\n";
               return false;
               }
               
     getchar();
     return 0;
}

el problema es que cuando me pregunta si deseo continuar o no y pongo la letra "s" que en un principio es para continuar en el programa sin que se cierre... no pasa eso... se me cierra!!! se que me falta algo pero no se el que es...

me podeis ayudar con esa duda que tengo???


En línea
M1L0666

Desconectado Desconectado

Mensajes: 15



Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #1 en: 2 Agosto 2011, 01:38 »

En el switch te falto poner los: "break;"
seria algo asi:
Código:
switch (answer){
       case 's':
            return true;
break;
       case 'n':
            return false;
break;
       default:
               std::cout<<"tomo su respuesca como un no.\n";
               return false;
               }


En línea






Mas vale un minuto de tonto, que una vida de pendejo.
Leo Gutiérrez.
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 2.968


/^$/


Ver Perfil WWW
Re: preguntas y respuestas c++
« Respuesta #2 en: 2 Agosto 2011, 01:44 »

¿Cuándo aprenderán a distinguir entre C y C++?
En línea

Código
(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}
 

leorocko13@hotmail.com
https://github.com/leogtzr/
Ferno

Desconectado Desconectado

Mensajes: 282


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #3 en: 2 Agosto 2011, 03:13 »

¿Cuándo aprenderán a distinguir entre C y C++?

Supongo que eso pasará cuando todos empiecen aprendiendo C y no directamente C++ :P
En línea
peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #4 en: 2 Agosto 2011, 13:28 »

M1L0666 e puesto lo que me digistes... pero sigue cerrandose cuando le pido continuar con el programa...
En línea
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #5 en: 2 Agosto 2011, 15:21 »

No se muy bien que es lo que buscas pero creo que es esto:
Código
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>
char respuesta =0;
int main (void)
{
   int a,b,c,i;
   char cadena1[40]="calcul";
   do{
   printf("mis preguntas y respuestas \n \n");
   printf("escriba la pregunta:  ");
   gets(cadena1);
 
   i= strcmp(cadena1,"que edad tengo?");
   if (i==0){
   printf("15\n\n");
}
 
std::cout << "desea continuar (s o n)?\n";
std::cin >> respuesta;
switch (respuesta){
      case 's':
  if (respuesta == 's'){
  printf("ha salido con la respuesta s\n");
 
  break;}
      case 'n':
  if (respuesta == 'n'){
  printf("ha salido con la respuesta n");
           return false;
break;}
      default:
 
  printf("ha salido sin la letra n o s");
              return false;
  break;
}
              }while ((respuesta =='s')||(respuesta == 'S'));
 
    getchar();
    return 0;
}

Un saludo
En línea

peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #6 en: 2 Agosto 2011, 15:37 »

muchas gracias por la ayuda...

aora el problema es que cuando la respuesta es que si quiero continuar no para de preguntarme si deseo continuar i no me deja poner mas la pregunta inicial...

se que falta algun detalle que se nos a escapado... pero aun asi... muchisimas gracias por la aclaracion
« Última modificación: 2 Agosto 2011, 15:40 por peterfly » En línea
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #7 en: 2 Agosto 2011, 15:47 »

¿Has probado el code que te he pasado? :-\ Hace eso que pides...

Un saludo
En línea

peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #8 en: 2 Agosto 2011, 15:59 »

si que lo e provado... i cuando pongo la "s" de si que quiero continuar despues de la pregunta  inicial me lase el principio de todo pero tambien me pregunta si quiero continuar i no me deja volver a poner "que edad tengo?"
es decir que no para de preguntarme si quiero continuar

por eso decia que se nos escapa algun detalle... i es para que no me vuelva a preguntar si quiero continuar despues de poner la "s" (para que solo me lo pregunte una vez)
En línea
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #9 en: 2 Agosto 2011, 17:28 »

Explicanos con lujo de detalles que quieres que haga el programa,porque sigo sin enterarme bien  :-\

Un saludo
En línea

peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #10 en: 2 Agosto 2011, 17:39 »

lo que quero es:
1. el programa tiene que preguntarte (que pregunta quieres acer)
2. cuando aces la pregunta te sale automaticamente la respuesta
3. cuando a salido la respuesta te pregunta el programa (quieres continuar o no)
4. al responder (si quiero continuar) vuelve al principio

resultados actuales:
1. el programa te pregunta (que pregunta quieres acer)
2. cuando aces la pregunta te sale la respuesta automaticamente
3. cuando a salido la respuesta te pregunta si quieres continuar o no
4. AQUI ESTA EL PROBLEMA al responder (si quiero continuar) te sigue preguntando (si quieres continuar)
En línea
Dark Invader

Desconectado Desconectado

Mensajes: 111


Lucha hasta el final para conseguir tu objetivo.


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #11 en: 2 Agosto 2011, 18:25 »

Esto es lo que quieres,pero te falta añadir muchas preguntas y sus respuesta:

Código
#include <cstdlib>
#include <iostream>
#include <stdio.h>
#include <string.h>
 
int main (void)
{
 
   int i;
   char cadena1[40]="";
char respuesta =0;
   do{
   printf("mis preguntas y respuestas \n \n");
   printf("escriba la pregunta:  ");
   gets(cadena1);
 
 
   i= strcmp(cadena1,"que edad tengo?");
   if (i==0){
   printf("15\n\n");
 
}
 
std::cout << "desea continuar (s o n)?\n";
std::cin >> respuesta;
setbuf(stdin,NULL);
switch (respuesta){
      case 's':
 
  printf("ha salido con la respuesta s\n");
 
  break;
      case 'n':
 
  printf("ha salido con la respuesta n");
           return false;
break;
      default:
 
  printf("ha salido sin la letra n o s");
              return false;
  break;
 
}
              }while ((respuesta =='s')||(respuesta == 'S'));
 
    getchar();
    return 0;
}
En línea

rir3760


Desconectado Desconectado

Mensajes: 382


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #12 en: 2 Agosto 2011, 18:33 »

En respuesta a peterfly: necesitas un buen libro o curso sobre C++ y seguirlo a detalle ya que con "palos de ciego" ni aprendes bien ni aprendes rápido. Revisa los temas fijos de este foro, ahí hay información para entretenerse por meses.

En cuanto al programa honestamente no lo veo sentido pero se puede hacer asi:
Código
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
 
#include <string>
using std::string;
 
#include <limits>
using std::numeric_limits;
 
int main ()
{
  string pregunta;
  char continuar;
 
  do {
     cout << "Escribe la pregunta:  ";
     getline(cin, pregunta);
 
     if (pregunta == "que edad tengo?")
        cout << "Pregunta correcta!" << endl;
     else
        cout << "Pregunta incorrecta!" << endl;
 
     cout << "Desea continuar (s o n)?" << endl;
     std::cin >> continuar;
     cin.ignore(numeric_limits<int>::max(), '\n');
  } while (continuar == 's' || continuar == 'S');
 
  return 0;
}


----


Un comentario sobre el programa de Dark Invader , el uso de la función:
Código
setbuf(stdin,NULL);
Para así vaciar el bufer de la entrada estándar no es correcto ya que esa función termina en una llamada a "setvbuf". El problema aquí es que esta ultima solo puede llamarse antes de cualquier uso del stream (salvo su apertura con fopen).

Un saludo
« Última modificación: 2 Agosto 2011, 18:42 por rir3760 » En línea

The capacity to learn is a gift;
The ability to learn is a skill;
The willingness to learn is a choice.
--
Rebec of Ginaz
peterfly

Desconectado Desconectado

Mensajes: 74


Ver Perfil
Re: preguntas y respuestas c++
« Respuesta #13 en: 2 Agosto 2011, 18:42 »

muchisimas gracias a todos... tema solucionado
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
preguntas y respuestas dinámicas
Desarrollo Web
TaN€R 2 375 Último mensaje 9 Octubre 2004, 12:38
por TaN€R
Buzón de Preguntas,Respuestas,...de Superplay
Programación General
Superplay 6 553 Último mensaje 6 Septiembre 2005, 19:15
por Superplay
[FAQ] Preguntas y respuestas frecuentes.
Software
Siuto 0 21,331 Último mensaje 11 Diciembre 2005, 04:43
por Siuto
Banco de Preguntas y respuestas..
Dudas Generales
Hadess_inf 0 4,628 Último mensaje 24 Octubre 2007, 22:48
por Hadess_inf
preguntas y respuestas
Grabadoras
pingoroxo 2 1,835 Último mensaje 12 Diciembre 2008, 01:48
por Axus
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines