I'm trying to read a .txt file. The task is to read temperatures and give out min, max and average values. The txt file is called Temp.txt and it looks like this :
5 76 56 34 35 10
4 45 23 24 14
0
2 32 34 
Here is the code that I've written. I have also tried to run it using just the file name like 'fopen("Temp.txt","r")' but I get the same result.
#include<stdio.h>
#include<string.h>
int ReadTempFile(FILE *fp, float temperatur[]);
float maxTemp(int anzahl, float temperatur[]);
float minTemp(int anzahl, float temperatur[]);
float mittlereTemp(int anzahl, float temperatur[]);
float fahrenheit(float celsius);
int ReadTempFile(FILE *fp, float temperatur[])    //For reading individual rows from txt file
{
    int i=0;
    fscanf(fp,"%f", &temperatur[0]);
    for(i = 0; i < temperatur[0]; ++i)
    {
        fscanf(fp, "%f", &temperatur[i+1]);
    }
    return temperatur[0];
}
float maxTemp(int anzahl, float temperatur[])    //Maximum Temperature
{
    int i = 0;
    float max;
    max = temperatur[i+1];
    for(i = 1; i < anzahl; i++)
    {
        if(temperatur[i+1] > max)
        {
            max = temperatur[i+1];
        }
    }
    return max;
}
float minTemp(int anzahl, float temperatur[])    //Minimum Temperature
{
    int i = 0;
    float min;
    min = temperatur[i+1];
    for(i = 1; i < anzahl; i++)
    {
        if(temperatur[i+1] < min)
        {
            min = temperatur[i+1];
        }
    }
    return min;
}
float mittlereTemp(int anzahl, float temperatur[])    //Average Temperature
{
    int i, sum = 0;
    float mit;
    for (i = 0; i <= anzahl; i++)
    {
        sum += temperatur[i];
    }
    mit = sum/temperatur[0];
    return mit;
}
float fahrenheit(float celsius)    //Celsius to Fahrenheit
{
    float f;
    f = (celsius*9/5) + 32;
    return f;
}
int main()
{
    int end, n, Zeile=1;
    float temperatur[20], max, min, mit, fmax, fmin, fmit;
    char eingabe[20];
    FILE *fp=NULL;
    do
    {
        printf("Enter File name: \n");    //Enter file name
        fflush(stdout);
        scanf("%s", eingabe);
        fp = fopen(eingabe, "r" );
        if(fp == NULL) printf ("Error: File %s can't be opened!\n", eingabe);    //Error message for File cant be opened
    }while(fp != NULL);
    do{
        n = ReadTempFile(fp, temperatur);
        max = maxTemp(n, temperatur);
        printf("Das Maximum der Zeile %d ist: %.3fC \t",Zeile, max);
        fmax = fahrenheit(max);
        printf("In Fahrenheit: %.3fF\n", fmax);
        min = minTemp(n, temperatur);
        printf("Das Minimum der Zeile %d ist: %.3fC \t",Zeile, min);
        fmin = fahrenheit(min);
        printf("In Fahrenheit: %.3fF\n", fmin);
        mit = mittlereTemp(n, temperatur);
        printf("Der Mittelwert der Zeile %d ist: %.3fC \t",Zeile, mit);
        fmit = fahrenheit(mit);
        printf("In Fahrenheit: %.3fF\n", fmit);
        ++Zeile;
        end = feof(fp);
        printf("\n\n");
    }while (end == 0);
    fclose(fp);
    return 0;
}
This is what happens after I run the above program.
Thank you in advance.
 
     
    