Укажите ошибку 2-х дневному программисту?

Здравствуйте. Я совсем новичок в программировании, никакого опыта не было.
В общем компилятор показывает ошибку "error C4700: использована неинициализированная локальная переменная "a" и также "b".
Не могу понять, что нужно сделать, укажите пожалуйста на ошибку.
#include "stdafx.h"
#include <iostream>
using namespace std;

int main()
{	


	double a, b, sum, raz, umn, del;
	sum = a + b;
	raz = a - b;
	umn = a*b;
	del = a / b;

	cout << "vvedite dannie \n";
	cin >> a, b;
	if (a + b)
		cout << sum << "\n";
	else
	if (a - b)
		cout << raz << "\n";
	else
	if (a*b)
		cout << umn << "\n";
	else
	if (a / b)
		cout << del << "\n";
	else
		cout << "hernyu ne nesi, dyatel. \n";
	system("pause");
	return 0;

		
}
  • Вопрос задан
  • 25168 просмотров
Решения вопроса 3
afiskon
@afiskon

Вы складываете a и b, не присвоив им значений. В C/C++ в этом случае в переменных может оказаться произвольный мусор. Нужно писать double a = 0; double b = 0;

Ответ написан

Дело в том, что ты выполняешь операции над переменными, которым не присвоено значение. Инициализируй их, например нулями


double a =0.0;
double b=0.0;
double sum, raz, umn, del;

Ответ написан
Комментировать
wrewolf
@wrewolf

double a, b, sum, raz, umn, del;
    sum = a + b;
    raz = a - b;
    umn = a*b;
    del = a / b;

Ты сразу суммируешь и делаешь прочие операции с переменными, которым не присвоено никакое значение. Перенеси все операции после cin и предупреждение пропадает.

А сразу походу система закрытия тегов отработала

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
brevis
@brevis

Т.к. на вопрос уже ответили -- разрешите пошутить старую шутку:

Подходит 2-х дневный программист к senior'у и показывает неработающую программу: 
- Подскажите, пожалуйста, где у меня ошибка? 
- В ДНК, - вздыхает senior. 

(без обид, just for fun)

Ответ написан
Комментировать

#include <iostream>
using namespace std;

int main()
{	


    double a, b, sum, raz, umn, del;

	cout << "vvedite dannie \n";
    cin >> a;
	cin >> b;

    sum = a + b;
    raz = a - b;
    umn = a*b;
    del = a / b;

    
    if (a + b)
        cout << sum << "\n";
    else
    if (a - b)
        cout << raz << "\n";
    else
    if (a*b)
        cout << umn << "\n";
    else
    if (a / b)
        cout << del << "\n";
    else
        cout << "hernyu ne nesi, dyatel. \n";
    system("pause");
    return 0;

        
}</iostream>

как вариант

Ответ написан
odd2013
@odd2013

Ещё неплохо бы добавить проверку на то чтобы b было не равно 0. А то деление на ноль и всё такое. Ошибка может выскочить.

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы