How to Create a Timer In C++

#include<iostream.h>
#include<time.h>
#include<conio.h>
void sleep(long double d)
{
clock_t start=clock();
while(clock() - start < d); ///loop until time's up
}
main()
{char alpha;

do{
long double h1,m1,n=0;
cout<<"\t\t\t\t T I M E R \n";
cout<<"Enter Time: ";
cout<<"\n Hours : ";
long double h,m,s=0;
cin>>h;
cout<<"\n Minutes : ";
cin>>m;
cout<<"\nSeconds : ";
cin>>s;
if(h<0||h>100)
cout<<"Unexpected values Entered ... ";
else if (m<0||m>60)
cout<<"Unexpected values Entered ... ";
else if (s<0||s>60)
cout<<"Unexpected values Entered ... ";
else
{h1=h*60*60;
m1=m*60;
n=h1+m1+s;
cout<<"\n Time Elapsed : \n";
for(int i=0;i<n;i++)
{
sleep(990); // 990 and not 1000 to bring accuracy .......................
cout<<".";

}
clrscr();
cout<<"\t\t\t\tT I M E R \n\n\n";
cout<<"Timer Finished ... for "<<h<<":"<<m<<":"<<s ;
}
cout<<"\n\nDo You Wish To Continue ... (y/n) ... ";

cin>>alpha;
clrscr ();
}while(alpha=='y'||alpha=='Y');

}
std::this_thread::sleep_for() http://en.cppreference.com/w/cpp/thread/sleep_for

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <iostream>
#include <thread>
#include <chrono>
#include <ctime>

void sleep( unsigned int secs )
{ std::this_thread::sleep_for( std::chrono::seconds(secs) ) ; }

void sleep( int hrs, int mins, int secs )
{ sleep( hrs*3600 + mins*60 + secs ) ; }

void usleep( unsigned int usec )
{ std::this_thread::sleep_for( std::chrono::microseconds(usec) ) ; }

void nanosleep( unsigned int secs, unsigned int nanosecs )
{
    std::this_thread::sleep_for( std::chrono::seconds(secs) +
                                 std::chrono::nanoseconds(nanosecs) ) ;
}

void wall_clock()
{
    auto t = std::time(nullptr) ;
    char cstr[128] ;
    std::strftime( cstr, sizeof(cstr), "%H:%M:%S UTC", std::gmtime(&t) ) ;
    std::cout << cstr << '\n' ;
}

int main()
{
    wall_clock() ;

    sleep(2) ;
    wall_clock() ;

    usleep(3000000) ;
    wall_clock() ;

    nanosleep( 3, 999999999 ) ;
    wall_clock() ;
}

http://coliru.stacked-crooked.com/a/366fc250f847c3a0
He is using iostream.h, so a very outdated compiler and all the answers here is C++11 ? Lol ...
Topic archived. No new replies allowed.