Member 13237133 Ответов: 2

Получение двух разных ответов


Мне любопытно, когда я передаю формулу в переменную 'gcon', я не получаю правильного ответа, почему это так? Влияет ли тип данных на ответ и как?

Что я уже пробовал:

#include <iostream>
using namespace std;

int main()
{

    double ml;
    double gcon = ml*0.00026417; // milliliters to gallons conversion
    cout << "type the amount of milliliters\n";
    cin >> ml;
    cout << "milliliters to gallons is  " << ml*0.00026417 << endl;
    cout << "milliliters to gallons is " << gcon << endl;
    
    return 0;
}

2 Ответов

Рейтинг:
13

CDP1802

Если вы посмотрите внимательно, то увидите, что вы используете переменную ml, прежде чем поместить в нее значение. До этого момента значение этой переменной - это то, что происходит в выделенной для нее памяти.


Member 13237133

Большое вам спасибо! Теперь я понимаю, почему не получал такого же ответа. Я изменил размещение, теперь оно работает правильно.

[no name]

C++ всегда предполагает, что вы знаете, что делаете. Это может быть проклятием, пока вы еще учитесь, но позже это благословение.

Member 13237133

Это приятно знать, я буду иметь это в виду во время моих приключений на c++.

Рейтинг:
12

Patrice T

Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Освоение отладчика не является обязательным, оно обязательно для любого программиста, без исключения.
Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ таков: отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.


0x01AA

Никакого голосования с моей стороны, но читать становится скучно:
Существует инструмент, который позволяет вам видеть, что делает ваш код, его имя-отладчик. Освоение отладчика не является обязательным, оно обязательно для любого программиста, без исключения.
Это также отличный инструмент обучения, потому что он показывает вам реальность, и вы можете увидеть, какие ожидания соответствуют реальности.
Когда вы не понимаете, что делает ваш код или почему он делает то, что делает, ответ-отладчик.
Используйте отладчик, чтобы увидеть, что делает ваш код. Просто установите точку останова и посмотрите, как работает ваш код, отладчик позволяет вам выполнять строки 1 на 1 и проверять переменные по мере их выполнения, это невероятный инструмент обучения.

Отладчик-Википедия, свободная энциклопедия[^]
Освоение отладки в Visual Studio 2010 - руководство для начинающих[^]
Базовая отладка с помощью Visual Studio 2010-YouTube[^]
Отладчик здесь для того, чтобы показать вам, что делает ваш код, и ваша задача-сравнить его с тем, что он должен делать.
В отладчике нет никакой магии, он не находит ошибок, он просто помогает вам. Когда код не делает того, что ожидается, вы близки к ошибке.

Patrice T

Ни один голос не подходит мне идеально.
Я знаю, повторяюсь, но, похоже, изучение отладчика в наши дни не в моде. Я не понимаю, как можно учиться программированию, не изучая отладчик.
Совет обучающего отладчика настолько универсален, что трудно не использовать один и тот же ответ повторно.

Member 13237133

Я не знал, что обучение отладке является необходимостью, я думаю, что это так, когда дело доходит до таких языков, как c++. Спасибо Вам за внешние ресурсы по обучению отладке.

Patrice T

Приятно видеть, что тебе нравится отладчик.
отладчик есть для каждого языка, так как программист может ошибаться везде. C и C++ просто сложнее, потому что они не проверяют границы массивов.