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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


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

Desconectado Desconectado

Mensajes: 5


Ver Perfil
ayuda: kbhit() en iterador en c++
« en: 19 Julio 2015, 02:01 am »

estoy programando necesito saber como hacer lo siguiente:
que el ciclo se repita cuando yo apreto una tecla pero que se termine cuando apreto escape
basicamente lo que tengo que hacer es esto:
 Realiza un programa que genere las estadísticas de un jugador de ajedrez. Para ello se ingresara sucesivamente las letras G o P (Gano, Perdió)  Hasta que se presione ESC. Se debe ir informando en cada partido: Cantidad de partidos jugados, ganados y perdidos, racha (cantidad de partidos ganados o perdidos en forma consecutiva, los ganados como un número positivo, los perdidos como uno negativo), mejor y peor racha.


« Última modificación: 19 Julio 2015, 03:51 am por Nico01 » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ayuda por favor
« Respuesta #1 en: 19 Julio 2015, 02:52 am »

Hola! veo que eres nuevo en el foro, te aclaro lo siguiente que es parte de las reglas del foro

primero, el titulo debe ser descriptivo
segundo, muestra tu código, puede ayudar
tercero, recomiendo aclarar lo que haces ya que podría ser con una librería diferente según el caso


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Nico01

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ayuda sobre el lenguaje c++
« Respuesta #2 en: 19 Julio 2015, 03:02 am »

gracias ya lo modifique un poco espero que alcanze ya que no hice el codigo todavia y me da verguenza usar pseudo codigo
En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: ayuda sobre el lenguaje c++
« Respuesta #3 en: 19 Julio 2015, 03:07 am »

gracias ya lo modifique un poco espero que alcanze ya que no hice el codigo todavia y me da verguenza usar pseudo codigo

Eso tampoco es descriptivo! Y si no tienes nada hecho, puedes intentar hacer algo y estaremos dispuesto a ayudarte en lo que no puedas. Pero debes intentarlo.

Salu2s

En línea

Nico01

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ayuda sobre el lenguaje c++
« Respuesta #4 en: 19 Julio 2015, 03:20 am »

okey lo lamento no se muy bien expresarme pero e hecho un intento  aqui esta el codigo sin mostrar los resultados:
Código
  1. #include<iostream>
  2. #include<conio.h>
  3. #include<stdlib.h>
  4. using namespace std;
  5. int main()
  6. {
  7.    int cg=0,cp=0,cc=0,c=0;//contador partidas ganadas, perdidas ,consecutivas, contador de partidas
  8.    char op;
  9.    bool repeat=true;
  10.    while(repeat==true)
  11.        c++;
  12.        cout<<"A ganado o perdido G o P ?"<<endl;
  13.        cin>>op;
  14.        if(op=='G'){
  15.            cg++;
  16.            cc++;}
  17.         else {
  18.            cp++;      
  19.            cc--;}
  20.        if(kbhit())
  21.        {
  22.            char s= getch();
  23.            switch (s) {
  24.            case 27:
  25.                repeat=false;
  26.                break;
  27.                        }
  28.        }
  29.  
  30.  
  31.  
  32.    return 0;
  33. }


si hay algo mal o algo que deba saber por favor muestrenme

olvide poner el contador de partidas generales al principio del ciclo antes de las decisiones

Mod: Los códigos deben ir en etiquetas GeSHi... modifica el titulo del problema, "ayuda sobre el lenguaje c++" no indica sobre que va el problema, no hagas doble post, usa el boton modificar
« Última modificación: 19 Julio 2015, 03:52 am por Nico01 » En línea

DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: ayuda: kbhit() en iterador en c++
« Respuesta #5 en: 19 Julio 2015, 05:14 am »

Hola, he visto tu código y tienes varios errores con respecto al mismo. Primero, todo lo que tienes después del while debes encerrarlo en {}, porque todo eso se va a ejecutar mientras vayas leyendo. Ahora, también una sugerencia, utiliza nombres descriptivos para las variables, o sea, si vas a crear una variable para contar las partidas ganadas, utiliza algo como partidasGanadas, así tu código será más legible.

No obstante, no manejo muy bien C++ y me encontré con el problema de que tienes que leer los caracteres G y P para identificar si "el jugador" ganó o perdió, y identificar la pulsación de la tecla ESC, lo cual me parece algo complicado para un ejercicio de una persona que está empezando a programar en C++, lo normal(mas sencillo) sería hasta que se encuentre una linea en blanco, no obstante, estuve mirando, y aquí te explican una manera de hacerlo, o sea, como capturar el ESC, pues como te puedes dar cuenta la consola está destinada a leer caracteres y esperar por un retorno de linea (o sea, ENTER), en el ejemplo que te ponen en esta lugar: http://stackoverflow.com/questions/20175165/read-int-numbers-from-cin-until-esc-is-pressed-c modifican el buffer de la entrada estándar para que no espere el salto de linea.

Lee eso y mira a ver que puedes ir sacando de ahi. Lo demás solo es cuestión de llevar la suma en los contadores y las variables para calcular la racha.

Salu2s
« Última modificación: 19 Julio 2015, 05:16 am por DarK_FirefoX » En línea

Nico01

Desconectado Desconectado

Mensajes: 5


Ver Perfil
Re: ayuda: kbhit() en iterador en c++
« Respuesta #6 en: 19 Julio 2015, 16:58 pm »

hola gracias , pero igual mente en el compilador que uso si acomodo las lineas en orden de prioridad no hace falta las llaves como todo va secuencial hasta que se iguala la linea , y  no es que recien empiezo a programar , por cierto aqui tengo un tipico caso de deteccion de eventos el temas es el siguiente: yo analizo las respuestas en forma de char pero si en el sub proceso interno el kbhit se activa (pulsando cualquier tecla[lo que sucede tambien con la g o p]) y detecta al caracter que se encuentra en la posicion 27 en la tabla ascii , entonces se cambia la condicion y el ciclo se rompe , porque si usara solo getch o cin, me frenaria el programa para pedirme algo que no sea g o p en cullo caso no serviria , ya que yo necesito que el programa se ejecute mientras no se presione esc, igual gracias y me fijare el link que comentaste.
el hecho de que despues use llaves fue fiaca de ordenar .
« Última modificación: 19 Julio 2015, 17:01 pm por Nico01 » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda T_T alguien sabe como usar la funcion "kbhit()"?
Programación C/C++
Ai Toi 2 11,681 Último mensaje 19 Julio 2015, 17:07 pm
por Nico01
como hacer un constructor con un iterador
Java
hardjesjlc 4 3,728 Último mensaje 9 Mayo 2010, 18:55 pm
por biribau
AYUDA!! kbhit() en linux « 1 2 »
Programación C/C++
godofredo 10 10,952 Último mensaje 6 Abril 2011, 00:45 am
por godofredo
ayuda con kbhit()
Programación C/C++
0xDani 3 4,789 Último mensaje 19 Mayo 2012, 21:33 pm
por RyogiShiki
Problema con iterador
Programación C/C++
Kherom 2 1,831 Último mensaje 5 Enero 2013, 19:56 pm
por Kherom
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines