کار با فایل در زبان سی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

کار با فایل در زبان سی

0 امتیاز
سلام دوستان ، خسته نباشید.
من در  کار با فایل  اشکالات زیادی دارم  ، مثلا کد سوال زیر چگونه میشه؟
برنامه ای بنویسید که 10 عددی که در فایلی نوشته اید را بخواند و مجموع، میانگین، maxو min آن ها را در خروجی چاپ کند.
از fscanf یا fread استفاده کنید.
سوال شده خرداد 6, 1402 بوسیله ی Mohseni  

1 پاسخ

+1 امتیاز
 
بهترین پاسخ
#include <stdio.h>

int main() {
    FILE* file = fopen("numbers.txt", "r");
    if (file == NULL) {
        perror("Error opening file");
        return 1;
    }

    int num;
    int sum = 0;
    int min = INT_MAX;
    int max = INT_MIN;

    for (int i = 0; i < 10; i++) {
        if (fscanf(file, "%d", &num) != 1) {
            perror("Error reading from file");
            fclose(file);
            return 1;
        }
        sum += num;
        if (num < min) {
            min = num;
        }
        if (num > max) {
            max = num;
        }
    }

    fclose(file);

    double avg = (double)sum / 10;

    printf("Total: %d\n", sum);
    printf("Average: %f\n", avg);
    printf("Minimum: %d\n", min);
    printf("Maximum: %d\n", max);

    return 0;
}
در این برنامه ابتدا فایل “numbers.txt” را برای خواندن با استفاده از fopen باز می کنیم. سپس از یک حلقه برای خواندن هر یک از 10 عدد از فایل با استفاده از تابع fscanf استفاده می کنیم. اگر fscanf مقداری غیر از 1 برگرداند که نشان می‌دهد نمی‌تواند عددی را از فایل بخواند، یک پیغام خطا چاپ می‌کنیم و از برنامه خارج می‌شویم.
 
همانطور که هر عدد را می خوانیم، مجموع همه اعداد را به روز می کنیم و حداقل و حداکثر مقادیری را که تاکنون دیده ایم را دنبال می کنیم.
پاسخ داده شده خرداد 6, 1402  بوسیله ی Lori3 (امتیاز 857)   11 37 106
انتخاب شد شهریور 8, 1402 بوسیله ی farnoosh
...