Kỹ thuật lập trình v1.0
  • Giáo trình lập trình C - Aptech
  • Bài giảng video
    • Bài 1: Giới thiệu về lập trình C
    • Bài 2: Chương trình C đầu tiên
    • Bài 3: Các thành phần trong C
    • Bài 4: Nhập xuất trong C
    • Bài 5: Phép toán, toán tử trong C
    • Bài 6: Các câu lệnh điều khiển (Phần 1)
    • Bài 7: Các câu lệnh điều khiển (Phần 2)
    • Bài 8: Các câu lệnh điều khiển (Phần 3)
    • Bài 9: Hàm và truyền tham số (Phần 1)
    • Bài 10: Hàm và truyền tham số (Phần 2)
    • Bài 11: Mảng trong C (Phần 1)
    • Bài 12: Mảng trong C (Phần 2)
    • Bài 13: Bài tập về mảng trong C
    • Bài 14: Chuỗi ký tự trong C
    • Bài 15: Bài tập về chuỗi
    • Bài 16: Kiểu cấu trúc - Struct (Phần 1)
    • Bài 17: Kiểu cấu trúc - Struct (Phần 2)
    • Bài 18: Kiểu cấu trúc - Struct (Phần 3)
    • Bài 19: Đọc ghi file trong C
    • Bài 20: Bài tập đọc ghi file
    • Bài 21: Con trỏ trong C
    • Bài 22: Một số phép toán trên biến con trỏ
    • Bài 23: Cấp phát và thu hồi vùng nhớ
    • Bài 24: Bài tập về con trỏ
  • Danh sách bài tập thực hành môn KTLT
    • Bài tập làm thêm
    • Khung code bài thực hành
    • Các bước làm bài tập
    • Một số lệnh trong linux
    • Website tham khảo
  • Các bài code mẫu tham khảo
    • Sắp xếp mảng tăng /giảm dần
    • Ví dụ về mảng 2 chiều
    • Ví dụ đọc file text 1
    • Ví dụ đọc ghi file text 2
    • Khởi tạo struct Sinh viên
    • Mảng Struct
    • Ví dụ về file nhị phân lưu struct
    • Struct
  • Thi giữa kỳ
  • Code mẫu bài thực hành
    • ktltbai01.cpp
    • ktltbai02.cpp
    • ktltbai06.cpp
    • ktltbai07.cpp
    • ktltbai07b.cpp
    • ktltbai08.cpp
    • ktltbai09.cpp
    • ktltbai10.cpp
    • ktltbai12.cpp
    • ktltbai15.cpp
    • ktltbai17.cpp
    • ktltbai18.cpp
    • ktltbai19.cpp
    • ktltbai20.cpp
    • ktltbai23.cpp
    • ktltbai34.cpp
Powered by GitBook
On this page
  1. Các bài code mẫu tham khảo

Struct

#include <stdio.h>

typedef struct{
    int ngay;
    int thang;
    int nam;
}NgayThang;

typedef struct {
    char hoTen[30];
    NgayThang ngaySinh;
}SinhVien;

int main()
{
    int n=3;
    char kt;
    SinhVien a[n];
    for(int i=0;i<n;i++){
        printf(">>> Họ tên: ");
        gets(a[i].hoTen);
        printf(">>> Ngày sinh (dd/mm/yyyy): ");
        scanf("%d%c%d%c%d", &a[i].ngaySinh.ngay, &kt, &a[i].ngaySinh.thang, &kt, &a[i].ngaySinh.nam);
        getchar();
    }
    
    //Thuật toán sắp xếp 
    for(int i=0;i<n-1;i++){
        for (int j=i+1;j<n;j++){
            if (a[j].ngaySinh.nam<a[i].ngaySinh.nam){
                SinhVien temp = a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
    }
    
    printf("\nÔng già nhất là: \n");
    int nam_sinh_min = a[0].ngaySinh.nam;
    for(int i=0;i<n;i++){
        if(a[i].ngaySinh.nam <= nam_sinh_min)
            printf("%s \t %d/%d/%d \n",a[i].hoTen,a[i].ngaySinh.ngay,a[i].ngaySinh.thang,a[i].ngaySinh.nam);
        else break;
    }
    
    return 0;
}
PreviousVí dụ về file nhị phân lưu structNextThi giữa kỳ

Last updated 1 year ago