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

Ошибка, указывающая на неинициализированные переменные - C++

Восстановить пароль Регистрация
 
kuprin
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 5
07.03.2014, 14:02     Ошибка, указывающая на неинициализированные переменные #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <Windows.h>
using namespace std;
int main()
{
    setlocale(0, "");
    int a;
    cout << "введите число 0 для умножения, 1 для деления, 2 для сложения, 3 для вычитания";
    cin >> a;
    if (a = 0)
    {
        int b,c;
        int d = b*c;
        cout << "первый множитель";
        cin >> b;
        cout << "второй множитель";
        cin >> c;
        cout << "ответ";
        cout << d;
    }
}
пишет ошибку из-за того что переменные c и d якобы не неинициализированы. что делать?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.03.2014, 14:02     Ошибка, указывающая на неинициализированные переменные
Посмотрите здесь:

Директива, указывающая на наличие консоли C++
Неинициализированные локальные переменные C++
C++ Неинициализированные переменные
C++ Глобальные переменные (ошибка)
C++ Неинициализированные локальные переменные warning C4700
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Extrim88
 Аватар для Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
07.03.2014, 14:54     Ошибка, указывающая на неинициализированные переменные #2
Цитата Сообщение от kuprin Посмотреть сообщение
что делать?
Инициализировать.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
int main()
{
    setlocale(0, "");
    int a;
    cout << "введите число 0 для умножения, 1 для деления, 2 для сложения, 3 для вычитания";
    cin >> a;
    if (a == 0)
    {
        int b,c;
        
        cout << "первый множитель";
        cin >> b;
        cout << "второй множитель";
        cin >> c;
        int d = b*c;
        cout << "ответ";
        cout << d;
        system("pause");
        return 0;
    }
}
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
07.03.2014, 14:56     Ошибка, указывающая на неинициализированные переменные #3
Цитата Сообщение от kuprin Посмотреть сообщение
пишет ошибку из-за того что переменные c и d якобы не неинициализированы. что делать?
Правильно пишет. в строчке int d = b*c; неизвестный результат будет. Инициализируйте и все будет нормально
Extrim88
 Аватар для Extrim88
50 / 50 / 11
Регистрация: 08.02.2013
Сообщений: 189
07.03.2014, 15:00     Ошибка, указывающая на неинициализированные переменные #4
А вообще программу дорабатывать и дорабатывать еще. Ну, как говорится, какой код изначально предоставили...

Добавлено через 2 минуты
1. Рассмотрен случай только, когда пользователь ввел 0, остальных случаев не рассмотрено.
2. Нет защиты от "дурака". Например, введу я 100, или -4, или вообще символ какой-нибудь? Как будет вести себя программа?
kuprin
0 / 0 / 0
Регистрация: 08.12.2013
Сообщений: 5
08.03.2014, 10:12  [ТС]     Ошибка, указывающая на неинициализированные переменные #5
Это только начало программы, там все учтено. Программа на 62 строчки.
Спасибо всем!
Yandex
Объявления
08.03.2014, 10:12     Ошибка, указывающая на неинициализированные переменные
Ответ Создать тему
Опции темы

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