Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
lastfin
10 / 10 / 0
Регистрация: 06.02.2012
Сообщений: 52
#1

Не инициализируется переменная - C++

09.08.2012, 11:27. Просмотров 396. Ответов 2
Метки нет (Все метки)

Проблема в том, что строка номер 18 полностью игнорируется, почему - вообще не понимаю. Значение i остается абракадаброй или нулем, если заранее проинициализировать переменную.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "std_lib_facilities.h"
 
int main()
{
    setlocale(LC_CTYPE,"RUS");
    setlocale( LC_ALL,"" );
    
    vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем
    double number;
    double itog=0; // сумма первых n чисел
    cout << "Пожалуйста, введите несколько чисел (для прекращения ввода нажмите клавишу <!>)\n";
    while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
 
    int i;// кол-во суммируемых элементов
    cout << "Пожалуйста, введите количество чисел, которые хотите просуммировать" 
        <<"(начиная с первого):\n";
    cin >> i; // тут почему-то i не считывается, а остается нулем(или не инициализируется, если нулем его сразу не определить, как сейчас)
    cout<<i; //ненужная строка, сейчас просто для проверки
    
    for (int a=0; a<=i; ++a)
    itog+=numbers[a]; // itog=numbers[0]+numbers[1]+numbers[2]+numbers[i]
    cout<<itog<<'\n';
    
    system("pause");
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 11:27
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не инициализируется переменная (C++):

Не инициализируется переменная - C++
в данном случае проблема с k;Каким образом ее обозначить!? #include&lt;iostream&gt; using namespace std; inline void foo(int*,int*); int...

Переменная czBankNumber не инициализируется? вместо значений квадратики 2 шт и все - C++
Инициализация находится в функции-члене void setBunkNumber(); #include &lt;iostream&gt; #include &lt;cstdlib&gt; class cAccount{ public: ...

Глобальная переменная определена в хидере. Компилятор ругается на то, что переменная переопределена несколько раз - C++
Исходники: /* main.cpp */ #include &quot;hider.h&quot; int main(void) { return 0; } /* foo.cpp */

DWORD не инициализируется - C++
Пишу в Visual Studio 2008 #include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;process.h&gt; В функции ошибка:...

Не инициализируется массив - C++
Мужики помогите, ошибка какая-то. Работаю в visual studio 2008 express SP2 Вот кусок кода: #define JE 122 ... float...

Почему не инициализируется вектор размером 10? - C++
Хотел создать вектор размером 10, но visual studio выдаёт ошибку и при этом размер вектора равен 0, хотя я явно указал, что должно быть 10:...

2
KostyaKulakov
Заблокирован
09.08.2012, 11:35 #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int main()
{
    setlocale(LC_CTYPE,"RUS");
    setlocale( LC_ALL,"" );
    
    vector<double>numbers; //вектор, куда будут добавляться числа, по мере набора их пользователем
    double number;
    double itog=0; // сумма первых n чисел
    cout << "Пожалуйста, введите несколько чисел (для прекращения ввода нажмите клавишу <!>)\n";
    while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
    cin.clear();
    cin.sync(); 
 
    int i = 0;// кол-во суммируемых элементов //инициализируем переменную 
    cout << "Пожалуйста, введите количество чисел, которые хотите просуммировать" 
        <<"(начиная с первого):\n";
    cin >> i; // тут почему-то i не считывается, а остается нулем(или не инициализируется, если нулем его сразу не определить, как сейчас)
    cout<<i; //ненужная строка, сейчас просто для проверки
    
    for (int a=0; a<=i; ++a)
    itog+=numbers[a]; // itog=numbers[0]+numbers[1]+numbers[2]+numbers[i]
    cout<<itog<<'\n';
    
    system("pause");
}
1
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
09.08.2012, 11:37 #3
C++
1
2
3
4
while (cin>>number)
    numbers.push_back(number);//заносим числа в вектор
cin.clear();  //очищаем cin от failbit
cin.sync();   //откидываем оставшиеся символы с ввода
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2012, 11:37
Привет! Вот еще темы с ответами:

Не инициализируется динамический одномерный массив - C++
#include &quot;stdafx.h&quot; int _tmain(int argc, _TCHAR* argv) { int n = 10; float *a = new float; return 0; } После объявления...

Где инициализируется модальное окно? - C++
такой еще вопрос я делаю дополнительное диалоговое окно (DoModal), и хочу перед открытием окна забить данными эдиты. В классе этого...

Почему массив инициализируется с 7-ю элементами?.. - C++
Друзья! Требуется помощь:) Задача: вводим денежную сумму в формате $123,321,442 , выбираем из нее цифорки и записываем в переменную...

Неправильно инициализируется строка String - C++
Добрый день, уважаемые форумчане! Прошу вашей помощи в следующем вопросе: когда я инициализирую строку String con_str; ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru