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;
}