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

Функция sleep() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 365, средняя оценка - 4.68
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
21.04.2010, 09:40     Функция sleep() #1
Добрый день!
Помогите мне пожалуйста:
Создать функцию sleep(), приостанавливающая работу компьютера на столько секунд, сколько указано в аргументе функции. Перегрузите функцию sleep(),так чтобы она могла вызываться или с целым или со строкой задающее время.
Пример: остановка на 10 сек.
Sleep(10);
Sleep(“10”);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.04.2010, 09:40     Функция sleep()
Посмотрите здесь:

C++ sleep в с++
Sleep, delay C++
C++ Sleep
C++ функция sleep()
аналог Sleep C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
21.04.2010, 09:52     Функция sleep() #2
у меня получилось только так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <windows.h>
 
using namespace std;
 
void Sleep(BYTE time)
{
    Sleep((DWORD)time*1000);
    return;
}
 
int main()
{
    cout << "Hello ";
    Sleep((BYTE)10);
    cout << "World !\n";
    system("pause");
    return 0;
}
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
22.04.2010, 06:40  [ТС]     Функция sleep() #3
А как сделать в виде перегрузки?
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
22.04.2010, 10:19     Функция sleep() #4
ааа...
так тебе нужен еще вариант с апргументом ввиде строки ?
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
22.04.2010, 11:18  [ТС]     Функция sleep() #5
Ну да...
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
22.04.2010, 11:31     Функция sleep() #6
хорошо...
попробую сделать...

Добавлено через 5 минут
ну вот
доделал
C++
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
#include <iostream>
#include <windows.h>
 
using namespace std;
 
void Sleep(BYTE time)
{
    return Sleep((DWORD)time*1000);
}
 
void Sleep(char * str)
{
    return Sleep((DWORD)atoi(str)*1000);
}
 
int main()
{
    cout << "Hello ";
    Sleep((BYTE)10);
    cout << "World !\n";
    cout << "Hello ";
    Sleep("10");
    cout << "World !\n";
    system("pause");
    return 0;
}
Humanoid
Почетный модератор
 Аватар для Humanoid
9699 / 3749 / 140
Регистрация: 12.06.2008
Сообщений: 11,302
22.04.2010, 11:47     Функция sleep() #7
Я плохо знаю Си, поэтому могу ошибаться. Но мне кажется, что внутри функции Sleep обращение к sleep должно быть маленькими буквами... иначе будет бесконечная рекурсия. Ведь, внутри Sleep мы обращаемся к API функции sleep. И вообще, называть так функции лично на мой взгляд не очень хорошо... ведь так можно перепутать Sleep и sleep
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
22.04.2010, 11:52     Функция sleep() #8
это перегрузка функции, так задано условие
а рекурсии не будет потому что моя функция принимает параметр BYTE, а вторая CHAR
а сама WinAPI принимает DWORD

Добавлено через 1 минуту
я тестировал! всё работает хорошо
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
28.04.2010, 10:00  [ТС]     Функция sleep() #9
А что означает вот это:
(DWORD)time*1000
(DWORD)atoi(str)*1000

Добавлено через 40 минут
подскажите пожалуйста...
M128K145
Эксперт C++
 Аватар для M128K145
8272 / 3491 / 142
Регистрация: 03.07.2009
Сообщений: 10,707
28.04.2010, 10:06     Функция sleep() #10
JM007, явное привидение типа к DWORD
JM007
0 / 0 / 0
Регистрация: 04.04.2010
Сообщений: 57
28.04.2010, 20:14  [ТС]     Функция sleep() #11
А что означает time*1000
Hell Knight
 Аватар для Hell Knight
230 / 84 / 3
Регистрация: 11.03.2010
Сообщений: 290
28.04.2010, 20:19     Функция sleep() #12
Цитата Сообщение от JM007 Посмотреть сообщение
А что означает time*1000
дело в том, что уже существует стандартная api-функция:
C++
1
void Sleep(DWORD)
она принимает значение в миллисекундах...
а как известно:
1 секунда = 1000 миллисекунд
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.03.2016, 15:54     Функция sleep()
Еще ссылки по теме:

функция Sleep() ? C++
фуекция sleep C++
C++ Sleep в C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
kivinew
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 1
07.03.2016, 15:54     Функция sleep() #13
Кликните здесь для просмотра всего текста
return Sleep((DWORD)atoi(str)*1000);
а как void функция может что то возвращать?
Yandex
Объявления
07.03.2016, 15:54     Функция sleep()
Ответ Создать тему
Опции темы

Текущее время: 11:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru