Guest georg Posted October 15, 2006 Report Share Posted October 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! Какова причина? Link to comment Share on other sites More sharing options...
mmap Posted October 16, 2006 Report Share Posted October 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();}//-------------------------------------------------------------------- Link to comment Share on other sites More sharing options...
Guest georg Posted October 17, 2006 Report Share Posted October 17, 2006 kolya7k, да, действительно, сработало ограничение числа отображаемых строк. Даже при значении upper в 298 единиц всё отображается. Хотя я и не нашёл в справке никакой инфы по этому поводу. Остальное принял к сведению. Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now