Гость georg Опубликовано 15 октября, 2006 Жалоба Поделиться Опубликовано 15 октября, 2006 Консольная программка для перевода температурной шкалы Фаренгейта в шкалу Цельсия. Формула перевода С = 5/9 * (F - 32) #pragma hdrstop#include <stdio.h>#include <conio.h>#define lower 0#define upper 300#define step 20//---------------------------------------------------------------------------main(){int fahr;for(fahr=lower; fahr <= upper; fahr= fahr + step) printf("%4d %6.1f\n",fahr,(5.0/9.0)*(fahr-32.0));getch();} При любом значении шага, кроме единицы, отсчёт шкалы начинается как положено - с ноля. А когда значению step присваивается 1, то результаты вычисления выводятся на экран начиная с 2°F! Какова причина? Ссылка на комментарий Поделиться на другие сайты Поделиться
mmap Опубликовано 16 октября, 2006 Жалоба Поделиться Опубликовано 16 октября, 2006 Нет, результаты так же начинаются с 0, просто не весь вывод помещается в экран. Попробуй изменить upper на 250. Далее: 1) const int лучше чем define. 2) Ты же пишешь не на C, не выноси объявление индексов из циклов. #include <stdio.h>#include <conio.h>#pragma hdrstop//---------------------------------------------------------------------------const int lower = 0;const int upper = 250;const int step = 1;//---------------------------------------------------------------------------void main(){for(int fahr = lower; fahr <= upper; fahr = fahr + step) printf("%4d %6.1f\n", fahr, (5.0 / 9.0) * (fahr - 32.0));getch();}//-------------------------------------------------------------------- Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость georg Опубликовано 17 октября, 2006 Жалоба Поделиться Опубликовано 17 октября, 2006 kolya7k, да, действительно, сработало ограничение числа отображаемых строк. Даже при значении upper в 298 единиц всё отображается. Хотя я и не нашёл в справке никакой инфы по этому поводу. Остальное принял к сведению. Thanks. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти