Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Chương trình C xử lý tệp dữ liệu nguyên bằng khái niệm tệp

Mô tả bài toán

Chương trình này tách các số lẻ và số chẵn từ một tệp tin. Sau đó ghi số lẻ vào tệp ODD và số chẵn vào tệp EVEN.

Các bước thực hiện:

  1. Mở tệp DATA ở chế độ ghi, nhập các số rồi đóng tệp.
  2. Mở lại DATA ở chế độ đọc, mở ODD và EVEN ở chế độ ghi.
  3. Dùng vòng lặp while để kiểm tra số lẻ/chẵn và ghi vào tệp tương ứng.
  4. Đóng tất cả tệp, sau đó mở ODD và EVEN để đọc và hiển thị nội dung.

Chương trình minh họa

#include <stdio.h>

int main() {
    FILE *f1, *f2, *f3;
    int number, i;

    printf("Noi dung file DATA:\n");
    f1 = fopen("DATA", "w"); // tạo file DATA
    for (i = 1; i <= 10; i++) {
        scanf("%d", &number);
        if (number == -1) break;
        putw(number, f1);
    }
    fclose(f1);

    f1 = fopen("DATA", "r");
    f2 = fopen("ODD", "w");
    f3 = fopen("EVEN", "w");

    while ((number = getw(f1)) != EOF) { // đọc từ DATA
        if (number % 2 == 0)
            putw(number, f3); // ghi vào file chẵn
        else
            putw(number, f2); // ghi vào file lẻ
    }

    fclose(f1);
    fclose(f2);
    fclose(f3);

    f2 = fopen("ODD", "r");
    f3 = fopen("EVEN", "r");

    printf("\n Noi dung file ODD:\n");
    while ((number = getw(f2)) != EOF)
        printf("%3d", number);

    printf("\n Noi dung file EVEN:\n");
    while ((number = getw(f3)) != EOF)
        printf("%3d", number);

    fclose(f2);
    fclose(f3);
    return 0;
}

Kết quả đầu ra

Noi dung file DATA: 1 2 3 4 5 6 7 8 9 10
Noi dung file ODD: 1 3 5 7 9
Noi dung file EVEN: 2 4 6 8 10