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

 

 


Tema destacado: Únete al Grupo Steam elhacker.NET


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: ¿Parar un bucle for pulsando una tecla? en: 18 Agosto 2018, 17:36 pm
Sí, MAFUS, es cierto todo. Pero es que ando sin guía y es un amigo el que me hace esta especie de retos. Así voy aprendiendo mientras buscó (como he aprendido el tema de poner colores a los caracteres y demás). Pero si no paso "esta pantalla", no puedo seguir sus peticiones. No sé, leí la página pero no entendí nada. Es por ello que quizás era lo que buscaba, pero por falta de conocimiento no me dí cuenta. ¿Sabes de alguna guía? ¿Y como de usaría lo de la web que me recomendaste? Estoy pensando que antes del for almacenar en el buffer un carácter y así no se defendía el bucle? Es eso lo que quieres decir?
2  Programación / Programación C/C++ / Re: ¿Parar un bucle for pulsando una tecla? en: 18 Agosto 2018, 00:36 am
Getch es para detectar si se ha pulsado una tecla o no. No entiendo la función que tendría en el hecho de detener el programa. ThunderCls, he usado tu código y no funciona.
Para que entendáis mi problema, éste es el código:



Código
  1.  
  2. #include "iostream"
  3. #include "conio.h"
  4. #include "time.h"
  5. using namespace std;
  6. int main(){
  7.   srand(time(NULL));
  8. int Y,num=10;
  9.      int n[11]={0,1,2,3,4,5,6,7,8,9,10};
  10.      Y=rand()%num;
  11.   for (int i=0; i<10;i++){
  12.         if (i==Y){
  13.      cout <<"\033[1;35m\033[1m" << n[i] << "\033[1;35m\033[0m"<<endl;  
  14.      }
  15.         else{   cout << n[i]<<endl;  
  16.  
  17.      sleep(1);
  18.  
  19.   if {(cin.get()=='d')
  20.       return 0;}
  21.  
  22.   }
  23.   }
  24. return 0;  
  25.  
  26. }
[/quote]


Para que entiendan como es el funcionamiento normal que quiero para el programa (cuenta atrás y un número aleatorio se torna de un determinado color), quiten la parte del condicional if que lleva el cin.get.

Gracias por sus mensajes y ayuda. Es que me estoy desanimando de seguir aprendiendo porque no entiendo nada.
3  Programación / Programación C/C++ / Re: ¿Parar un bucle for pulsando una tecla? en: 17 Agosto 2018, 22:53 pm
Entré en el mundo de la programación y el C++ hace unos días. No sé a qué se refiere. Pero si consiguiese eso, ¿Podría poner ese condicional y no pararse hasta que introduzca un carácter?
Sí me pudiese ser más concreto y ayudarme, se lo agradecería mucho.
4  Programación / Programación C/C++ / ¿Parar un bucle for pulsando una tecla? en: 17 Agosto 2018, 22:07 pm
¿Alguien sabe alguna forma de hacerlo? He usado un condicional if en el ciclo for. De la forma: if(cin.get()=='d') Return 0; pero el bucle se queda esperando a que yo pulse alguna otra tecla. Es decir, lo que quiero es que el bucle se vaya ejecutando y cuando yo pulse la d, se termine el programa. No que se quede esperando a que yo pulse la d u otra para funcionar y volver al mismo punto de pedirme otra vez que introduzca otra tecla. Gracias
5  Programación / Programación C/C++ / ¿Qué tengo mal en el código? en: 16 Agosto 2018, 03:23 am
#include "iostream"
#include "conio.h"
#include "time.h"
using namespace std;
int main(){
   srand(time(NULL));
int Y,num=10;
      int n[11]={0,1,2,3,4,5,6,7,8,9,10};
      Y=rand()%num;
   for (int i=0; i<10;i++){
         if (i==Y){
            int a=n;
      cout <<"\033[1;35m\033[1m" << a << "\033[1;35m\033[0m"<<endl;   
      }
         else{   cout << n<<endl;   
      
      sleep(1);
      
      if (cin.get()=='d'){
         
         return 0;
      }
      
   }
   }
return 0;   
}   

Se queda pillada la cuenta atrás en el 0. Mientras que en otro que hice, no. ¿Por qué?
#include <iostream>
#include <conio.h>
#include <time.h>
using namespace std;
int main(){
   srand(time(NULL));
   int Y;
   cout << "Hola, bienvenid@ al programa de ordenamiento e iniciador de cuenta atrás de los números que introduzca."<<endl;
   cout<< "\n Para detener la futura cuenta atrás, pulsar la tecla 'd' "<< endl;
   int n, i, aux,j;
   int arr[100];
   cout<< "\nIngrese la cantidad de números para la cuenta atrás." << endl;
   cin>> n;
   Y=rand()%n;
   for (i=0; i<n;i++){
      
      cout << "Número " << i+1 << " para la cuenta atrás :";
      cin>>arr;   
   }
   
   for (i=0;i<n;i++){
      
      for (j=i+1;j<n;j++){
         
      if (arr<arr[j]){   
   
         aux=arr;
         arr=arr[j];
         arr[j]=aux;      
         }
      }
if (i==Y){
   int a;
a=arr;
   cout <<"\nLos números en cuenta atrás son :" << "\033[1;34m \033[1m" << a;
cout <<"\033[0m \033[0m\n";
}
else{   cout << "\nLos números en cuenta atrás son :" << arr<< endl;   
   sleep(3);
   
   if (cin.get()=='d'){
      cout << "\nCuenta atrás detenida";
      
      return 0;
   }
   }
   }   
return 0;   
}


Por qué en este no?

Gracias
6  Programación / Programación C/C++ / Carácter o frase para iniciar una parte del código en: 14 Agosto 2018, 12:31 pm
Estoy usando la función cin.get() de la forma cin.get()!= 'carácter' pero cuando intento hacerlo con cadena de carácteres, no me funciona. ¿Como se puede hacer?
7  Programación / Programación C/C++ / Función kbhit() y getch() en: 13 Agosto 2018, 16:12 pm
Hola buenas. Resulta que he empezado hace unos días el lenguaje C++. El problema es que estoy intentando hacer un bucle tipo cuenta atrás pero que al pulsar una determinada tecla, éste se pare. Leyendo por internet he visto que una solución es usar el kbhit() de la librería conio.h, pero no sé su sintaxis para una determinada tecla. Y para qué sirve el getch(), ¿Está relacionado?
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines