Microsoft PowerPoint - 02_Address_Book

Tài liệu tương tự
Chương trình dịch

Microsoft PowerPoint - 03_Robo_Kick

Bài 7. Con trỏ Mục tiêu: 1. Luyện tập sử dụng con trỏ và địa chỉ của các biến 2. Sử dụng con trỏ khi thao tác với mảng. Giới hạn: không dùng các thư v

Animation, Modules 6 - Hoạt hình, tách file

Lập trình và ngôn ngữ lập trình

Ví dụ về duyệt đồ thị ưu tiên chiều sâu DFS và ứng dụng Đồ thị ví dụ: Nguyễn Hữu Tuân vimaru.edu.vn Hình 1: Đồ thị vô hướng có 8 đỉnh Với đồ thị trên,

Trường ĐHBK Hà Nội Khoa Điện Bộ môn Điều khiển Tự động Tài liệu hướng dẫn thực hành: KĨ THUẬT LẬP TRÌNH C/C++ Bài 1: Lập trình cơ sở 1 Mục đích bài th

TRƯỜnG ĐẠI HỌC BÁCH KHOA HÀ nội VIỆn CÔnG nghệ THÔnG TIn VÀ TRUYỀn THÔnG TIN HỌC ĐẠI CƯƠNG Bài 10. Các cấu trúc lập trình trong C Nội dung 1. Cấu trúc

PowerPoint Presentation

Những cơ sở của ngôn ngữ C# Những cơ sở của ngôn ngữ C# Bởi: phamvanviet truonglapvy Trong chương này sẽ trình bày về hệ thống kiểu trong C#; phân biệ

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 5. Kiểu dữ liệu và biểu thức trong C Nội dung 1. Các ki

PowerPoint Presentation

NGÔN NGƯ LÂ P TRIǸH Biên tập bởi: nguyenvanlinh

Nhúng mã-cách khai báo biến Nhúng mã-cách khai báo biến Bởi: Khoa CNTT ĐHSP KT Hưng Yên Nhúng mã javascript trong trang HTML Bạn có thể nhúng JavaScri

Câu lệnh (statement) Câu lệnh (statement) Bởi: Khuyet Danh Trong C# một chỉ dẫn lập trình đầy đủ được gọi là câu lệnh. Chương trình bao gồm nhiều câu

Chương 1:

