CodeInside
@CodeInside

Какая логическая ошибка в коде?

Задание: перевести сантиметры в метры. Хочу сделать через указатели.
#include <iostream>
using namespace std;
void main()
{
	double *cm,*m;
	cout << "Centimeters: ";
	cin >> *cm;
	*m = *cm / 100.;
	while(1)
	{
		if(*cm <= 0)
		{
			cout << "incorrectly entered data\nInput centimeters again: ";
			cin >> *cm;
		}
		else
		{
			printf("%d centimeters = %d meters",*cm,*m);
                        delete cm,m;
			break;	
		}
	}

	system("pause");
}

Выбивает "необработаное исключение ..."
  • Вопрос задан
  • 165 просмотров
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Классика жанра - запись в неинициализированный указатель.

Читайте учебник по указателям лучше.

double *cm никуда не указывает. Чтобы указывала, нужно присвоить. Например, так.

double* cm=new double.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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