Суббота, 18 Мая 2024, 02:26

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Вопросы по С++ задаём здесь.)
Вопрос-Ответ (C++)
KornivalДата: Воскресенье, 04 Сентября 2011, 19:10 | Сообщение # 1
The Witcher
Сейчас нет на сайте
Чтобы не создавать отдельную тему на каждый глупый вопрос, предлагаю задавать их здесь.

Saitei: все вопросы по С задаём в теме Вопрос-Ответ (С). Благодарю за внимание!
zodiakДата: Четверг, 14 Июня 2012, 16:37 | Сообщение # 361
постоянный участник
Сейчас нет на сайте
Quote (Saitei)
switch умеет работать с текстовыми условиями?

Он умеет работать только с целыми числами и перечислением (enum).


Точка зору окремо взятого індивіда завжди суб'єктивна!

Взломщик
Battle City.Net
SaiteiДата: Четверг, 14 Июня 2012, 16:39 | Сообщение # 362
старожил
Сейчас нет на сайте
Quote (zodiak)
Он умеет работать только с целыми числами и перечислением (enum).

Аналоги if и switch есть?
RumataДата: Четверг, 14 Июня 2012, 16:53 | Сообщение # 363
почетный гость
Сейчас нет на сайте
Saitei, а чем if не нравится?
Есть ещё тернарные операции



SaiteiДата: Четверг, 14 Июня 2012, 16:56 | Сообщение # 364
старожил
Сейчас нет на сайте
Quote (Rumata)
Saitei, а чем if не нравится?

в моём приложении их будет чересчур много. Теряться начну (даже с комментариями в коде)
Quote (Rumata)
Есть ещё тернарные операции

Объясните?
AikidosДата: Четверг, 14 Июня 2012, 17:14 | Сообщение # 365
постоянный участник
Сейчас нет на сайте
Quote (Saitei)

в моём приложении их будет чересчур много. Теряться начну (даже с комментариями в коде)

Разбивай код на модули, классы и т.п.


Ты вышел в поле. Ты куришь гашиш. Ты видишь машину. Ты медведь. Ты горишь.
DemeronДата: Четверг, 14 Июня 2012, 17:21 | Сообщение # 366
User created in C++
Сейчас нет на сайте
Quote (Saitei)
Объясните?

Code
логическое выражение ? выражение 1 : выражение 2


Алгоритм работы операции следующий:
1. Вычисляется логическое выражение.
2. Если логическое выражение истинно, то вычисляется значение выражения выражение 1, в противном случае — значение выражения выражение 2.
3. Вычисленное значение возвращается.

Нужно обратить внимание, что вычисляется только одно из выражений: выражение 1 или выражение 2. Это сделано для оптимизации и, в некотором смысле, соответствует принципу ленивых вычислений.


Сообщение отредактировал Demeron - Четверг, 14 Июня 2012, 17:21
Animan2010Дата: Четверг, 14 Июня 2012, 22:19 | Сообщение # 367
постоянный участник
Сейчас нет на сайте
Прошу подсказать функцию генерации случайного числа в диапазоне от Х до У.
Наподобие: int x = random(x,y);
Заранее спасибо wink

Добавлено (14.06.2012, 22:19)
---------------------------------------------
Да, если есть, то две функции для генерации integer и double чисел


