Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.08.2011, 17:12   #1
Iskander_1
Новичок
Джуниор
 
Регистрация: 07.08.2011
Сообщений: 2
По умолчанию C++ не могу разобраться в цикле!

Привет всем, я в деле програмном совсем еще зелень. Помогите понять, а лучше ткните носом, почему условие не срабатывает.
Задумка в следующем - вывести на экран числа которые находятся между двумя введенными. Если количество чесел в строке превысит 10 то перевести строку и выводить уже в следующей и так пока не закончатся числа.
код следующий:
Код:
#include <iostream>
int main()
{
	int nV1, nV2, nVp, nCV = 1;
	std::cout<<"Enter Two Numbers:"<<std::endl;
	std::cin>>nV1>>nV2;
	if (nV1 < nV2)
	{
		nV2 = nV2 - 1;
		while (nV1 <= nV2)                              
		{                                                      
			nV1++;                                  
			nCV++;                                  
			std::cout<<nV1<<";";
			if (nCV = 11)                           /* как я понял   игнорируется вот это условие и строка переводится постоянно при проходе в цикле.*/
			{
				//std::cout<<std::endl;
				nCV = 0;
			}
			else
			{
			}
		}
	}
	else
	{
		nVp = nV1;
		nV1 = nV2;
		nV2 = nVp;
		nV2 = nV2 - 1;
		while (nV1 <= nV2)
		{
			nV1++;
			nCV++;
			std::cout<<nV1<<";";
			if (nCV = 11)
			{
				std::cout<<std::endl;
				nCV = 0;
			}
			else
			{
			}
		}
	}
	return 0;
}

Последний раз редактировалось Stilet; 07.08.2011 в 17:52.
Iskander_1 вне форума Ответить с цитированием
Старый 07.08.2011, 17:24   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Это потому что для проверки на равенство нужно использовать оператор ==, а не =
Код:
if (nCV == 11)
netrino вне форума Ответить с цитированием
Старый 07.08.2011, 17:30   #3
Iskander_1
Новичок
Джуниор
 
Регистрация: 07.08.2011
Сообщений: 2
По умолчанию

Спасибо огромное!
Iskander_1 вне форума Ответить с цитированием
Старый 07.08.2011, 18:51   #4
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

после 128-го наступания на эти грабли, завёл себе правило подобные условия записывать так:

Код:
if (11 == nCV) {
если вместо == поставить =, компилятор услужливо скажет, что литеральной константе присваивать значение не принято )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 08.08.2011, 09:27   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
после 128-го наступания на эти грабли, завёл себе правило подобные условия записывать так:

Код:
if (11 == nCV) {
если вместо == поставить =, компилятор услужливо скажет, что литеральной константе присваивать значение не принято )
Плохое правило. От подобной ошибки, конечно, спасет, но стиль ужасный, а отучиваться потом долго придется
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 08.08.2011, 12:48   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Плохое правило .. стиль ужасный ..

обоснуйте )

Меня наоборот этот стиль прёт. Вместо этого ужоса:

Код:
    if (myString != null && myString.equals(“yes”)) {
        ...
    }
смотрите, какая крастота:

Код:
    if (“yes”.equals(myString)) {
       ...
    }
(да, это ява, ну не важно)

> отучиваться потом

Yoda says: "Try not. Do or do not, there is no try."

"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 08.08.2011, 13:58   #7
MooNDeaR
В стагнации
Участник клуба
 
Аватар для MooNDeaR
 
Регистрация: 29.07.2011
Сообщений: 1,303
По умолчанию

Цитата:
> Плохое правило .. стиль ужасный ..

обоснуйте )

Меня наоборот этот стиль прёт. Вместо этого ужоса:
Поддерживаю
Еще меня убивает когда рисуют что-нибудь типа

Код:
if( c ==0 )
По моему проще уже рисовать ==Э

не проще ли написать

Код:
if(!c) ...
E-mail: pashaworking@gmail.com | ICQ: 479914426 | Skype: moondearr
Понять, чего от тебя требует заказчик – это уже половина всей работы, а иногда и полностью выполненное задание.
MooNDeaR вне форума Ответить с цитированием
Старый 09.08.2011, 11:52   #8
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
обоснуйте )
Если вы прочтете мой пост полностью, то увидите обоснование.
Если не увидите попробуйте читать до тех пор, пока не увидите.

Цитата:
Сообщение от veniside Посмотреть сообщение
if (“yes”.equals(myString))
Подобный код на С++ недопустим, а обсуждаем мы код именно на С++.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться Xoksik Общие вопросы по Java, Java SE, Kotlin 4 27.03.2011 23:36
НЕ МОГУ РАЗОБРАТЬСЯ... GSV84 HTML и CSS 0 03.02.2010 01:38
не могу разобраться Инспектор ГУЛ Свободное общение 7 20.09.2009 09:29
Ошибка в цикле , не могу понять в чем! Помогите пожалуйста. Алексей_xXx Помощь студентам 1 29.05.2009 00:37