|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - [решено] Написание секундомера в консоли. |
|
C/C++ - [решено] Написание секундомера в консоли.
|
Пользователь Сообщения: 147 |
Профиль | Отправить PM | Цитировать вот написал таймер, ток не могу придумать как остановить.
Помогите. //STOPWATCH.CPP //Снкундомер в консоли. #include <iostream> using std::cout; using std::cin; using std::endl; #include <iomanip> using std::setw; #include <time.h> void wait(int seconds) { clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while ((clock() < endwait)) {} } void printStopWatch(int seconds = 0, int status = 0) { char *ptr[10] = {"СЕКУНДОМЕР", "РАБОТАЕТ", "CТОП"}; cout << "********************" << endl; cout << "********************" << endl; cout << "| " << setw(10) << *(ptr+status) << " |" << endl; cout << "| " << setw(2) << seconds/60 << " : " << setw(2) << ((seconds < 60) ? seconds : seconds%60) << " |" << endl; cout << "********************" << endl; cout << "********************" << endl; } int main() { setlocale(LC_ALL, ".1251"); cout << "Приложение секундомер" << endl; int n = 0; bool status = true; printStopWatch(0,0); cout << "Нажмите клавишу Enter для начала..."; cin.get(); while(status != false) { system("cls"); printStopWatch(n,1); wait (1); n++; } printStopWatch(n, 3); return 0; } |
|
Отправлено: 21:52, 07-08-2010 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать по задумке моей надо изменить bool ststus в true чтоб остановить
|
Отправлено: 21:54, 07-08-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать Можно было бы нажать на кнопку Pause(Break), правда всё исчезает...
|
------- Отправлено: 18:49, 08-08-2010 | #3 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать Если нажать Pause(Break) у меня не чего не исчезает, программа останавливается. И продолжает работать дальше после нажать любой другой. Как сделать что бы хотя бы после нажатия "любой другой" останавливалась навсегда?
|
Отправлено: 20:01, 08-08-2010 | #4 |
Пользователь Сообщения: 99
|
Профиль | Отправить PM | Цитировать Может сделать в визуальном режиме?
|
|
------- Отправлено: 20:31, 08-08-2010 | #5 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать ЭВРИКА РАБОТАЕТ!!!!!!!
//STOPWATCH.CPP //Снкундомер в консоли. #include <iostream> using std::cout; using std::cin; using std::endl; #include <iomanip> using std::setw; #include <time.h> #include <windows.h> void printStopWatch(int seconds = 0, int status = 0) { system("cls"); char *ptr[10] = {"СЕКУНДОМЕР", "РАБОТАЕТ", "CТОП"}; cout << "********************" << endl; cout << "********************" << endl; cout << "| " << setw(10) << *(ptr+status) << " |" << endl; cout << "| " << setw(2) << seconds/60 << " : " << setw(2) << ((seconds < 60) ? seconds : seconds%60) << " |" << endl; cout << "********************" << endl; cout << "********************" << endl; if(status==0) cout << "Нажмите клавишу Enter для начала..."; if(status==1) cout << "Нажмите клавишу Enter для остановки..."; } void wait(int seconds) { clock_t endwait; endwait = clock () + seconds * CLOCKS_PER_SEC ; while((clock() < endwait)){ } return; } int main() { setlocale(LC_ALL, ".1251"); cout << "Приложение секундомер" << endl; int n = 0; bool status = true; printStopWatch(0,0); cin.get(); while(status != false) { printStopWatch(n,1); wait(1); n++; if(GetKeyState(VK_RETURN) == false) status=false; } printStopWatch(n, 2); system("pause"); return 0; } вот более совершенный цикл |
Отправлено: 00:25, 11-08-2010 | #6 |
Пользователь Сообщения: 147
|
Профиль | Отправить PM | Цитировать ха облазил весь рунет, это наверное единственный секундомер в консоли
|
Отправлено: 12:28, 11-08-2010 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Теория - Написание своей консоли (командной строки) | Guest | Программирование и базы данных | 7 | 10-11-2010 20:15 | |
CMD/BAT - [решено] Написание Батника или чего нибудь схожего для ребута модема (ADSL) ZTE | Spike_LV | Скриптовые языки администрирования Windows | 5 | 02-04-2010 13:49 | |
CMD/BAT - [решено] помогите плиз с написание бат файла | sergey12989 | Скриптовые языки администрирования Windows | 7 | 16-04-2009 11:07 | |
Slackware - [решено] Русификация консоли | Naiad | Общий по Linux | 7 | 31-01-2009 11:53 | |
[решено] О смене ip c консоли | Maeth | Microsoft Windows 2000/XP | 1 | 27-05-2007 10:26 |
|