Tải bản đầy đủ (.pdf) (6 trang)

Thực hành tin học đại 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (121.81 KB, 6 trang )

TRNG I HC CÔNG NGH THÔNG TI N THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC


TH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 trúc struct.
¬ Vit đc các chng trình sau :
̇ Chng trình qun lý thông tin hc sinh
H tên
MSSV
Lp
¬ Chú ý:
̇ Lu đ
̇ Cách tip cn đ gii bài toán trê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 viên bao gm 3 thông tin c bn nh
trên
2.1.2.
Thut toán
1. nh ngha struct SINHVI EN
2. Thc hin thao tác nhp thông tin cho 1 sinh viên


3. Thc hin thao tác xut thông tin 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
{

1
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC


char 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()
{
SINHVIEN dssv[10];

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",

2
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC


i + 1);
NhapSV(dssv, i);
}


for ( i = 0; i < n; i++ )
{
printf ("Thong tin ve sinh vien thu %d\n", i + 1);
XuatSV(dssv, i);
}
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

3
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC


2.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++ )
{

4
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC


if ( strcmp(dssv[i].ten, ten) == 0)
vitritimthay = i;
}
return vitritimthay;
}

void main()
{
SINHVIEN dssv[10];

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);
NhapSV(dssv, i);
}
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);
XuatSV(dssv, vitritimthay);

}
getch();
}
2.2.4.
Dch chng trình

5
TRNG I HC CÔNG NGH THÔNG TIN THC HÀNH MÔN TIN HC I CNG
Khoa Khoa Hc Máy Tính Bài 11. KIU CU TRÚC



III. 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
̇ …


6

×