Получить таблицу температур по Цельсию от 0 до 100 гр и их эквивалентов по шкале Фаренгейта: найти ошибку

Almik98

Получить таблицу температур по Цельсию от 0 до 100 градусов и их эквивалентов по шкале Фаренгейта, используя для перевода формулу tF = (9/5)tc + 32.при вводе в консоли любых комбинаций 0 и 1, выполняется
else{
            printf("Error input.\n");
        }
#include <stdio.h>
#include <stdlib.h>
#define YES 1
#define NO 0
#define SIZE 101
 
int main(){
    FILE *f_in, *f_out;
    int in_lab, out_lab, cicle, n;
    int mass[SIZE];
 
    f_in = fopen("C:/Users\admin\Desktop\Новая папка_(7)\1\in.txt", "r");
    f_out = fopen("C:/Users\admin\Desktop\Новая папка_(7)\1\out.txt", "a");
 
    cicle = YES;
     while(cicle){
        printf("Input:\n console (0) or file (1), if from file - exit(0).\n");
        scanf("%d", &in_lab);
        printf("Output:\n console (0) or file (1).\n");
        scanf("%d", &out_lab);
        printf("\n");
          if((in_lab == 0 || in_lab == 1) && (out_lab == 0 || out_lab == 1) && f_in != NULL && f_out != NULL){
            if(in_lab == 0 && out_lab == 0){
                n = finitmass(NULL, mass);
                fprintmass(NULL, mass, n);
                rezult(mass, n);
                fprintmass(NULL, mass, n);
                cicle = qnext();
            }else if(in_lab == 0 && out_lab == 1){
                n = finitmass(NULL, mass);
                fprintmass(f_out, mass, n);
                rezult(mass, n);
                fprintmass(f_out, mass, n);
                cicle = qnext();
            }else if(in_lab == 1 && out_lab == 0){
                n = finitmass(f_in, mass);
                fprintmass(NULL, mass, n);
                rezult(mass, n);
                fprintmass(NULL, mass, n);
                cicle = NO;
            }else if(in_lab == 1 && out_lab == 1){
                n = finitmass(f_in, mass);
                fprintmass(f_out, mass, n);
                rezult(mass, n);
                fprintmass(f_out, mass, n);
                cicle = NO;
            }
        }else{
            printf("Error input.\n");
        }
    }
    return 0;
}
 int finitmass(FILE *f, int mass[SIZE]){
    int tc, tf;
    if (f != NULL){
    printf("Input Tc");
        fscanf( "%d", &tc);
    }
    for (tc = 0; tc <= 100; tc++) {
        if (f != NULL) {
            fscanf(f, "%d", &mass[tc]);
        } else {
            scanf("%d", &mass[tc]);
        }
    }
    return tc;
}
 
void rezult(int mass[SIZE]) {
    int tc, tf;
    tc = mass[tc];
    for (tc = 0; tc <= 100; tc++) {
        mass[tf]=(9./5)*mass[tc]+32;
    }
}
 
void fprintmass(FILE *f, int mass[SIZE]) {
    int tf;
    for(tf = 0; tf <= 100; tf++) {
        if (f != NULL) {
            fprintf(f, "%d ", mass[tf]);
        } else {
            printf("%d ", mass[tf]);
        }
    }
    if (f != NULL) {
        fprintf(f, "\n");
    } else {
        printf( "\n");
    }
}
 
int qnext() {
    int n;
    printf("Next? ");
    scanf("%d", &n);
    if(n == 0) {
        return NO;
    } else {
        return YES;
    }
}
1 ответ

Almik98

Файлы не открылись. К вводу 0 и 1 с консоли проблема никакого отношения не имеет.