Bài toán quản lý vé tàu lập trình C - Đọc ghi file

Cụ thể đề bài như bên dưới.
Để bài: Viết chương trình quản lý vé tàu, thông tin một vé tàu như sau, Ngày giờ đi, Ngày giờ đến, Ga đi, Ga đến, Loai chỗ ngồi, Số toa, số ghế.
Viết chương trình thực hiện những công việc sau:
1. Nhập và xuất danh sách n vé tàu từ bàn phím
2. Ghi ra file danh sách các vé tàu có ga đến là Thai Nguyen và loại chỗ ngồi mềm
Code mẫu
#include <stdio.h> #include <string.h> //Định nghĩa kiểu dữ liệu Vetau typedef struct Vetau{ char ngayGioDi[200], ngayGioDen[200]; char gaDi[200], gaDen[200], loaiChoNgoi[200]; int soToa, soGhe; } VeTau; //Nhập danh sách vé tàu void Nhap(int n, VeTau A[]){ printf("\n--------NHAP DANH SACH VE TAU------\n"); for(int i=0;i<n;i++) { printf("\nNhap thong tin ve tau thu %d:\n", i+1); printf(" Nhap ngay gio di: "); fflush(stdin); gets(A[i].ngayGioDi); printf(" Nhap ngay gio den: "); gets(A[i].ngayGioDen); printf(" Nhap ga di: "); gets(A[i].gaDi); printf(" Nhap ga den: "); gets(A[i].gaDen); printf(" Nhap loai cho ngoi: "); scanf("%s", &A[i].loaiChoNgoi); printf(" Nhap so toa: "); scanf("%d", &A[i].soToa); printf(" Nhap so ghe: "); scanf("%d", &A[i].soGhe); printf("\n\n"); } } /Xuất dánh sách vé tàu void xuat(int n, VeTau A[]){ printf("\n\n--------HIEN THI DANH SACH VE TAU------\n"); for(int i=0;i<n;i++){ printf("%s %s %s %s %s %d %d\n", A[i].ngayGioDi, A[i].ngayGioDen, A[i].gaDi,A[i].gaDen,A[i].loaiChoNgoi,A[i].soToa,A[i].soGhe); } } //Ghi file void ghiFile(int n, VeTau A[]){ printf("\n\n =>Da ghi vao file danh sach cac ve tau co diem den la Thai nguyen vao file ghivetau.txt "); FILE *f = fopen("ghivetau.txt", "wt"); for(int i=0;i<n;i++){ if(stricmp(A[i].gaDen, "Thai Nguyen") == 0) fprintf(f,"%s %s %s %s %s %d %d\n", A[i].ngayGioDi, A[i].ngayGioDen, A[i].gaDi,A[i].gaDen,A[i].loaiChoNgoi,A[i].soToa,A[i].soGhe); } fclose(f); } int main() { int n; printf("Nhap so luong ve tau: "); scanf("%d", &n); VeTau A[n]; Nhap(n,A); xuat(n,A); ghiFile(n,A); return 0; }