Trong thời đại CNTT phát triển nhanh với tốc độ chóng mặt như hiện nay, Tin học Văn phòng là một trong những Kỹ năng mềm không thể thiếu được với mỗi sinh viên, nhân viên văn phòng,… Bất kỳ Nhà tuyển dụng nào cũng thường yêu cầu rất cao khả năng sử dụng thành thạo Tin học văn phòng như: Word, Excel, PowerPoint, Access,…Và trong những năm gần đây thì yêu cầu đó ngày càng cao hơn trước rất nhiều. Trang bị Kiến thức, kỹ năng sử Tin học văn phòng thành thạo là một việc rất cần thiết trước khi bạn tiến hành đi xin việc.
Trang 1TH C HÀNH MÔN TIN H C I C NG
Bài 11 KI U C U TRÚC
I TÓM T T BÀI TH C HÀNH
¬ Th c hành c u t rúc st ruct
¬ Vi t đ c các ch ng t r ình sau :
̇ Ch ng t r ình qu n lý t hông t in h c sinh
H t ên MSSV
L p
¬ Chú ý:
̇ L u đ
̇ Cách t i p c n đ gi i bài t oán t r ên m áy t ính
II THAO TÁC T NG B C
2.1 Ch ng trình qu n lý thông tin h c sinh
H t ên
MSSV
L p
2.1.1 Mô t bài toán
Nh p 1 danh sách sinh viên, m i sinh v iên bao g m 3 t hông t in c b n nh
t r ên
2.1.2 Thu t toán
1 nh ngh a st r uct SI NHVI EN
2 Th c hi n t hao t ác nh p t hông t in cho 1 sinh viên
3 Th c hi n t hao t ác x u t t hông t in cho 1 sinh viên
2.1.3 Vi t ch ng trình
#include <stdio.h>
#include <conio.h>
//dinh nghia cau truc sinh vien
typedef struct sinhvien {
Trang 2char ten[25];
char mssv[10];
char lop[5];
}SINHVIEN;
//ham nhap thong tin 1 sinh vien
void NhapSV(SINHVIEN dssv[], int thutu) {
fflush(stdin);
printf ("Nhap ten sinh vien : ");
gets(dssv[thutu].ten);
fflush(stdin);
printf ("Nhap ma so sinh vien : ");
gets(dssv[thutu].mssv);
fflush(stdin);
printf ("Nhap lop cua sinh vien : ");
gets(dssv[thutu].lop);
}
//ham xuat thong tin 1 sinh vien
void XuatSV(SINHVIEN dssv[], int thutu) {
printf ("Ten sinh vien : ");
puts(dssv[thutu].ten);
printf ("Ma so sinh vien : ");
puts(dssv[thutu].mssv);
printf ("Lop cua sinh vien : ");
puts(dssv[thutu].lop);
}
void main() {
int n = 0;
clrscr();
printf ("Nhap so luong sinh vien : ");
scanf ("%d", &n);
for ( int i = 0; i < n; i++ ) {
printf ("Nhap thong tin cho sinh vien thu %d\n",
Trang 3i + 1);
}
for ( i = 0; i < n; i++ ) {
printf ("Thong tin ve sinh vien thu %d\n", i + 1);
} getch();
}
2.1.4 D ch ch ng trình
2.2 Ch ng trình ki m tra m t sinh viên có trong danh sách v a nh p
hay ko ?
2.2.1 Mô t bài toán
Gi s đã có danh sách sinh viên đã nh p bài 2.1
Nh p tên 1 sinh viên
Ki m tra sinh viên có trong danh sách hay không
2.2.2 Thu t toán
B1: Nh p danh sách B2: Nh p tên c n tìm B3: Duy t l n l t các sinh viên trong danh sách
Ki m tra d a theo tên c n tìm
Trang 42.2.3 Vi t ch ng trình
#include <stdio.h>
#include <conio.h>
#include <string.h>
typedef struct sinhvien {
char ten[25];
char mssv[10];
char lop[5];
}SINHVIEN;
void NhapSV(SINHVIEN dssv[], int thutu) {
fflush(stdin);
printf ("Nhap ten sinh vien : ");
gets(dssv[thutu].ten);
fflush(stdin);
printf ("Nhap ma so sinh vien : ");
gets(dssv[thutu].mssv);
fflush(stdin);
printf ("Nhap lop cua sinh vien : ");
gets(dssv[thutu].lop);
}
void XuatSV(SINHVIEN dssv[], int thutu) {
printf ("Ten sinh vien : ");
puts(dssv[thutu].ten);
printf ("Ma so sinh vien : ");
puts(dssv[thutu].mssv);
printf ("Lop cua sinh vien : ");
puts(dssv[thutu].lop);
}
int TimSVTheoTen(SINHVIEN dssv[], int soluongsv, char ten[]) {
int vitritimthay = -1;
for ( int i = 0; i < soluongsv; i++ ) {
Trang 5if ( strcmp(dssv[i].ten, ten) == 0)
}
return vitritimthay;
}
void main() {
int n = 0;
char ten[25];
clrscr();
printf ("Nhap so luong sinh vien : ");
scanf ("%d", &n);
for ( int i = 0; i < n; i++ ) {
printf ("Nhap thong tin cho sinh vien thu %d\n",
i + 1);
} printf ("Ten sinh vien muon tim : ");
fflush(stdin);
gets(ten);
int vitritimthay = TimSVTheoTen(dssv, n, ten);
if ( vitritimthay == -1) printf ("Khong co sinh vien ten %s trong danh
sach\n", ten);
else
{ printf ("Thong tin ve sinh vien ten %s\n", ten);
} getch();
}
2.2.4 D ch ch ng trình
Trang 6III BÀI T P LÀM T I L P
̇ Nh p danh sách sinh viên
̇ Xu t danh sách sinh viên
̇ Tìm sinh viên theo tên
IV BÀI T P V NHÀ
̇ Tìm sinh viên theo các thu c tính MSSV, L p, hay t t c các thu c tính
V CÁC CÂU H I TH NG G P
̇ …