Ошибка сегментации: 11 и недопустимая кодировка символов в строковом литерале

Ошибка недопустимого символа исходит от моей функции печати в моем операторе else. И когда я пытаюсь запустить файл, я получаю ошибку сегментации: 11. Цель этой программы состоит в том, чтобы ввести нижнюю границу температуры от 0 до 80 и верхнюю границу температуры выше нижней границы, но меньше 90. А также процент дней, необходимых в диапазоне.

#include <stdio.h>

int main(){
    // Enter information in regards to your city
    int percentage_range;
    double low_bound, upper_bound, temperature;
    printf("Please enter the lower temperature bound in Fahrenheit.\n");
    scanf("%lf", &low_bound);
    printf("Please enter the upper temperature bound in Fahrenheit.\n");
    scanf("%lf", &upper_bound);
    printf("Please enter the percentage of days needed in the range.\n");
    scanf("%d", &percentage_range);

    // Read in the file name
    char filename[20];
    printf("Please enter the name of your weather data file for your city.\n");
    scanf("%s", filename);

    // Open the file
    FILE* ifp = fopen(filename, "r");

    int month, day, year;
    fscanf(ifp, "%d", &month);

    // looping totals
    double sum = 0;
    double sum_range = 0;
    int numdays = 0;
    int num_totaldays = 0;
    double percentage;

    while (month != -1){
            num_totaldays++;

        // Read in the rest of the file line
        fscanf(ifp, "%d,%d,%lf",&day, &year, &temperature);

        while (low_bound <= upper_bound){
            sum = sum + temperature;
            numdays++;
            percentage = sum/numdays;
            printf("Days in between %lf and %lf degrees:%d", low_bound, upper_bound, numdays);
            printf("Total number of days:%d",num_totaldays );
            printf("Percentage of days in range:%lf",percentage);
// if the percentage is in range
        if (percentage >= percentage_range){
            printf("Great, I recommend opening a Pizza Shack at your location!\n");
        }
// if not print this 
            else
                printf("Sorry, your weather isn’t temperate enough for Pizza Shack.");

        }





    }


//close file
fclose(ifp);
return 0;
}

person Leopold_Stotch    schedule 06.03.2015    source источник
comment
Вы убедились, что файл существует, когда вы его открываете? Всегда полезно проверять возвращаемые значения из библиотечных функций на наличие ошибок.   -  person Ulfalizer    schedule 06.03.2015


Ответы (1)


Замените «не» на «не». Используемый вами символ апострофа странный.

person Eugene Sh.    schedule 06.03.2015
comment
Хорошо, спасибо за предложение, и у меня есть файл .txt на рабочем столе. - person Leopold_Stotch; 07.03.2015