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

Объявление переменной - C++

Восстановить пароль Регистрация
 
Faithful
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 11
27.06.2013, 20:35     Объявление переменной #1
Доброго времени суток. Возник вопрос, по какой причине при следующей форме записи, переменные "y" и "z" считаются компилятором (VS12) не объявленными?

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
 
int main()
{
   float x, y, z, a;
   cin >> x, y, z // объявление переменной
   a = ((x*20)+(y*12)+z)/100;
   cout << a << endl;
   return 0;
}
Но если записать в таком виде, то все работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main()
{
   float x, y, z, a;
   cin >> x;
   cin >> y;
   cin >> z;
   a = ((x*20)+(y*12)+z)/100;
   cout << a << endl;
   return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11800 / 6779 / 765
Регистрация: 27.09.2012
Сообщений: 16,829
Записей в блоге: 2
Завершенные тесты: 1
27.06.2013, 20:37     Объявление переменной #2
Цитата Сообщение от Faithful Посмотреть сообщение
cin >> x, y, z // объявление переменной
потому что так:
C++
1
2
float x, y, z, a;//Объявление переменных
cin>>x>>y>>z;//считывание значений из потока
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
27.06.2013, 20:58     Объявление переменной #3
Цитата Сообщение от Faithful Посмотреть сообщение
считаются компилятором (VS12) не объявленными?
Может неинициализированными? Они объявлены здесь:
C++
1
float x, y, z, a;
Faithful
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 11
28.06.2013, 12:09  [ТС]     Объявление переменной #4
Цитата Сообщение от alsav22 Посмотреть сообщение
Может неинициализированными? Они объявлены здесь:
C++
1
float x, y, z, a;
Да, моя ошибка. Неинициализированными.

Добавлено через 14 часов 17 минут
Вопрос все еще актуален, так и не нашел, в чем проблема.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
28.06.2013, 12:18     Объявление переменной #5
@Faithful, проблема в том, что в изначальном коде, строка 7 ошибочна. Если нужно считать последовательно несколько значений, надо писать так:
C++
1
cin >> a >> b >> c;
а не
C++
1
cin >> a,b,c
к тому же без завершающей точки с запятой.
Faithful
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 11
28.06.2013, 12:57  [ТС]     Объявление переменной #6
Цитата Сообщение от Tulosba Посмотреть сообщение
@Faithful, проблема в том, что в изначальном коде, строка 7 ошибочна. Если нужно считать последовательно несколько значений, надо писать так:
C++
1
cin >> a >> b >> c;
а не
C++
1
cin >> a,b,c
к тому же без завершающей точки с запятой.

Большое спасибо! До чего глупая ошибка, сейчас перепроверю.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
28.06.2013, 13:00     Объявление переменной #7
Цитата Сообщение от Faithful Посмотреть сообщение
До чего глупая ошибка, сейчас перепроверю.
так ведь @Croessmah писал уже об этом.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.06.2013, 13:26     Объявление переменной
Еще ссылки по теме:

Объявление переменной в цикле C++
C++ Объявление целочисленной переменной с именем var_i
Объявление переменной внутри цикла while C++

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

Или воспользуйтесь поиском по форуму:
Faithful
0 / 0 / 0
Регистрация: 23.06.2013
Сообщений: 11
28.06.2013, 13:26  [ТС]     Объявление переменной #8
Цитата Сообщение от Tulosba Посмотреть сообщение
так ведь @Croessmah писал уже об этом.
Невнимательность под конец дня меня подвела.
Yandex
Объявления
28.06.2013, 13:26     Объявление переменной
Ответ Создать тему
Опции темы

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