Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Счётчик времени минут и секунд тормозит CPU, CPU нагрузка: 50% 
V
    Опции темы
DragoonFighter
Дата 14.9.2008, 15:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 16.7.2007
Где: Access denied

Репутация: нет
Всего: нет



Здравствуйте,
у меня тут маленькая проблема. Вот дети играют в игры в которых можно каждый час добавлять деньга на игровой счёт. Решил написать малую и простенькую программу чтоб им автоматически заполнялся счёт каждый час. 

Написал, работает. Но заметил что компьютер тормозит по полной! Зашёл  в Task Manager а эта программа перегружает процессор по полной, причины не могу найти. Может это так и должно быть, тоже не знаю. Вот код, если кто  знает почему так, может откликнутся? 
За ранние спасибо!

Код

#include <ctime>
#include <ostream>
#include <cstdlib>
#include <iostream>
#include <string>

#include <windows.h>


#define COLOR1    1
#define COLOR2    2
#define COLOR3    3

using namespace std;

void w( int seconds )
        {
        clock_t endwait;
        endwait = clock () + seconds * CLOCKS_PER_SEC ;
        while (clock() < endwait) {}
        };
void c(short int a)
        {
        HANDLE handle = GetStdHandle( STD_OUTPUT_HANDLE );
        SetConsoleTextAttribute( handle, a ); 
        };

int main(int argc, char *argv[])
{
    string menu;
    
    while(1) {
             c(15);
             cout << "Menu" << endl;
             cout << "" << endl;
             cout << "[1] - ";
             c(12);
             cout << "freak";
             c(15);
             cout << " -> Pennergame" << endl;
             cout << "" << endl;
             getline(cin, menu);
             
             if(menu == "1") {
                     system("start http://www.pennergame.de/change_please/6818801/");
                     while(1) {
                              int m = 60;
                              while(m > 0) {
                                      int s = 60;
                                      m--;
                                      while(s > 0) {
                                              system("cls");
                                              cout << "Еще ";
                                              c(12);
                                              cout << m;
                                              c(15);
                                              cout << "минут" << endl;
                                              cout << "...и ";
                                              c(10);
                                              cout << s;
                                              c(15);
                                              cout  << " секунд" << endl;
                                              s--;
                                              w(1);
                                              }
                                      continue;
                                      }
                     }
                     system("start http://www.pennergame.de/change_please/6818801/");
                     continue;
}
    system("PAUSE");
    return EXIT_SUCCESS;
}

--------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то.
PM MAIL WWW ICQ Skype YIM MSN   Вверх
Ln78
Дата 14.9.2008, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 25.11.2006

Репутация: нет
Всего: 15



Цитата(DragoonFighter @  14.9.2008,  16:43 Найти цитируемый пост)
while (clock() < endwait) {}

DragoonFighter, здесь ты ничего не делаешь, но тратишь на это уйму энергии. Нужно использовать что-нибудь менее обременительное для компьютера, например, Sleep.
PM MAIL   Вверх
DragoonFighter
Дата 14.9.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 115
Регистрация: 16.7.2007
Где: Access denied

Репутация: нет
Всего: нет



Благодарю Ln72!
--------------------
Зрелость личности - это не когда человек хочет умереть ради кого-то, а когда он хочет жить ради кого-то.
PM MAIL WWW ICQ Skype YIM MSN   Вверх
chipset
Дата 14.9.2008, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4071
Регистрация: 11.1.2003
Где: Seattle, US

Репутация: 2
Всего: 165



Ещё круче waitable timer. Кстати 50% загрузка потому-что у тебя видимо два проца, ага?


--------------------
Цитата(Jimi Hendrix)
Well, I stand up next to a mountain
And I chop it down with the edge of my hand
PM MAIL WWW   Вверх
Gongex
Дата 22.9.2008, 17:28 (ссылка)   | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 1.1.2008

Репутация: нет
Всего: 0



нагрузка на процессор потому что из while не вылезает, а их у него 5 где то........как бесконечный цикл
Комп ждет пять вещей5 циклов whileмозги рзрывает,это все равно что включить сразу пять экшенов стрелялок      Используй IF() {  ;}

Это сообщение отредактировал(а) Gongex - 22.9.2008, 17:33
PM MAIL   Вверх
NebelDT
Дата 30.9.2008, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.9.2008
Где: RU

Репутация: -6
Всего: -10



ДА с while ты переборшил, у меня такое тож бывало... smile 
PM MAIL WWW YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.