Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
1

Несмотря на ошибку, все работает

06.07.2012, 15:29. Просмотров 362. Ответов 8
Метки нет (Все метки)

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;
 
float ctof(float c)
{
    float f;
    f = c * 9 / 5 + 32;
    return f;
}
 
int main()
{
    setlocale(LC_ALL, "russian");
    float cel;
    while (cel != 0)
    {
    cout << "Введите температуру по Цельсию: ";
    cin >> cel;
    cout << cel << " градусов по Цельсию = " << ctof(cel) << " по Фаренгейту." << endl;
    }
    system("pause");
    return 0;
}
Компилятор говорит, что переменная "cel" была использована без инициализации. Я нажимаю "Continue" и программа отлично выполняется, но все-таки не приятно постоянно наблюдать ошибку. Как модифицировать код, чтобы и переменная была инициализирована и цикл выполнялся?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.07.2012, 15:29
Ответы с готовыми решениями:

почему работает несмотря ни на что?
код : #include &lt;iostream&gt; using namespace std; int main() { int u; ...

Студия подчеркивает как ошибку, но все работает.
Сабж. MS Visual C++ 2010, Express. #include &lt;iostream&gt; #include &lt;time.h&gt;...

Дается n чисел, нужно вывести сначала все нечетные а затем все четные (найти ошибку)
Дается n чисел, нужно вывести сначала все нечетные а затем все четные, я...

Программа пропускает ввод данных несмотря на fflush
Доброго времени суток. Возникла проблема - когда я в первый раз в цикле ввожу...

error C2512: no appropriate default constructor available, несмотря на наличие конструктора по умолчанию
Вот код: class University { string name; Human *chief; public: ...

8
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
06.07.2012, 15:31 2
Инициализировать её. Или использовать цикл с постусловием.
1
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
06.07.2012, 15:32  [ТС] 3
Цитата Сообщение от Schizorb Посмотреть сообщение
Инициализировать её. Или использовать цикл с постусловием.
А как выглядит цикл с постусловием?
0
gitarillo
728 / 528 / 45
Регистрация: 17.06.2010
Сообщений: 1,027
Записей в блоге: 1
06.07.2012, 15:33 4
Цитата Сообщение от artyom00007 Посмотреть сообщение
Как модифицировать код, чтобы и переменная была инициализирована и цикл выполнялся?
Явно инициализировать переменную.
1
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
06.07.2012, 15:35  [ТС] 5
Цитата Сообщение от gitarillo Посмотреть сообщение
Явно инициализировать переменную.
Можно, конечно, и инициализировать. Например, присвоить единицу. Но выглядеть это будет не очень с то точки зрения стилистики, так как переменная так или иначе будет инициализирована значением из потока.
0
gitarillo
728 / 528 / 45
Регистрация: 17.06.2010
Сообщений: 1,027
Записей в блоге: 1
06.07.2012, 15:37 6
вообще много зависит от компилятора. некоторые компиляторы не прервут работу программы, а а просто выведут сообщение с предупреждением, ну и сам компилятор проинициализирует нулем.
1
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 30
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
06.07.2012, 15:39 7
Я думаю, что тут лучше применить do... while. И проблема сама собой отпадет.
1
Schizorb
510 / 462 / 82
Регистрация: 07.04.2012
Сообщений: 869
Записей в блоге: 1
Завершенные тесты: 1
06.07.2012, 15:40 8
Цитата Сообщение от artyom00007 Посмотреть сообщение
А как выглядит цикл с постусловием?
C++
1
2
3
4
5
6
7
do
{
    cout << "Введите температуру по Цельсию: ";
    cin >> cel;
    cout << cel << " градусов по Цельсию = " << ctof(cel) << " по Фаренгейту." << endl;
}
while (cel != 0);
1
artyom00007
0 / 0 / 0
Регистрация: 06.07.2012
Сообщений: 9
06.07.2012, 15:43  [ТС] 9
Большое спасибо за ответы!
0
06.07.2012, 15:43
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.07.2012, 15:43

Неожиданный результат при выводе значения переменной, несмотря на инкремент
подскажите почему значения a и с начинаются с 1 а не с 2 стоит же &quot;++&quot; int a...

Почему адреса у указателей разные, несмотря на то, что они указывают на одну и ту же переменную?
Почему адреса у указателей разные, они же указывают на одну и туже переменную...

Не работает, найдите ошибку
Задание: Дана целочисленная квадратная матрица порядка 5. Выяснить, имеются ли...


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

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

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