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

Bài giảng Kỹ thuật lập trình cơ bản (C++): Chương 5 - ThS. Trần Nguyễn Anh Chi

9 14 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 9
Dung lượng 511,63 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 cơ bản (C++) - Chương 5 trình bày về kiểu dữ liệu có cấu trúc. Các nội dung chính trong chương này gồm có: Khai báo kiểu cấu trúc và biến cấu trúc, truy xuất dữ liệu cấu trúc, kiểu liệt kê. Mời các bạn cùng tham khảo.

Trang 1

GV: ThS TRẦN NGUYỄN ANH CHI

Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin

TpHCM, 02/2011

CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC

PHẦN 1: KIỂU CẤU TRÚC

Đặt vấn đề

 Thông tin 1 SV

 MSSV : kiểu chuỗi

 Tên SV : kiểu chuỗi

 NTNS : kiểu chuỗi

 Phái : ký tự

 Điểm Toán, Lý, Hóa : số thực

 Yêu cầu

 Lưu thông tin n SV

 Truyền thông tin n SV vào hàm

2

Trang 2

Đặt vấn đề (tt)

 Khai báo các biến để lưu trữ 1 SV

 char mssv[13]; // “3.01.02.1234”

 char hoten[30]; // “Nguyen Van A”

 char ntns[8]; // “29/12/82”

 char phai; // „y‟  Nam, „n‟  Nữ

 float toan, ly, hoa; // 8.5 9.0 10.0

 Truyền thông tin 1 SV cho hàm

 void nhap(char mssv[], char hoten[], char ntns[], char phai,

float toan, float ly, float hoa);

 void xuat(char mssv[], char hoten[], char ntns[], char phai,

float toan, float ly, float hoa); 3

Đặt vấn đề (tt)

 Nhận xét

 Đặt tên biến khó khăn và khó quản lý

 Truyền tham số cho hàm quá nhiều

 Tìm kiếm, sắp xếp, sao chép,… khó khăn

 Ý tưởng

 Gom những thông tin của cùng 1 SV thành một kiểu dữ

liệu mới => Kiểu dữ liệu cấu trúc (struct)

4

Trang 3

Khai báo kiểu cấu trúc và biến cấu trúc

 Cú pháp 1

//khai bao kieu cau truc va bien cau truc

5

struct <tên kiểu cấu trúc>

{

<kiểu dữ liệu cơ sở> <tên thành phần 1>;

<kiểu dữ liệu cơ sở> <tên thành phần n>;

}<tên biến>;

//khai bao bien cau truc rieng

struct <tên kiểu cấu trúc> <tên biến>;

Khai báo (tt)

6

 Ví dụ 1: xây dựng cấu trúc Điểm trong không gian 2 chiều

struct DiemOxy {

int x;

int y;

}diem1, diem2;

Hoặc

struct DiemOxy {

int x;

int y;

};

struct DiemOxy diem1, diem2;

Trang 4

Khai báo (tt)

7

 Cú pháp 2

typedef struct

{

<kiểu dữ liệu cơ sở> <tên thành phần 1>;

<kiểu dữ liệu cơ sở> <tên thành phần n>;

} <tên kiểu cấu trúc>;

<tên kiểu cấu trúc> <tên biến>;

Khai báo (tt)

8

 Ví dụ 2: xây dựng cấu trúc Sinh viên để lưu trữ thông tin

sinh viên

typedef struct

{

char MSSV[13];

char HoTen[30];

char phai;

char NTNS[8];

float Toan, Van, TrungBinh;

} SinhVien;

SinhVien sv;

Trang 5

Truy xuất dữ liệu cấu trúc

 Đặc điểm

 Không thể truy xuất trực tiếp vào các thành phần trong

cấu trúc, mà phải thông qua toán tử thành phần cấu trúc

hay còn gọi là toán tử chấm (dot operation)

 Cú pháp

9

<tên biến cấu trúc>.<tên thành phần>

 Ví dụ 3: Nhập vào tọa độ 2 điểm trong không gian 2

chiều Tính khoảng cách giữa 2 điểm này

Truy xuất dữ liệu cấu trúc (tt)

10

Trang 6

Truy xuất dữ liệu cấu trúc (tt)

11

GV: ThS TRẦN NGUYỄN ANH CHI

Trường Cao đẳng Công nghệ Thông Tin Khoa Công nghệ Thông Tin

TpHCM, 02/2011

CHƯƠNG 5 KIỂU DỮ LIỆU CÓ CẤU TRÚC

PHẦN 2: KIỂU LIỆT KÊ

Trang 7

 Khái niệm

Kiểu dữ liệu liệt kê (enum) là một kiểu dữ liệu đặc biệt,

dùng để định nghĩa một quan hệ thứ tự cho một tập hợp

hữu hạn

 Cú pháp

13

Giới thiệu

enum <tên enum>

{

<giá trị 1> ,

<giá trị n>, };

<tên enum> <tên biến>;

14

 Ví dụ

Giới thiệu (tt)

enum Color

{

red , orange , yellow , green , cyan , blue , violet };

enum Color mycolor;

//hoac

Color mycolor;

Trang 8

Lưu ý

 Các giá trị trong enum có cùng kích thước với kiểu dữ

liệu int Mặc định, giá trị đầu tiên trong enum = 0, và

các giá trị sau tăng dần thêm 1

enum Color {

orange , //1 yellow , //2 green , //3 cyan , //4 blue , //5 violet //6 };

16

Lưu ý (tt)

 Tuy nhiên, các giá trị trong enum có thể được gán theo

yêu cầu, và có thể gán trùng nhau

enum Color {

green = 10, //10

violet = 10 //10 };

Trang 9

Lưu ý (tt)

 Vì các giá trị trong enum tương đương kiểu int, nên có

thể gán giá trị int = một giá trị trong enum

int mausac = green; // mausac = 10

 Nhưng không thể gán một giá trị trong enum = giá trị

int

mycolor = 5; //sai

18

Ví dụ

Ngày đăng: 11/05/2021, 03:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN