Это то, что я написал. Я предполагаю, что это может быть что-то с логикой моего цикла while
, но я не могу это заметить! Любая помощь приветствуется! Благодарю.Почему я запускаю пустую таблицу при запуске этой программы?
#include <stdio.h>
#include <math.h>
//Open main function.
int main(void)
{
double new_area, area_total = 14000, area_uncut = 2500, rate = 0.02, years;
int count = 0;
printf("This program is written for a plot of land totaling 14000 acres, "
"with 2500 acres of uncut forest\nand a reforestation rate "
"of 0.02. Given a time period (years) this program will output a table\n"
"displaying the number acres reforested at the end of "
"each year.\n\n\n");
printf("Please enter a value of 'years' to be used for the table.\n"
"Values presented will represent the number acres reforested at the end of "
"each year:>> ");
scanf("%lf", &years);
years = ceil(years);
printf("\n\nNumber of Years\t\tReforested Area");
while (count <= years);
{
count = count + 1;
new_area = area_uncut + (rate * area_uncut);
printf("\n%1.0lf\t\t\t%.1lf", count, area_uncut);
area_uncut += new_area;
}
return 0;
}
Где он останавливается в программе ..... он даже входит в цикл while? Добавьте несколько других операторов печати и отлаживайте их таким образом –
'printf (" \ n% 1.0lf \ t \ t \ t% .1lf ", count, area_uncut);' вы печатаете 'int' (' count'), используя ' % lf', это неопределенное поведение (изменение на '% d'). –
'while (count <= years);' - ';' создает пустой корпус цикла. Включите полные предупреждения в своем компиляторе, он должен предупредить об этом. – Barmar