Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.85/497: Рейтинг темы: голосов - 497, средняя оценка - 4.85
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
1

Функция sleep()

21.04.2010, 09:40. Просмотров 90734. Ответов 12
Метки нет (Все метки)

Добрый день!
Помогите мне пожалуйста:
Создать функцию sleep(), приостанавливающая работу компьютера на столько секунд, сколько указано в аргументе функции. Перегрузите функцию sleep(),так чтобы она могла вызываться или с целым или со строкой задающее время.
Пример: остановка на 10 сек.
Sleep(10);
Sleep(“10”);
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.04.2010, 09:40
Ответы с готовыми решениями:

функция sleep()
Создайте функцию sleep(), приостанавливающую работу компьютера на столько секунд, сколько указано в...

функция Sleep() ?
Кто знает , какое значение точно нужно указывать что ты бы единица отчета соответствовала секунде?...

Sleep в C++
Функция Sleep() останавливается при считывания символа с клавиатуры. Мне нужно создать программу...

sleep в с++
Скажите, есть программа на с++, в ней используется функция sleep. Вроде все правильно, но выдает...

12
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
21.04.2010, 09:52 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;
}
1
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
22.04.2010, 06:40  [ТС] 3
А как сделать в виде перегрузки?
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
22.04.2010, 10:19 4
ааа...
так тебе нужен еще вариант с апргументом ввиде строки ?
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
22.04.2010, 11:18  [ТС] 5
Ну да...
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
22.04.2010, 11:31 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;
}
2
Почетный модератор
11157 / 4114 / 409
Регистрация: 12.06.2008
Сообщений: 11,918
22.04.2010, 11:47 7
Я плохо знаю Си, поэтому могу ошибаться. Но мне кажется, что внутри функции Sleep обращение к sleep должно быть маленькими буквами... иначе будет бесконечная рекурсия. Ведь, внутри Sleep мы обращаемся к API функции sleep. И вообще, называть так функции лично на мой взгляд не очень хорошо... ведь так можно перепутать Sleep и sleep
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
22.04.2010, 11:52 8
это перегрузка функции, так задано условие
а рекурсии не будет потому что моя функция принимает параметр BYTE, а вторая CHAR
а сама WinAPI принимает DWORD

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

Добавлено через 40 минут
подскажите пожалуйста...
0
Эксперт JavaЭксперт С++
8362 / 3583 / 419
Регистрация: 03.07.2009
Сообщений: 10,708
28.04.2010, 10:06 10
JM007, явное привидение типа к DWORD
0
1 / 1 / 1
Регистрация: 04.04.2010
Сообщений: 57
28.04.2010, 20:14  [ТС] 11
А что означает time*1000
0
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
28.04.2010, 20:19 12
Цитата Сообщение от JM007 Посмотреть сообщение
А что означает time*1000
дело в том, что уже существует стандартная api-функция:
C++
1
void Sleep(DWORD)
она принимает значение в миллисекундах...
а как известно:
1 секунда = 1000 миллисекунд
2
0 / 0 / 0
Регистрация: 07.11.2015
Сообщений: 2
07.03.2016, 15:54 13
Кликните здесь для просмотра всего текста
return Sleep((DWORD)atoi(str)*1000);
а как void функция может что то возвращать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.03.2016, 15:54

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Sleep
Пишу пакмэна , нужно что бы пакмен бегал быстрее чем приведение как это сделать?? пробовал...

Задержки в Sleep
Друзья, есть код #include &lt;iostream&gt; #include&lt;Windows.h&gt; using namespace std; struct...

фуекция sleep
Программирую под Linux g++; Задали задание найти реализацию функции sleep. Нашёл только header...

аналог Sleep
нужен аналог Sleep, только чтобы он не останавливал программу, а делал обычную задержку(вроде...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.