Ошибка в коде C
#include <stdio.h>
int main() {
FILE * out = fopen("input.txt", "w");
FILE * in = fopen("input.txt", "r");
float in, yd, ft;
printf("Print length in inches: ");
scanf("%f", &in);
while (in != 0){
fprintf(out, "%f", &in);
printf("Print length in inches: ");
scanf("%f", &in);
fprintf(out, "%f", &in);
}
fscanf(in, "%f", &in);
if (in >= 36){
yd = in / 36;
in -= in / 36;
ft = in / 12;
in -= in / 12;
printf("%.0f yd %.0f ft %.2f in\n", &yd, &ft, &in);
}
else if(in < 36 && in >= 12) {
ft = in / 12;
in -= in / 12;
printf("%.0f ft %.2f in", ft, in\n);
}
else if (in < 12) {
printf("%.2 in\n", in);
}
else (in < 0);{
printf("Error\n");
}
fclose(in);
fclose(out);
}
Напишите программу, которая считывает несколько значений длины в дюймах и для каждого преобразует их в ярды, футы и дюймы. (1 ярд = 3 фута, 1 фут = 12 дюймов). Например, если длина равно 100, программа должна напечатать 2 ярда 2 фута 4 дюйма. Выберите соответствующий маркер конца данных.
Write a program that reads several lengths in inches and, for each, converts it to
yards, feet and inches. (1 yard = 3 feet, 1 foot = 12 inches). For example, if a length
is 100, the program should print 2 yd 2 ft 4 in. Choose an appropriate end-of-data marker.

FILE * out = fopen("input.txt", "w");
FILE * in = fopen("input.txt", "r");
Один и тот-же файл для чтения и записи? Вы уверены?
FILE* in и float in имена переменных совпадают.
в fprintf передается значение, а не указатель!
fprintf(out, "%f", in);
аналогичная ошибка в printf
ft, in\n); <--- \n явно не на месте.
ЗЫЖ Вообще это делается проще.