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

Bài giảng Kỹ thuật lập trình nâng cao: Chương 5 - Trần Minh Thái

19 23 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 19
Dung lượng 477,88 KB

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

Nội dung

Bài giảng Kỹ thuật lập trình nâng cao - Chương 5: Kiểu dữ liệu có cấu trúc cung cấp cho người học các kiến thức: Khái niệm, kiểu dữ liệu có cấu trúc, truy cập các thuộc tính cấu trúc,... Mời các bạn cùng tham khảo nội dung chi tiết.

Trang 1

TRẦN MINH THÁI

minhthai@itc.edu.vn

Trang 2

Kiểu dữ liệu có cấu trúc thực chất là một kiểu dữ liệu do người dùng định nghĩa bằng cách gom nhóm các kiểu dữ liệu cơ bản có sẵn trong C thành một kiểu dữ liệu phức hợp nhiều thành phần

*Khai báo

struct tên_struct

{

khai báo các thuộc tính;

};

typedef struct tên_struct TÊNKDL;

2

Trang 3

* Ví dụ khai báo kiểu dữ liệu lưu thông tin của ngày:

struct ttDate

{

char thu[10];

unsigned char ngay;

unsigned char thang;

int nam;

};

Trang 4

* Biến kiểu cấu trúc

TÊNKDL tên_biến;

tên_biến . tên_thuộc_tính;

* Ví dụ

x.ngay = 5;

4

Trang 5

* Biến con trỏ kiểu cấu trúc

TÊNKDL * tên_biến_con_trỏ;

tên_biến_con_trỏ -> tên_thuộc_tính;

Ví dụ:

DATE * x ;

x -> ngay = 5 ;

Trang 6

* Khai báo đệ qui

struct tên_struct

{

khai báo các thuộc tính;

struct tên_struct * tên_thuộc_tính_đệ_qui; };

6

Trang 7

* Ví dụ:

struct ttNode

{

int key;

struct ttNode *pNext; };

Trang 8

Ví dụ: Viết chương trình nhập vào toạ độ hai điểm trong mặt phẳng và tính tổng hai toạ độ này

//File Khaibao.h

#include <iostream.h>

struct ttDIEM

{

int x;

int y;

};

typedef struct ttDIEM DIEM;

Trang 9

//File caidat.cpp

#include "khaibao.h"

void Nhap (DIEM &d)

{

cout<<“\nNhap vao toa do diem\n”; cout<<“Hoanh do : “;

cin>>d x;

cout“Tung do : ”;

cin>>d.y;

}

Trang 10

void Xuat ( DIEM d)

{

cout<<“\nToa do diem : (“ <<d.x<< “,”<<d.y<<”)”; }

DIEM Tong ( DIEM d1, DIEM d2)

{

DIEM temp;

temp.x = d1.x + d2.x ; temp.y = d1.y + d2.y ; return temp;

}

Trang 11

//File main.cpp

#include”khaibao.h”

void main ()

{

DIEM A , B, AB; //khai bao 3 diem A, B, AB; Nhap (A);

Xuat (A);

Nhap (B);

Xuat (B);

cout<<“\n Tong cua hai diem vua nhap la : ”;

AB = Tong (A, B);

Xuat (AB);

Trang 12

*

Viết chương trình nhập vào thông tin của một sinh viên gồm:

*Mã số sinh viên

*Họ và tên

*Điểm giữa kỳ (GK)

*Điểm thực hành (TH)

*Điểm lý thuyết (LT)

Tính điểm tổng kết môn theo công thức:

GK*10%+TH*30%+LT*60%

Trang 13

Viết chương trình nhập vào 2 thời gian t1 và t2 (thông tin thời gian gồm: giờ, phút và giây); tính khoảng cách giữa t1 và t2 (đơn vị tính bằng giây)

Trang 14

*Cách khai báo tương tựnhư mảng một chiều (Kiểu dữ liệu bây giờ là kiểu dữ liệu có cấu trúc)

*Cách truy cập phần tửtrong mảng cũng như truy cập trên mảng một chiều Nhưng do từng phần tử có kiểu cấu trúc nên phải chỉ định rõ cần lấy thành phần nào, tức là phải truy cập đến thành phần cuối cùng có kiểu là dữliệu cơ bản (xem lại bảng các kiểu dữliệu cơ bản)

14

Trang 15

Do kiểu dữliệu có cấu trúc thường chứa rất nhiều thành phần nên khi viết chương trình loại này ta cần lưu ý:

* Xây dựng hàm xửlýcho một kiểu cấu trúc.

* Muốn xửlýcho mảng cấu trúc, ta gọi lại hàm xửlýcho một kiểu cấu trúc đã đượ c xây dựng bằng cách dùng vòng lặp.

Trang 16

Viết hàm nhập vào mảng các phân số

struct ttPhanSo

{

int tu, mau;

};

typedef struct ttPhanSo PHANSO ;

Trang 17

void NhapPS( PHANSO &ps)

{

cout<<"Nhap tu so: ";

cin>>ps.tu;

cout<<"\nNhap mau so: ";

cin>>ps.mau;

}

Trang 18

*

void NhapMangPS( PHANSO dsps[], int n)

{

for(int i=0; i<n; i++)

{

cout<<”\nNhap vao phan so thu "<< i+1<<”: “;

NhapPS(dsps[i]);

}

}

Trang 19

3.1 Viết chương trình nhập vào mảng các phân số, cho biết phân số có giá trị lớn nhất trong mảng

3.2 Viết chương trình nhập vào danh sách các mặt hàng, in ra mặt hàng có xuất xứ “VietNam”, biết thông tin mặt hàng gồm:

- Mã mặt hàng

- Tên mặt hàng

- Đơn giá

- Xuất xứ

Ngày đăng: 02/11/2020, 11:20

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN