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

Code::Blocks ругается - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.72
Nikropolb
 Аватар для Nikropolb
48 / 48 / 10
Регистрация: 25.06.2012
Сообщений: 254
Записей в блоге: 1
16.07.2012, 22:22     Code::Blocks ругается #1
При компиляции Code::Blocks ругается на a = rand() % 1 + 0; почему?.


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
int counter_1 = 0, counter_0 = 0;
inline void myFunc();
int main()
{
    for(int a = 1; a <= 100 ;a++) myFunc();
    cout << "Orel " << counter_0 << "\n";
    cout << "Resko " << counter_1 << "\n";
    cin.get();
    return 0;
}
 
inline void myFunc()
{
   int a;
   a = rand() % 1 + 0;
   if (a == 1) counter_1++;
   else if (a == 0) counter_0++;
   cout << a << "\n";
}
Когда данный код компилирую в VS то всё работает.
постоянно а выводит одно и то же число.
как сделать так что бы при каждой итерации цикла а действительно принимала рандомное значение а не оставалось постоянно одним и тем же?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.07.2012, 22:22     Code::Blocks ругается
Посмотрите здесь:

C++ Code::Blocks
C++ Code::blocks
MS VS in CODE BLOCKS C++
C++ code::blocks 10.05
C++ Не компилирует Code::Blocks 10.05
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
16.07.2012, 23:53     Code::Blocks ругается #21
Цитата Сообщение от h3mbr0 Посмотреть сообщение
И оно без ctime работать не будет, и rand() без cstdlib тоже работать не должно, но раз на srand() не ругается, то даже незнаю в чем дело
Мне кажется, это всё зависит от того, что компилятор помещает в пространство имён std. У разных компиляторов это отличается.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
16.07.2012, 23:57     Code::Blocks ругается #22
Цитата Сообщение от alsav22 Посмотреть сообщение
Мне кажется, это всё зависит от того, что компилятор помещает в пространство имён std. У разных компиляторов это отличается.
C++
1
using namespace std;
же, или ты имеешь ввиду что в другие компиляторы помещают в другие нэймспейсы? врятли
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2012, 00:04     Code::Blocks ругается #23
Цитата Сообщение от h3mbr0 Посмотреть сообщение
C++
1
using namespace std;
же, или ты имеешь ввиду что в другие компиляторы помещают в другие нэймспейсы? врятли
using namespace std; Хотя точно не знаю. У меня на MSVC вот это:
srand(time(NULL));
без #include<ctime> не проходит, а на Code Blocks -проходит.
h3mbr0
8 / 8 / 0
Регистрация: 12.03.2012
Сообщений: 125
17.07.2012, 00:16     Code::Blocks ругается #24
Цитата Сообщение от alsav22 Посмотреть сообщение
using namespace std; Хотя точно не знаю. У меня на MSVC вот это: без #include<ctime> не проходит, а на Code Blocks -проходит.
Вы же сами писали
этот код работает даже и без #include <ctime>.
и я поверил вам =)
Ну значит в iostream ctime нет, и было бы странно если бы он был
В любом случае к неймспейсу это никак не относится
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2012, 00:18     Code::Blocks ругается #25
Цитата Сообщение от h3mbr0 Посмотреть сообщение
Вы же сами писали
этот код работает даже и без #include <ctime>.
и я поверил вам =)
У вас какой Code Blocks? Странно, но у меня этот код работает даже и без #include <ctime>. Достаточно #include<iostream> using namespace std;
Разговор шёл о Code Blocks, на нём работает без #include <ctime>.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
17.07.2012, 00:24     Code::Blocks ругается #26
Когда, в Code Blocks, навожу курсор на time в srand(time(NULL));, такая подсказка появляется.
Миниатюры
Code::Blocks ругается  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.07.2012, 01:40     Code::Blocks ругается
Еще ссылки по теме:

sdl и code::blocks C++
C++ Code Blocks и sfml
C++ Code::Blocks

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

Или воспользуйтесь поиском по форуму:
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
17.07.2012, 01:40     Code::Blocks ругается #27
Цитата Сообщение от Nikropolb Посмотреть сообщение
Я вставил все инклуды Jupiter'a и программа заработала.
Но для чего тут cstdlib и ctime?
да будет вам известно что srand и rand находятся в cstdlib/stdlib.h

Цитата Сообщение от h3mbr0 Посмотреть сообщение
cstdlib просто есть в iostream
да что вы говорите, а чем докажете!?
 Комментарий модератора 
Ответ дан. Тема закрыта!
Yandex
Объявления
17.07.2012, 01:40     Code::Blocks ругается
Закрытая тема Создать тему
Опции темы

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