En este breve, pero útil artículo veremos cómo crear una función delay() para generar retardos en C++

 

 

 

 

 

 


En algunos IDE propietarios existen funciones que permiten generar retardos de n segundos. Pero no hay uno que forme parte del estándar. Para ello veremos cómo armar una función denominada delay() a la cual enviando un parámetro n genera un retarde de n segundos. Por ejemplo:

 

Ejemplo de uso
1
2
3
4
5
6
7
//retardo variable
int retardo = 10;
delay(retardo);
 
 
//Retardo estático
delay(10);

 

 

Y ahora los detalles de implementación:

Implementación delay()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
#include<time.h>
 
using namespace std;
 
void delay (int secs) {
  for (int i = (time(NULL)+secs); time(NULL) != i; time(NULL)) {}
}
 
int main () {
    int retardo;
    cout<<"Segundos = ";
    cin>>retardo;
    delay(retardo);
    cout<<"Listo!";
    return 0;
}

 

Donde:
  1. time(NULL) devuelve el segundo actual del sistema.
  2. Sumando una constante entera, da un número de segundos en el futuro.
  3. En cada iteración se comprueba si esa fecha futura es igual a la fecha actual en el sistema. Cuando se cumple esa condición, entonces se sale del ciclo y el programa continúa.

 

 


Licencia . Ver información de licencia & cómo copiar material de esta web aquí.  - Autor: Cristian1604

 

.