读取一个 .txt 文件,使用一个字符串,写入不同的 .txt 文件

问题描述 投票:0回答:0

我需要打开一个 .txt 文件,将文本文件中的值读入数组。然后向用户询问 .txt 文件名并将其保存在数组中。然后我需要从原始的.txt 文件中输出一个相应的字符串值Ex。温度大于 90 字符串是:“红色”。

下面的代码是我到目前为止得到的。但它不会写入新的 .txt 文件。它给了我一个“else if(temps[i] >= 75)”的错误。我该如何修复它以消除错误?

更新代码 03.29.23

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(void)

{
    FILE*inp;
    FILE*outp;

    char fname[100];
    double Temps, Color;
    double average, sum = 0;
    int Red=0, Yellow=0, Green=0, Blue=0, i;
    int temps[100];

    // opening the file with themp that is given
    inp = fopen("temps_recorded.txt", "r");
    // asking user for file name to write in
    printf("Please enter file name: \n");
    scanf("%s", fname);

    // Opens the user imput file to write in
    outp = fopen(fname, "w");

    if(outp == NULL)
    {
        printf("Error opening file. \n");
        return 1;
    }

    if(inp == NULL)
    {
        printf("Error opening file. \n");
        return 1;
    }

    for (int i=0; i<20; i++)
    {
        fscanf(inp, "%d", &temps[i]);
    }

    for (i=0; i<20; i++)
    {
        if(temps[i] >= 90)
        Red++;
        fprintf(outp, "%s\n", "Red");
    
        else if(temps[i] >= 75)
    {
        Yellow++;
        fprintf(outp, "%s\n", "Yellow");
    }
        else if(temps[i] >= 70)
    {
        Green++;
        fprintf(outp, "%s\n", "Green");
    }
        else
    {
        Blue++;
        fprintf(outp, "%s\n", "Blue");
    }
    }



    return(0);
}
arrays string output fopen
© www.soinside.com 2019 - 2024. All rights reserved.