我需要打开一个 .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);
}