HỘI THI TIN HỌC TRẺ TỈNH AN GIANG ĐỀ CHÍNH THỨC ĐỀ THI LÝ THUYẾT BẢNG A - KHỐI TIỂU HỌC Khóa ngày: Thời gian : 20 phút (không kể thời gian

Lập trình cấu trúc trong Visual Basic Lập trình cấu trúc trong Visual Basic Bởi: Nguyễn Sơn Học xong chương này, sinh viên phải nắm bắt được các vấn đ

Tìm hiểu ngôn ngữ lập trình Visual Basic Tìm hiểu ngôn ngữ lập trình Visual Basic Bởi: Khuyet Danh Tìm hiểu ngôn ngữ lập trình Visual Basic Tổng quan

Microsoft Word - cau-truc-du-lieu-hang-doi.docx

Hàm và lớp template trong Lập trình hướng đối tượng Hàm và lớp template trong Lập trình hướng đối tượng Bởi: unknown Trong phần này, chúng ta tìm hiểu

Copyright vietjack.com Chuỗi (String) trong C# Trong C#, bạn có thể sử dụng các chuỗi (string) như là mảng các ký

BÀI TẬP THỰC HÀNH

Microsoft Word - jsp_syntax.docx

Kiểu dữ liệu văn bản Kiểu dữ liệu văn bản Bởi: PGS. TS. NGƯT Phạm Văn Huấn Ngoài những dữ liệu số như các số nguyên, số thực, máy tính còn có thể lưu

Template and Exception Template and Exception Bởi: Thanh Hiền Vũ TEMPLATE Trong phần này, chúng ta tìm hiểu về một trong các đặc tính còn lại của C++,

Lớp và đối tượng-các hàm và các lớp friend Lớp và đối tượng-các hàm và các lớp friend Bởi: Thanh Hiền Vũ CÁC HÀM VÀ CÁC LỚP friend Một hàm friend của

Copyright vietjack.com Nạp chồng toán tử trong C# Operator Overloading là Nạp chồng toán tử. Bạn có thể tái định

OpenStax-CNX module: m Giới thiệu về ngôn ngữ C và môi trường turbo C 3.0 ThS. Nguyễn Văn Linh This work is produced by OpenStax-CNX and licens

Kyõ Thuaät Truyeàn Soá Lieäu

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 11. Mảng và xâu kí tự Nội dung 1. Mảng 2. Xâu kí tự 2 1

Slide 1

THƯ VIỆN TRUNG TÂM ĐHQG-HCM PHÒNG PHỤC VỤ ĐỘC GIẢ * I. CỔNG TRA CỨU & TRUY CẬP TÀI LIỆU KHOA HỌC 3 I. MỤC LỤC TRỰC TUYẾN TVTT Tìm lướt:

Microsoft Word - danh-sach-lien-ket-doi-trong-c.docx

TÀI LIỆU PHỔ BIẾN TẠI PHÒNG THI

Lớp đối tượng String Lớp đối tượng String Bởi: Khuyet Danh Ngôn ngữ C# hỗ trợ khá đầy đủ các chức năng của kiểu chuỗi mà chúng ta có thể thấy được ở c

Microsoft Word - su_dung_sqlite_voi_php.docx

Tom tat luan van - Nhung cuoi.doc

WICELL User Guide Smart Cloud Wicell Controller Standard Version Manual version

Bài tập thực hành NNLT Visual Basic GV. Nguyễn Thị Hải Bình BÀI THỰC HÀNH ÔN TẬP 1. Sinh viên ĐỌC CẨN THẨN TẤT CẢ NỘI DUNG trong bài thực hành trước k

Slide 1

MÁY TOÀN ĐẠC ĐIỆN TỬ LEICA TCR1101

ĐỀ cương chương trình đẠi hỌc

Chương trình dịch

Chuyên đề

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

I. MSWLogo là gì. Giới thiệu. Là một ngôn ngữ lập trình được thiết kế và phát triển bởi Seymour Papert, Daniel Bobrow và Wallace Feurzeig. Trong chươn

Chương trình dịch

Làm quen với chương trình Microsoft Excel Làm quen với chương trình Microsoft Excel Bởi: unknown Làm quen với chương trình Những thao tác đầu tiên với

Các cấu trúc logic trong lập trình 1 Cấu trúc tuần tự (Sequence) 1.1 Những câu lệnh phải được sắp xếp theo thứ tự Một số hướng dẫn cho việc tổ chức câ

Phụ lục 2: HỒ SƠ NĂNG LỰC NĂM 2014

ĐỀ THI GIỮA KỲ MÔN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Đề số 1. Thời gian 120 phút (Sinh viên KHÔNG được sử dụng tài liệu hay máy tính ) Xây dựng lớp STRING và

Chuỗi Chuỗi Bởi: phamvanviet truonglapvy Chuỗi (string) trong C# là một kiểu dựng sẵn như các kiểu int, long, có đầy đủ tính chất mềm dẻo, mạnh mẽ và

Microsoft Word - co_ban_ve_jquery.docx

PowerPoint Template

Bài thực hành 6 trang 106 SGK Tin học 10

Stored Procedures Stored Procedures Bởi: Khoa CNTT ĐHSP KT Hưng Yên Trong những bài học trước đây khi dùng Query Analyzer chúng ta có thể đặt tên và s

Bài tập thực hành Chuyên đề 1 CNPM - Java Khoa CNTT- Trường ĐH Công nghệ TP.HCM Lab 01: LẬP TRÌNH JAVA CƠ BẢN VỚI NET BEANS A. MỤC TIÊU: Hướng dẫn tải

Xử lý ngoại lệ

Bài 1:

Kế thừa

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 9. Vào ra dữ liệu trong C Các lệnh vào ra dữ liệu C cun

PowerPoint Template

Microsoft Word - Chương trình ĂÀo tạo - Website

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc 1. Thông tin về giáo viên ĐỀ CƯƠNG CHI T

Array, Indexer và Collection Array, Indexer và Collection Bởi: phamvanviet truonglapvy Mảng (Array) Mảng là một tập hợp các phần tử có cùng kiểu, được

TRƯỜNG ĐẠI HỌC TÀI CHÍNH MARKETING KHOA DU LỊCH T CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc Tp. HCM, ngày 26 tháng 11 năm 2018 KẾ HOẠ

CÔNG TY TNHH TM LÔ HỘI CHƯƠNG TRÌNH ĐÀO TẠO CƠ BẢN

BỘ GIÁO DỤC VÀ ĐÀO TẠO Số: 155/QĐ-BGDĐT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc Hà Nội, ngày 10 tháng 01 năm 2013 QUYẾT ĐỊNH Ban hà

Chương trình dịch

HƯỚNG DẪN SỬ DỤNG ĐẦU GHI LILIN DVR 708/716/ Cấu tạo đầu ghi 1.1 Đầu ghi DVR 816 Mặt trước: Stt Tên Chức năng 1 Phím sang trái Di chuyển sang tr

Các biến và các kiểu dữ liệu trong JavaScript Các biến và các kiểu dữ liệu trong JavaScript Bởi: Hà Nội Aptech Các biến (Variables) Biến là một tham c

PX870/770_EN

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG TIN HỌC ĐẠI CƯƠNG Bài 13. Hàm Nội dung 1. Khái niệm hàm 2. Khai báo và sử dụn

Thực hành trên Rose Thực hành trên Rose Bởi: Đoàn Văn Ban Xây dựng biểu đồ thành phần + Tạo lập mới hoặc mở một biểu đồ thành phần đã được tạo lập trư

Chiến lược kiểm thử Chiến lược kiểm thử Bởi: Khoa CNTT ĐHSP KT Hưng Yên Các công đoạn kiểm thử Quá trình kiểm thử có thể chia làm các giai đoạn : Kiểm

Lớp đối tượng trong.net Framework Lớp đối tượng trong.net Framework Bởi: Khuyet Danh Trong chương này chúng ta sẽ tìm hiểu các lớp cơ sở mà.net cung c

Microsoft Word - Huong dan su dung Mailchimp.docx

Lý Thái Tổ Lý Thái Tổ Bởi: Wiki Pedia Lý Thái Tổ Tượng Lý Thái Tổ ở Hà Nội, Xuân Kỷ Sửu Lý Thái Tổ (tên húy là Lý Công Uẩn ; ) là vị Hoàng đế

Slide 1

BỘ VĂN HÓA, THỂ THAO VÀ DU LỊCH TRƯỜNG ĐẠI HỌC VĂN HÓA TP. HỒ CHÍ MINH & QUY CHẾ HỌC VỤ Tài liệu dành cho sinh viê

Các thanh công cụ Toolbar Các thanh công cụ Toolbar Bởi: Khoa CNTT ĐHSP KT Hưng Yên Origin cung cấp các nút thanh công cụ cho những lệnh menu thường x

Phân tích bài Tiếng nói của văn nghệ

Microsoft Word - bai2.doc

ப அற கண ப ற Prepare Q&A 1. எ தர ஈ அ ல தர ப சய ற? a. > b. << c. < d. >> 2. Star Office Calc இல கண ப வ ப க ப வ எ த ற ட த ட க வ? a. & b. = c. # d. $ 3. ப

(Microsoft Word - 4_Vuong NC-T\ doc)

Bài 4 Tựa bài

Java cơ bản

Chương II - KIẾN TRÚC HỆ ĐIỀU HÀNH

Hướng dẫn cụ thể từng bước để đăng ký sử dụng Đơn đăng ký không tín chỉ sau đó ghi danh vào các lớp không tín chỉ. 1 tháng Sáu, 2018 Các sinh viên dự

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM NGHỆ THUẬT TRUNG ƯƠNG NGUYỄN THỊ PHƯƠNG NHUNG DẠY HỌC MÔN TRANG TRÍ CHO NGÀNH CAO ĐẲNG SƯ PHẠM TIỂU HỌC

ESET Mobile Security

Trung Tâm Gia Sư Tài Năng Việt Đề Số 1 Câu 1: Sau khi thực hiện đoạn chương trình sau, giá trị của biến S bằng bao nhiêu: S

PowerPoint Presentation

HƯỚNG DẪN SỬ DỤNG CÁC SẢN PHẨM CỦA OFFICE 365 Hợp đồng số: 25/KTQD-FPT Cung cấp hệ thống Office trực tuyến và thư điện tử Trường Đại Học Kinh Tế Quốc

Microsoft Word - status_code_trong_servlet.docx

Chương trình dịch

UART0

Kiến trúc tập lệnh1

HỌC VIỆN KỸ THUẬT QUÂN SỰ KHOA CÔNG NGHỆ THÔNG TIN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập Tự do Hạnh phúc ĐỀ CƯƠNG CHI TIẾT HỌC PHẦN CÔNG NGHỆ CLI

Bản ghi:

Address Book TS. Lê Nguyên Khôi Trường Đại học Công nghệ, ĐHQGHN

Project 2 Address Book 1 Yêu cầu cơ bản Lưu (save) và xóa (remove) bản ghi (record) bao gồm tên (name) và số điện thoại (phone number). Hiển thị được danh sách của tất cả các bản ghi. Tìm kiếm theo tên hoặc số điện thoại. Yêu cầu nâng cao Lưu các bản ghi ra một file. Nhóm các bản ghi. Tìm kiếm với thông tin không đầy đủ. Bảo vệ dữ liệu bằng mật khẩu và mã hóa. Lưu được tên Tiếng Việt. v v

Address Book Nộp Chương Trình Thời gian: trước 12:00 thứ 2 ngày 25/03/2019 Cách thức: gửi email tới khoi.n.le@vnu.edu.vn và sonnn12@vnu.edu.vn Tiêu đề: [INT 2202 6] Address Book.cpp Nội dung: đính kèm file 18020000_addBook.cpp 18020000 là mã số sinh viên.cpp là file chương trình 2

Address Book Nộp Báo Cáo 3 Thời gian: trước 12:00 thứ 6 ngày 22/03/2019 Cách thức: gửi email tới khoi.n.le@vnu.edu.vn và sonnn12@vnu.edu.vn Tiêu đề: [INT 2202 6] Address Book.doc Nội dung: đính kèm file 18020000_addBook.doc 18020000 là mã số sinh viên.doc là file báo cáo Báo cáo bản cứng: tại buổi học lý thuyết Tuần 07 nhiều nhất 04 trang A4 in hai mặt, font chữ Arial, cỡ chữ 13, dãn dòng 1.25

Kiểu Dữ Liệu Trong C++ Số nguyên: int Số thực: double Logic: bool Ký tự: char Xâu ký tự: string (tải thư viện) Mảng: int vec[] = {0, 0, 1; char sp[] = "Thank you!"; double a[4][3]; int vec[3]; vec[0] = 0; vec[1] = 0; vec[2] = 1; 4

Kiểu Dữ Liệu Có Cấu Trúc Trong C++ 5 Kiểu Mảng: Tập hợp dữ liệu cùng kiểu Khai báo sau đó sử dụng như biến đơn lẻ Truyền cho hàm: truyền địa chỉ (tham chiếu) Kiểu cấu trúc struct: Tập hợp dữ liệu có thể khác kiểu Phải định nghĩa trước khi sử dụng Khai báo sau đó sử dụng như biến đơn lẻ Truyền cho hàm: giống biến đơn lẻ

Kiểu Dữ Liệu Cấu Trúc struct 6 Tập hợp dữ liệu, có thể khác kiểu Mỗi dữ liệu được lưu trong một biến Mỗi dữ liệu có kiểu dữ liệu cụ thể Hỗ trợ tổ chức dữ liệu phức tạp vào cùng một đối tượng Hỗ trợ làm việc giữa các dữ liệu trên cùng một đối tượng

Bài Toán Điểm Tọa Độ Point 7 Điểm trong hệ tọa độ không gian 2 chiều Cặp tọa độ x- và y- Nhập và in tọa độ của một điểm Kiểm tra 2 điểm trùng nhau Tính trung điểm của 2 điểm

Quản Lý Point Sử Dụng Biến Đơn 8 bool isequal(double _1X, double _1Y, double _2X, double _2Y) { return (_1X == _2X && _1Y == _2Y); int main() { double ax = 1.2, ay = 0.4; double bx = 2.0, by = 1.6; if (isequal(ax, ay, bx, by)) cout << "trung nhau"; else cout << "khong trung nhau"; return 0;

Quản Lý Point Sử Dụng struct 9 struct Point { double X, Y; ; bool isequal(point p1, Point p2) { return (p1.x == p2.x && p1.y == p2.y); int main() { Point p1, p2; p1.x = 1.2; p2.y = 0.4; p2.x = 2.0; p2.y = 1.6; if (isequal(p1, p2)) cout << "trung nhau"; else cout << "khong trung nhau"; return 0;

Kiểu Dữ Liệu Cấu Trúc struct 10 Định nghĩa bởi từ khóa struct Định nghĩa toàn cục Ngoài và trước int main() Tất cả các hàm đều hiểu Miêu tả: Các thành phần (trường) và kiểu của chúng Không được cấp phát bộ nhớ Chỉ có mục đích miêu tả cấu trúc Chỉ cấp phát bộ nhớ Khi khai báo biến kiểu cấu trúc

Cấu Trúc struct Point 11 Định nghĩa bởi từ khóa struct struct Point { double X; double Y; ; // định nghĩa kiểu Point bao gồm // trường dữ liệu X // trường dữ liệu Y Ý nghĩa: Point p1, p2; Mỗi biến p1, p2 thuộc kiểu Point có hai thành viên dữ liệu là X kiểu double và Y kiểu double X p1 Y X p2 Y

Cấu Trúc struct Point 12 Định nghĩa bởi từ khóa struct struct Point { double X; double Y; ; Sử dụng: Point p; p.x = 1.0; p.y = 2.1; cout << p.x; // định nghĩa kiểu Point bao gồm // trường dữ liệu X // trường dữ liệu Y p X Y // khai báo biến p kiểu Point // gán giá trị cho trường X của p // gán giá trị cho trường Y của p // lấy giá trị trường X của p

Truy Cập Thành Phần struct 13 Sử dụng toán tử chấm (.) p. X p. Y Tên gọi: biến thành phần Các thành phần của biến kiểu cấu trúc Kiểu cấu trúc struct khác nhau có thể có cùng tên biến thành phần Biến thành phần là biến cục bộ

Cấu Trúc struct Phép Gán 14 Với cấu trúc struct Point Khai báo 2 biến cấu trúc Point p1, p2; Cả 2 biến đều kiểu Point Thực hiện phép gán đơn giản hợp lệ p1 = p2; Sao chép giá trị các biến thành phần của điểm p1 cho các biến thành phần của điểm p2 p1.x = p2.x; p1 p2 p1.y = p2.y; X Y X Y

Cấu Trúc struct Phép Toán Khác 15 Các phép toán khác không được định nghĩa cho kiểu cấu trúc struct So sánh bằng/khác (==,!=) p1 == p2 biểu thức không hợp lệ So sánh thứ tự (<, >,...) p1 < p2 biểu thức không hợp lệ Các phép toán p1 + p2 biểu thức không hợp lệ Nhập & in cin >> p1 & cout << p1 không hợp lệ

Truyền Biến Cấu Trúc struct Cho Hàm Truyền tham số void in(point p) { cout << p.x; cout << p.y; 16 Truyền tham chiếu: void nhap(point& p) { cin >> p.x; cin >> p.y;

struct Point Khai Báo/Khởi Tạo 17 struct Point { double X, Y; ; void nhap(point& p); void in(point p); bool isequal(point p1, Point p2); void calmidpoint(point p1, Point p2, Point& mpoint); int main() { Point p1 = { 1.0, 2.1 ; Point p2, midpoint; nhap(p2); calmidpoint(p1, p2, midpoint); in(midpoint); return 0;

Cấu Trúc struct & Con Trỏ 18 Giống các kiểu dữ liệu khác: Point * là kiểu con trỏ tới Point Toán tử & trả về địa chỉ của biến cấu trúc Theo thứ tự ưu tiên:. được ưu tiên trước * Nếu p là con trỏ tới cấu trúc Point: *p.x tương đương *(p.x) không hợp lệ Phải sử dụng (*p).x Để thuận tiện, có thể dùng toán tử ->: kết hợp con trỏ (*) với truy cập trường (.) p->x tương đương (*p).x

struct Point Con Trỏ 19 struct Point { double X, Y; ; void nhap(point& p); int main() { Point p1, p2; nhap(p1); nhap(p2); Point *pp1 = &p1; Point *pp2 = &p2; Point *pmidpoint = new Point; pmidpoint->x = (pp1->x + pp2->x)/2; (*pmidpoint).y = ((*pp1).y + (*pp2).y)/2; return 0;

struct Point Mảng 20 struct Point { double X, Y; ; void nhap(point& p); int main() { Point mangp1[10]; Point *mangp2 = new Point[10]; for (int i = 0; i < 10; i++) { nhap(mangp1[i]); nhap(mangp2[i]); return 0;

struct TamGiac Building Block 21 struct TamGiac { Point dinha, dinhb, dinhc; ; bool istamgiac(const TamGiac& tg); bool istamgiacdeu(const TamGiac& tg); bool istamgiaccan(const TamGiac& tg); bool istamgiacvuong(const TamGiac& tg); bool istamgiacvuongcan(const TamGiac& tg); double tinhchuvi(const TamGiac& tg); int main() { TamGiac tg; if (istamgiac(tg)) return 0;

struct TamGiac Building Block 22 struct TamGiac { Point dinha, dinhb, dinhc; int type; bool istamgiac(); bool istamgiacdeu(); bool istamgiaccan(); bool istamgiacvuong(); bool istamgiacvuongcan(); double tinhchuvi(); ; int main() { TamGiac tg; if (tg.istamgiac()) return 0;

Sub Project 1 23 Cài đặt kiểu dữ liệu mới Point và TamGiac Cài đặt các hàm cần thiết cho 2 kiểu này Viết chương trình xử lý dữ liệu cho 10 tam giác kiểu TamGiac. Đếm số lượng mỗi loại tam giác In ra các cặp tam giác đồng dạng

Building Block struct RigidBody { double x, y, theta; double dx, dy, dtheta; double ddx, ddy, ddtheta; ; int main() { RigidBody foot; z 24 foot.x = 1.0; foot.y = 0.0; foot.theta = 90.0; foot.x = 0.5; foot.y = 1.0; foot.theta = -5.0; x O y

Building Block struct RigidBody { double x, y, theta; double dx, dy, dtheta; double ddx, ddy, ddtheta; ; z struct Robot { int id; RigidBody head, body; RigidBody arml, armr; RigidBody legl, legr; ; int main() { Robot rbt1; rbt1.id = 1; x O rbt1.legl.x = 1.0; rbt1.armr.y = 3.0; 25 y

struct Person 26 struct Person { int id; string name; long phone_number; ; void print() { void scan(person& student) { int main() { Person student; scan(student); student.print(); return 0;

Sub Project 2 27 In ra tất cả thông tin của 5 sinh viên Bổ sung các thông tin cần thiết của sinh viên

#include <fstream> 28 #include <fstream> using namespace std; int main { ifstream in_stream; ofstream out_stream; in_stream.open("infile.txt"); out_stream.open("outfile.txt"); int so1, so2, so3; in_stream >> so1 >> so2 >> so3; out_stream << "Tong 3 so dau la " << (so1 + so2 + so3) << endl; in_stream.close(); out_stream.close(); return 0;

Sub Project 3 29 Viết chương trình đọc dữ liệu của 5 sinh viên từ file vào chương trình. Sau đó in ra thông tin của 5 sinh viên này.

Simple Calculator Nhận Xét while (notquit) { flag = op; switch (flag) { case A_MODE: case F_MODE: if (flag == A_MODE) { switch (op) { else if (flag == F_MODE) { switch (f_name) { case SINE: sin(no * PI / 180); case COSINE: cos(no * PI / 180); Set Mode?A_MODE?F_MODE?M_MODE A Mode F Mode M Mode 30

Project 2 Address Book 31 Yêu cầu cơ bản Lưu (save) và xóa (remove) bản ghi (record) bao gồm tên (name) và số điện thoại (phone number). Hiển thị được danh sách của tất cả các bản ghi. Tìm kiếm theo tên hoặc số điện thoại. Yêu cầu nâng cao Lưu các bản ghi ra một file. Nhóm các bản ghi. Tìm kiếm với thông tin không đầy đủ. Bảo vệ dữ liệu bằng mật khẩu và mã hóa. Lưu được tên Tiếng Việt. v v

#include <string> 32 std::string là mảng ký tự: Nhiều hàm tiện ích xử lý ký tự và xâu Tìm kiếm, thay thế Viết mã nguồn ngắn, ít lỗi Sử dụng thư viện Tập trung xây dựng chương trình Viết mã nguồn dễ đọc, dễ hiểu, dễ gỡ lỗi

#include <string> Bằng Nhau 33 string str1 = "0123456789abcdefghij"; string str2 = "0123456789abcdefghij"; bool isequal = true; for (int i=0; i<20; i++;) { if ( str1[i]!= str2[i] ) { isequal = false; break; if (isequal) cout << "EQUAL" << endl; else cout << "NOT EQUAL" << endl;

#include <string> Cơ Bản 34 str1 = str2 gán giá trị xâu s.at(i) và s2[i] truy cập ký tự s.front() truy cập đầu s.back() truy cập cuối s.empty() kiểm tra xâu rỗng s.size() độ dài xâu std::string::npos = -1

#include <string> substr string a = "0123456789abcdefghij"; 35 std::string sub1 = a.substr(10); std::cout << sub1 << '\n'; // abcdefghij std::string sub2 = a.substr(5, 3); // 567 std::cout << sub2 << '\n'; try { // pos is out of bounds, throws std::string sub3 = a.substr(a.size()+3, 50); std::cout << sub3 << '\n'; catch(const std::out_of_range& e) { std::cout << "pos exceeds string size\n";

#include <string> find 36 int main() { std::string::size_type n; std::string const s = "This is a string"; n = s.find("is"); print(n, s); n = s.find("is", 5); print(n, s); n = s.find('a'); print(n, s); n = s.find('q'); print(n, s); // is is a string // is a string // a string // not found

#include <vector> 37 std::vector là mảng: Không quan tâm đến độ dài của mảng Nhiều hàm tiện ích xử lý phần tử mảng Viết mã nguồn ngắn, ít lỗi Sử dụng thư viện Tập trung xây dựng chương trình Viết mã nguồn dễ đọc, dễ hiểu, dễ gỡ lỗi

#include <vector> Sử Dụng 38 // Khởi tạo vector chứa số nguyên std::vector<int> vec_i = {7, 5, 16, 8; // Khởi tạo vector chứa ký tự std::vector<char> vec_c = {'a', 'b', 'c', 'd',; // Khai báo vector chứa xâu std::vector<char> vec_c = {'a', 'b', 'c', 'd',; // Khai báo vector chứa Person std::vector<person> vec_p (10); for (auto i : vec_p) std::cout << i; // cài đặt operator<< cho kiểu Person // hoặc gọi hàm print(person)

#include <algorithm> 39 std::sort sắp xếp std::binary_search tìm kiếm trên mảng đã sắp xếp

#include <algorithm> sort 40 std::vector<int> s = {5, 7, 4, 2, 8, 6, 1, 9, 0, 3; std::sort(s.begin(), s.end()); for (auto a : s) std::cout << a << " "; std::sort(s.begin(), s.end(), std::greater<int>()); for (auto a : s) std::cout << a << " "; struct { bool operator()(int a, int b) const { return a < b; customless; std::sort(s.begin(), s.end(), customless); for (auto a : s) std::cout << a << " ";

#include <algorithm> sort 41 vector<int> v1 {1, 3, 4, 5, 9; vector<int> v2 {1, 2, 3; for (auto v : v2) { std::cout << "Searching for " << v << '\n'; if (binary_search(v1.begin(), v1.end(), v)) { std::cout << "Found " << v << '\n'; else { std::cout << "no dice!\n";

struct PS 42 struct PS { int ts; int ms; bool operator< (const PS& ps1, const PS& ps2) { return ( ps1.ts * ps2.ms < ps2.ts * ps1.ms ); bool operator< (const PS& ps1, const PS& ps2) { return ( (double)ps1.ts / ps1.ms < (double)ps2.ts / ps2.ms ); ostream& operator<< (ostream& outstream, const PS& ps) { int main() { vector<ps> vec_ps (10); std::sort(vec_.begin(), vec_.end()); for (auto ps : vec_ps) std::cout << ps << " ";

<boost/algorithm/string.hpp> 43 int main() { string input("geeks\tfor\tgeeks"); vector<string> result; boost::split(result, input, boost::is_any_of("\t")); for (int i = 0; i < result.size(); i++) cout << result[i] << endl; return 0; Output: geeks for geeks

Address Book Nộp Bài 44 Báo cáo bản cứng: tại buổi học lý thuyết Tuần 07 nhiều nhất 04 trang A4 in hai mặt, font chữ Arial, cỡ chữ 13, dãn dòng 1.25 Thời gian: trước 12:00 thứ 6 ngày 22/03/2019 Nội dung: đính kèm file 18020000_addBook.doc Thời gian: trước 12:00 thứ 2 ngày 25/03/2019 Nội dung: đính kèm file 18020000_addBook.cpp

Address Book Main Loop 45 initaddressbook(); while (notquit) { switch (mode) { default: case EDIT case FIND: case REMOVE: case SAVE: init?edit?find?remove edit find remove

Sơ Đồ Khối Luồng Điều Khiển Chính 46 Set Mode?A_MODE else else else?f_mode?m_mode if if if A Mode F Mode M Mode

Sơ Đồ Khối Luồng A Mode 47 A Mode res num? + else else else?? * if res += num if res = num if res *= num

Sơ Đồ Khối Thành Phần 48 Luồng điều khiển Luồng rẽ nhánh? else if Khối mệnh lệnh

Project 2 Address Book 49 Yêu cầu: SAVE: lưu bản ghi mới REMOVE: xóa bản ghi cũ DISPLAY: hiển thị bản ghi SEARCH: tìm bản ghi LOAD: tải danh sách bản ghi từ file STORE: lưu danh sách bản ghi ra file GROUP: nhóm bản ghi

Project 2 Address Book 50 Thông tin bản ghi: ID: kiểu Tên: kiểu Số điện thoại: kiểu Danh bạ: Tập các bản ghi Kiểu: mảng, vector,?

Project 2 Address Book 51