1. Bài tập nhập và hiển thị thông tin sinh viên bằng struct trong C
Bài tập này chúng ta sẽ sử dụng các kiến thức từ ngôn ngữ lập trình C như: cách nhập xuất cơ bản trong ngôn ngữ lập trình C,cách sử dụng hàm trong C, cách sử dụng struct trong ngôn ngữ lập trình C và sử dụng vòng lặp for để duyệt thông tin của từng sinh viên.
Yêu cầu bài tập là sử dụng Struct trong C tạo cấu trúc sinh viên gồm các thông tin: tên sinh viên, mã sinh viên, lớp học và năm sinh. Nhập thông tin các sinh viên và sau đó in các thông tin này trên màn hình.
2. Lời giải
Để thực hiện bài toán này chúng ta cần có kiến thức cơ bản về ngôn ngữ lập trình C, các cách nhập xuất cơ bản trong C, cách sử dụng hàm trong C, cách sử dụng struct trong ngôn ngữ lập trình C và sử dụng vòng lặp for để duyệt thông tin của từng sinh viên.
Các bước thực hiện yêu cầu của bài tập nhập và hiển thị thông tin sinh viên bằng struct trong C như sau:
Bước 1: Ta khai báo một cấu trúc struct SinhVien gồm có: char TenSV[50](tên sinh viên); char MaSV[50](mã sinh viên); char Lop[50](lớp); int NamSinh(năm sinh).
Bước 2: Ta khỏi tạo hàm void Nhap(SinhVien sv[], int n) dùng để nhập dữ liệu từ bàn phím thông tin của sinh viên. Trong hàm ta sử dụng vòng for bắt đầu từ int i=0, kết thúc khi i<n và mỗi lần i tăng lên 1 để nhập dữ liệu cho từng sinh viên từ sv[0] đến sv[n-1], trong vòng for thì nhập vào dữ liệu của sinh viên.
Bước 3: Ta khởi tạo hàm void Xuat(SinhVien sv[], int n) dùng để hiển thị dữ liệu của sinh viên ra màn hình. Trong hàm ta sử dụng vòng for bắt đầu từ int i=0, kết thúc khi i<n và mỗi lần i tăng lên một để hiển thị dữ liệu của từng sinh viên từ sv[0] đến sv[n-1] ra màn hình, trong vòng for in dữ liệu của sinh viên ra màn hình.
Bước 4: Trong hàm main ta khởi tạo biến SinhVien sv[100] (mảng sv kiểu dữ liệu SinhVien có tối đa 100 phần tử), biến int n (số lượng sinh viên) và nhập dữ liệu từ bàn phím và cho n.
Bước 5: Ta gọi hàm Nhap(sv,n) và Xuat(sv,n) rồi chạy chương trình.
Chương trình giải bài tập nhập và hiển thị thông tin sinh viên bằng struct trong C như sau:
#include <stdio.h> struct SinhVien{ char TenSV[50]; char MaSV[50]; char Lop[50]; int NamSinh; }; void Nhap(SinhVien sv[], int n){// ham nhap thong tin sinh vien for(int i=0; i<n; i++){ printf("\nNhap thong tin sinh vien thu %d:",i); printf("\nNhap ten sinh vien:"); fflush(stdin);//xoa bo dem gets(sv[i].TenSV); printf("\nNhap ma sinh vien:"); fflush(stdin);//xoa bo dem gets(sv[i].MaSV); printf("\nNhap lop:"); fflush(stdin);//xoa bo dem gets(sv[i].Lop); printf("\nNhap nam sinh:"); scanf("%d", &sv[i].NamSinh); } } void Xuat(SinhVien sv[], int n){//ham hien thi thong tin sinh vien printf("\n-----THONG TIN SINH VIEN----\n"); printf("TenSv \t\t MaSV \t Lop \t NamSinh \n"); for(int i=0; i<n; i++){ printf("%s \t %s \t %s \t %d \n",sv[i].TenSV,sv[i].MaSV,sv[i].Lop,sv[i].NamSinh); } } int main(){ SinhVien sv[100];// khai bao mang sv kieu SinhVien co toi da 100 phan tu int n; // khai bao so sinh vien printf("Nhap so sinh vien:"); scanf("%d",&n); Nhap(sv,n); Xuat(sv,n); }
Kết quả:
Nhap so sinh vien:2 Nhap thong tin sinh vien thu 0: Nhap ten sinh vien:Nguyen Van A Nhap ma sinh vien:A001 Nhap lop:CNPM Nhap nam sinh:2002 Nhap thong tin sinh vien thu 1: Nhap ten sinh vien:Dinh Van B Nhap ma sinh vien:C002 Nhap lop:TMDT Nhap nam sinh:1999 -----THONG TIN SINH VIEN---- TenSv MaSV Lop NamSinh Nguyen Van A A001 CNPM 2002 Dinh Van B C002 TMDT 1999
3. Tổng kết
Sau khi làm bài tập này các bạn cần phải hiểu và nắm được những kiến thức sau:
- Cách nhập xuất cơ bản trong ngôn ngữ lập trình C.
- Cách sử dụng hàm trong C.
- Cách sử dụng struct trong C.
- Cách sử dụng vòng lặp để duyệt thông tin của từng sinh viên trong C.
- Cách nhập và hiển thị thông tin sinh viên trong C.