1. Trang chủ
  2. » Công Nghệ Thông Tin

Struct bài tập kiểu cấu trúc lớp 11

4 334 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 4
Dung lượng 531,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

các bài tập kiểm môn toán lớp 11×bai tap ve cau truc lap tin hoc 11×bài giảng kiểu cấu trúc× Từ khóa bai tap ve cau truc tiep gian tiep lop 9bai tap chuyen cau truc tiep sang cau gian tiep lop 8bài tập chuyển câu trực tiếp sang gián tiếp lớp 9bài tập chuyển câu trực tiếp sang gián tiếp lớp 8bài tập toán hình học lớp 11

Trang 1

KIỂU CẤU TRÚC TRONG C++

1 Bài toán

Cho 1 danh sách gồm n (2≤n≤105) học sinh, mỗi học sinh cần quản lý các thông tin: họ tên, ngày sinh (dd/mm/yyyy), quê quán và điểm TB các môn toán, ngữ văn, anh, tin

Hãy viết 1 chương trình thực hiện các yêu cầu sau:

a Nhập danh sách n học sinh

b In ra màn hình thông tin của học sinh có tổng điểm TB cao nhất

c In ra màn hình danh sách n học sinh sau khi sắp xếp theo thứ tự không tăng của tổng điểm

TB các môn: toán, ngữ văn, anh, tin

d Sắp xếp danh sách học sinh theo chiều không giảm của tên

Trong bài toán này, mỗi học sinh là một đối tượng có 7 thông tin khác nhau

Để giải quyết bài toán này có thể sử dụng 7 mảng 1 chiều để lưu 7 thông tin khác nhau của n học sinh, tuy nhiên trong quá trình xử lý sẽ gặp nhiều khó khăn Ví dụ như trong thao tác hoán đổi

2 phần tử cần phải thực hiên với 7 mảng

Sử dụng kiểu cấu trúc (struct) trong C++ sẽ giải quyết được vấn đề này

Kiểu cấu trúc thường được dùng để giải quyết các bài toán quản lý đối tượng có nhiều thông tin khác nhau

2 Khai báo biến cấu trúc

a Định nghĩa kiểu cấu trúc

Cú pháp:

struct <kiểu cấu trúc>

{

<kiểu 1> <tên trường 1>;

<kiểu 2> <tên trường 2>;

<kiểu k> <tên trường k>;

};

Trong đó:

+ struct là từ khóa để định nghĩa kiểu cấu trúc

+ <kiểu cấu trúc> do người dùng từ đặt

+ <tên trường 1>,<tên trường 2>,…,<tên trường k>:mỗi tên trường là một thông tin của đối tượng

+ <kiểu 1>, <kiểu 2>,…,<kiểu k> là kiểu dữ liệu tương ứng của <tên trường 1>, <tên trường 2>,…, <tên trường k>

Trang 2

Ví dụ:

struct HOCSINH

{

char hoten[41];

char ngaysinh[11];

char que[101];

float dt,dv,da,dti;

};

b Khai báo biến cấu trúc

Sử dụng 1 trong 2 cách sau

Cách 1: Khai báo thông qua kiểu cấu trúc đã được định ghĩa

Cú pháp:

<tên kiểu cấu trúc> <danh sách biến cấu trúc>;

Ví dụ: với định nghĩa kiểu HOCSINH ở trên ta có thể khai báo các biến cấu trúc:

HOCSINH hs1,hs2;

Cách 2: Kết hợp ngay trong định nghĩa cấu trúc

struct <kiểu cấu trúc>

{

<kiểu 1> <trường 1>;

<kiểu 2> <trường 2>;

<kiểu k> <trường k>;

Ví dụ:

struct HOCSINH

{

char hoten[41];

char ngaysinh[11];

char que[101];

float dt,dv,da,dti;

} hs1, hs2;

3 Tham chiếu đến các thành phần của biến cấu trúc

Sử dụng toán tử dấu chấm (.) theo cú pháp sau để tham chiếu đến 1 trường trong biến cấu trúc:

<biến cấu trúc>.<tên trường>

Trang 3

Ví dụ:

+ Để tham chiếu đến trường hoten của biến cấu trúc hs1 ta viết: hs1.hoten

+ Để in điểm TB các môn toán, văn, anh, tin của biến cấu trúc hs2 ta viết

cout<<hs2.dt<<” “<<hs2.dv<<” “<<hs2.da<<” “<<hs2.dti<<endl;

Đối với biến con trỏ cấu trúc ta có thể tham chiếu đến 1 trường bằng toán tử ->

Ví dụ ta có khai báo sau:

struct DATE

{ int day;

int month;

int year;

} date, *p;

Các câu lệnh sau là hợp lệ:

date.day=21;

date.month=4;

date.year=2017;

p->day=2;

p->month=2;

p->year=2014;

Chú ý:

+ Phép gán cấu trúc: ta có thể gán (toán tử = ) hai biến cấu trúc cùng kiểu cho nhau chẳng hạn như:

DATE d1={21,4,207} ,d2;

d2=d1;

+ Để lấy địa chỉ các trường cấu trúc ta sử dụng toán tử &

Ví dụ: cout<<&date.day;

4 Mảng cấu trúc

Mảng cấu trúc được khai báo như sau:

<tên kiểu cấu trúc> <tên mảng>[<kích thước>];

Hoặc

struct <kiểu cấu trúc>

{

<kiểu 1> <trường 1>;

<kiểu 2> <trường 2>;

Trang 4

<kiểu k> <trường k>;

Ví dụ: DATE date[7];

5 Bài tập

Viết chươn trình cho mục 1 Bài toán

Ngày đăng: 22/05/2017, 11:12

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w