Anima Games
Animan Publishing
SnuuxДата: Четверг, 14 Июня 2012, 22:20 | Сообщение # 368
постоянный участник
Сейчас нет на сайте
Animan2010, rand() гугль
Animan2010Дата: Четверг, 14 Июня 2012, 22:22 | Сообщение # 369
постоянный участник
Сейчас нет на сайте
Snuux, он генерирует числа, но нельзя задать диапазон =(

Anima Games
Animan Publishing
НохчиДата: Четверг, 14 Июня 2012, 22:24 | Сообщение # 370
заслуженный участник
Сейчас нет на сайте
Animan2010,
int i = X+(rand()%Y)


Многие вопросы по Windows отпадут, если посмотреть тут
SaiteiДата: Четверг, 14 Июня 2012, 22:25 | Сообщение # 371
старожил
Сейчас нет на сайте
Quote (Animan2010)
Snuux, он генерирует числа, но нельзя задать диапазон =(

бред
rand(100) - до 99
Animan2010Дата: Четверг, 14 Июня 2012, 22:27 | Сообщение # 372
постоянный участник
Сейчас нет на сайте
Hoxчи, благодарю, как раз такое нагуглил.
Только там советуют c = a+rand()%(b-a); потому что получается не от А до Б а от А до А+Б

Добавлено (14.06.2012, 22:27)
---------------------------------------------
Saitei, этой функции нельзя аргументы передавать


Anima Games
Animan Publishing
SaiteiДата: Четверг, 14 Июня 2012, 22:34 | Сообщение # 373
старожил
Сейчас нет на сайте
Quote (Animan2010)
Saitei, этой функции нельзя аргументы передавать

Пардон тогда. Не сразу понял :)
НохчиДата: Четверг, 14 Июня 2012, 22:37 | Сообщение # 374
заслуженный участник
Сейчас нет на сайте
Quote (Animan2010)
Только там советуют c = a+rand()%(b-a); потому что получается не от А до Б а от А до А+Б

Верно. Что-то меня глючит.


Многие вопросы по Windows отпадут, если посмотреть тут
ctpzДата: Четверг, 14 Июня 2012, 23:13 | Сообщение # 375
участник
Сейчас нет на сайте
Как задавать таймаут между событиями. Пробовал такое:
Code

int psmain(){
int time = time_t() + 5;
while(time != time_t()){
    return false;
}
}

int main(){
psmain();
}

Постоянно выдает false.
MatouДата: Пятница, 15 Июня 2012, 00:55 | Сообщение # 376
Исходный коТ
Сейчас нет на сайте
ctpz, я так понял речь идет о <ctime>. Во первых time_t() это конструктор по умолчанию который устанавливает объект в ноль, т.е. мы просто ноль получим и все. Чтобы получить текущее время нужно использовать функцию time(NULL). Во вторых не понятно что ты вообще хочешь сказать этим кодом, если сделать задержку, то надо писать примерно так
Code

int psmain()
{
      time_t startTime = time(NULL) + 5;
      while(startTime != time(NULL))
      {
      }
      return false;
}

int main()
{
      psmain();
}


Но это дает лишнюю нагрузку на проц. Лучше использовать функцию Sleep(миллисикунды) из <windows>





Сообщение отредактировал Matou - Пятница, 15 Июня 2012, 00:56
warzesДата: Пятница, 15 Июня 2012, 08:27 | Сообщение # 377
участник
Сейчас нет на сайте
удалил, не туда запостил

Мой блог
Вики DirectX


Сообщение отредактировал warzes - Пятница, 15 Июня 2012, 08:33
SnuuxДата: Пятница, 15 Июня 2012, 08:48 | Сообщение # 378
постоянный участник
Сейчас нет на сайте
Quote (Matou)
Лучше использовать функцию Sleep(миллисикунды) из <windows>

Это если ничего не надо выполнять, пока идет Sleep. Ведь он полностью останавливает выполнение программы...
ctpzДата: Пятница, 15 Июня 2012, 11:57 | Сообщение # 379
участник
Сейчас нет на сайте
Quote (Snuux)
Это если ничего не надо выполнять, пока идет Sleep. Ведь он полностью останавливает выполнение программы...

В принципе не надо.
MatouДата: Пятница, 15 Июня 2012, 14:48 | Сообщение # 380
Исходный коТ
Сейчас нет на сайте
Quote (Snuux)
Это если ничего не надо выполнять, пока идет Sleep. Ведь он полностью останавливает выполнение программы...

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



Форум игроделов » Программирование » C/C++ » Вопрос-Ответ (C++) (Вопросы по С++ задаём здесь.)
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг