Форум программистов, компьютерный форум CyberForum.ru

Таймер выключения пк - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сложение числа через классы http://www.cyberforum.ru/cpp-beginners/thread450854.html
Надо сложить два больших числа. #include "iostream" #include "stdio.h" #include "conio.h" using namespace std; int L=0; class Fib {
C++ Классы: конструктор копий Создать конструктор копий и оператор присваивания для класса компьютер и члена класса марка Есть некоторые наброски , посмотрите правильно ли я сделал: //Ñîçäàòü êîíñòðóêòîð êîïèé è îïåðàòîð ïðèñâàèâàíèÿ äëÿ êëàññà êîìïüþòåð è ÷ëåíà êëàññà ìàðêà. #include <iostream> using std::cout; class computer { int mark; http://www.cyberforum.ru/cpp-beginners/thread450846.html
C++ Объединить куски программы в единое целое
добрый день есть следующее задание: "ПОИСК БИТОВОГО ОБРАЗА". Вводится последовательность строк символов не длиннее 16 символов. Каждая строка считается числом (кодом) в двоичной системе и после ввода преобразуется в unsigned int. Допустимые символы в строке: "0", "1". Первая строка длиной не более 5 символов (битов) задает битовый образ для поиска в последующих строках. Окончание входного...
C++ Псевдо генератор случаных чисел
Доброго времени суток! Вот есть такая прорамка #include <math.h> #include <stdio.h> #include <conio.h> #include <iostream> using namespace std; #define n 4 #define x01 0.21878104 #define x02 30121
C++ Пожалуйсто помагите написать эти две задачи на с++ http://www.cyberforum.ru/cpp-beginners/thread450814.html
Пожалуйсто помагите написать эти две задачи на с++ ссесию мне бе них не закрыть а никто не понимает((((( ребят если кто знает как сделать помагите буду очень блогодарна!!!!!)))=* Дан двух мерный массив размерностью N x M ( N и M вводиться с клавиатуры). Найти в строках наименьшие элементы. Произвести вывод данного массива в виде матрицы. Дан двухмерный массив размерностью N x M (N и M...
C++ Найти количество всех положительных элементов двумерного массива Дан двумерный массив размерностью N x M (N и М вводятся с клавиатуры). Найти количество всех положительных элементов данного массива. Произвести вывод данного массива в виде матрицы. помоги пожалуста! подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
22.02.2012, 23:15
SleshBaster, запишите
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
system("shutdown -s -t_05");
с пробелом(он отмечен красным) - т.е.
C
1
system("shutdown -s -t 05");
и да прибудет с вами сила!

Добавлено через 17 минут
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
time(&t);
- получили время в милисекундах от 1 января 1970(грубо говоря это стандартная дата отсчёта)см тут http://www.cplusplus.com/reference/clibrary/ctime/time/
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
tm * *tm * *= localtime(&t);
- перевели эти милисекунды в поля структуры tm см здесь http://www.cplusplus.com/reference/c...ime/localtime/
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
char *sDate = asctime(tm);
- теперь уже перевели эти поля в строковый вид(в общем в строку с датой и временем), подробней здесь http://www.cplusplus.com/reference/c...ctime/asctime/
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
printf("current time : %s",sDate);
printf("enter time of shutdown\n");
printf("hour * : ");scanf("%u",&hour);
printf("minute : ");scanf("%u",&min);
printf("second : ");scanf("%u",&sec);
time(&t);
tm * *= localtime(&t);
sDate = asctime(tm);
- тут всё должно быть понятно и начинающему...
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
long nSec * = * (hour - tm->tm_hour)*3600 +
* * * * * * * * * * * * * * * * * * * * (min *- tm->tm_min)*60 *+
* * * * * * * * * * * * * * * * * * * * (sec *- tm->tm_sec);
- почитали скольже наш ввод часов минут и секунд до отключения будет в секундах, т.е. 1 ч 25 мин 3 сек = 3600 + 25*60 + 3 = 5103 сек

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
long start = clock();
- вернёт системное время в тиках проца(не заморачиваемся величиной)
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
while(0 < nSec)
* * * * {
- начали крутиться в цикле пока не исчерпаем секунды(в общем FinalCountdown - то бишь отсчёт времени до отключения)

Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
if((((tick = clock()) - start)/CLOCKS_PER_SEC) == 1)
ick = clock()) - start - даст разницу в тиках проца прошедшую от запуска цикла
CLOCKS_PER_SEC - универсальная константа переводящая тики в сикунды
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
system("cls");
//Чистим экран
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
* * * * * * * * * * * * printf("time of start : %s",sDate);
* * * * * * * * * * * * printf("Seconds for shutdown : %u\n",nSec);
* * * * * * * * * * * * start = tick;
* * * * * * * * * * * * nSec = nSec - 1;
Так вот как только натикали секунду от запуска меняем start на tick и уменьшаем на секунду запас оставшегос времени
Ну а этим
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
system("shutdown -s -t 05");
передаём в стандартную утилиту Windows shutdown.exe параметры -s -t 05 (s - завершение работы t - таймаут завершения - у меня это 5 сек, я запарился и написал t слитно с 05 а надо было через пробел - вот и весь баг)

PS:И помните моя програмулька отрубит комп в любом случае после отработки system("shutdown -s -t 05") - вы уже никак не сможите остановить процесс выключения, даже дядя Билл Гейц не остановит. Так что предварительно завершайте процессы в которых возможно потерять данные...
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru