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

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Temas
Páginas: [1]
1  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
2  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
3  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?
4  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