Autor
|
Tema: ayuda: kbhit() en iterador en c++ (Leído 3,632 veces)
|
Nico01
Desconectado
Mensajes: 5
|
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
|
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
Mensajes: 5
|
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
Mensajes: 1.263
Be the change you wanna see in te world
|
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
Mensajes: 5
|
okey lo lamento no se muy bien expresarme pero e hecho un intento aqui esta el codigo sin mostrar los resultados: #include<iostream> #include<conio.h> #include<stdlib.h> using namespace std; int main() { int cg=0,cp=0,cc=0,c=0;//contador partidas ganadas, perdidas ,consecutivas, contador de partidas char op; bool repeat=true; while(repeat==true) c++; cout<<"A ganado o perdido G o P ?"<<endl; cin>>op; if(op=='G'){ cg++; cc++;} else { cp++; cc--;} if(kbhit()) { char s= getch(); switch (s) { case 27: repeat=false; break; } } return 0; }
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
Mensajes: 1.263
Be the change you wanna see in te world
|
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
Mensajes: 5
|
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
|
|
|
|
|
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,718
|
19 Julio 2015, 17:07 pm
por Nico01
|
|
|
como hacer un constructor con un iterador
Java
|
hardjesjlc
|
4
|
3,743
|
9 Mayo 2010, 18:55 pm
por biribau
|
|
|
AYUDA!! kbhit() en linux
« 1 2 »
Programación C/C++
|
godofredo
|
10
|
11,054
|
6 Abril 2011, 00:45 am
por godofredo
|
|
|
ayuda con kbhit()
Programación C/C++
|
0xDani
|
3
|
4,823
|
19 Mayo 2012, 21:33 pm
por RyogiShiki
|
|
|
Problema con iterador
Programación C/C++
|
Kherom
|
2
|
1,861
|
5 Enero 2013, 19:56 pm
por Kherom
|
|