All pastes #359973 Raw Edit

Something

public cpp v1 · immutable
·published 2007-02-17 04:39 UTC
rendered paste body
/** Copyright (c) 2007, Adnan Zafar** * All rights reserved.* ** * Redistribution and use in source and binary forms, with or without* * modification, are permitted provided that the following conditions are met:* *     * Redistributions of source code must retain the above copyright* *       notice, this list of conditions and the following disclaimer.* *     * Redistributions in binary form must reproduce the above copyright* *       notice, this list of conditions and the following disclaimer in the* *       documentation and/or other materials provided with the distribution.* *     * Neither the name of Adnan Zafar nor the* *       names of its contributors may be used to endorse or promote products* *       derived from this software without specific prior written permission.* ** * THIS SOFTWARE IS PROVIDED BY Adnan Zafar ``AS IS'' AND ANY* * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED* * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE* * DISCLAIMED. IN NO EVENT SHALL Adnan Zafar BE LIABLE FOR ANY* * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES* * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;* * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND* * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT* * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS* * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.**/#include <iostream>#include <iomanip>#include <windows.h>int main(int argc, char **argv) {    unsigned minutes;    unsigned seconds;    std::cout << "Minutes: ";    std::cin >> minutes;    std::cout << "Seconds: ";    std::cin >> seconds;    std::cout << std::endl;    unsigned minElapsed=0, secElapsed=0;    unsigned minRemain = minutes, secRemain = seconds;    for (;; sleep(1000)) {	std::cout.fill('0');	std::cout << minElapsed << ":" << std::setw(2) << secElapsed		  << std::setw(1) << "\t\t\t\t-"		  << minRemain << ":" << std::setw(2) << secRemain		  << std::flush << '\r';	if (++secElapsed == 60) {	    minElapsed++;	    secElapsed = 0;	}	if (secRemain || minRemain) {	    if (!secRemain) {		if (minRemain)		    minRemain--;		secRemain = 59;	    } else		secRemain--;	}    }    std::cout << std::endl;    return 0;}