Cq nmlt hdth tuan08

20 2 0
Cq nmlt hdth tuan08

Đ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

Microsoft Word CQ NMLT HDTH Tuan08 docx TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỆCHÍNH QUI MÔN NHẬP MÔN LẬP TRÌNH GVLT ThS PHẠM MINH TUẤN HDTH TUẦN[.]

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THƠNG TIN BỘ MƠN CƠNG NGHỆ PHẦN MỀM HỆCHÍNH QUI MƠN: NHẬP MƠN LẬP TRÌNH GVLT: ThS PHẠM MINH TUẤN HDTH TUẦN 08 PHẠM TÚ SAN TRẦN NGỌC HIỆU TP.HCM, tháng 12 năm 2012 ptsan/tnhieu@fit.hcmus.edu.vn Mục tiêu - Làm quen với kiểu liệu chuỗi C/C++ Làm quen với struct C/C++ Nội dung (tham khảo tài liệu HDTH thầy Hồ Tuấn Thanh) 2.1 Chuỗi - Chuỗi C/C++ mảng chiều ký tự (character), có ký tự kết thúc chuỗi (ký tự cuối chuỗi ‘\0’) 2.1.1Vấn đề nhập xuất - Đoạn code sau minh họa việc nhập xuất chuỗi: - Chạy thử: Trang ptsan/tnhieu@fit.hcmus.edu.vn - Cách nhập chuỗi có nhược điểm: o Bị lỗi nhập số ký tự khai báo: o Không nhập chuỗi có khoảng trắng: Trang ptsan/tnhieu@fit.hcmus.edu.vn - Nếu sử dụng gets: - Nhập chuỗi có khoảng trắng: Trang ptsan/tnhieu@fit.hcmus.edu.vn - Nhưng bị lỗi không kiểm soát số lượng ký tự: - Chuyển sang xài hàm fgets: - Giải lỗi Trang ptsan/tnhieu@fit.hcmus.edu.vn - Lưu ý: - Sửa lại: Trang ptsan/tnhieu@fit.hcmus.edu.vn - Vấn đề tràn đệm Giả sử có đoạn code sau: - Chạy thử  ko nhập chuỗi, “bị trôi qua” Trang ptsan/tnhieu@fit.hcmus.edu.vn - Chỉnh lại: Đặt lệnh fflush(stdin) trước dòng đọc chuỗi - Kết quả: Trang ptsan/tnhieu@fit.hcmus.edu.vn - Vấn đề: o Chuỗi str1 chứa ln kí tự ‘\n’ - Giải quyết: viết hàm fget riêng: - Kết quả: - Đoạn code hàm fgets: Trang ptsan/tnhieu@fit.hcmus.edu.vn 2.1.2Các hàm thao tác chuỗi - Giả sử có đoạn code sau: - Kết quả: Trang 10 ptsan/tnhieu@fit.hcmus.edu.vn - - Lưu ý: o strlen: lấy chiều dài chuỗi o strcat: nối chuỗi vào sau chuỗi  giá trị ban đầu chuỗi giữ o strcpy: copy chuỗi vào chuỗi  giá trị ban đầu chuỗi bị So sánh chuỗi  sử dụng hàm strcmp - Kết quả: Trang 11 ptsan/tnhieu@fit.hcmus.edu.vn - Tuy nhiên: o Phân biệt chữ hoa chữ thường - Giải pháp: sử dụng hàm stricmp Trang 12 ptsan/tnhieu@fit.hcmus.edu.vn - Biến đổi chuỗi: - Đoạn code: Trang 13 ptsan/tnhieu@fit.hcmus.edu.vn - Do hàm toupper có sẵn biến đổi char lần  tự viết hàm toupper 2.2 Struct - Phân số  có thành phần tử số mẫu số  muốn lưu thành biến  định nghĩa kiểu liệu  dùng cú pháp struct Khai báo struct hàm file h Ví dụ: struct PhanSo  file PhanSo.h Trang 14 ptsan/tnhieu@fit.hcmus.edu.vn - File PhanSo.cpp  viết code định nghĩa hàm xử lý: Trang 15 ptsan/tnhieu@fit.hcmus.edu.vn - File main.cpp  sử dụng hàm struct Lưu ý: o Dùng scanf để nhập struct sai Trang 16 ptsan/tnhieu@fit.hcmus.edu.vn o Dùng printf để xuất struct sai - Sử dụng đúng: Trang 17 ptsan/tnhieu@fit.hcmus.edu.vn - Kết quả: - So sánh hai phân số: - Kết quả: Bài tập 3.1 Bài 01 - Khai báo struct PhanSo với thành phần tử số mẫu số hàm xử lý: Nhập phân số Trang 18 ptsan/tnhieu@fit.hcmus.edu.vn Xuất phân số Rút gọn Cộng hai phân số Trừ hai phân số Nhân hai phân số Chia hai phân số So sánh hai phân số Kiểm tra phân số có tối giản hay không? 10 Xét dấu phân số (âm, 0, dương) 3.2 Bài 02 - Khai báo struct Diem với thành phần x, y hàm xử lý: Nhập điểm Xuất điểm Tính khoảng cách điểm Tìm điểm đối xứng với điểm cho qua trục Ox, Oy, gốc tọa độ 3.3 Bài 03 - Khai báo struct TamGiac với thành phần điểm A, B, C hàm xử lý: Nhập tam giác Xuất tam giác Tìm chu vi tam giác Tính diện tích tam giác Tìm trọng tâm tam giác Xét loại tam giác Tính tổng khoảng cách từ điểm P đến đỉnh tam giác 3.4 Bài 04 - Khai báo struct Ngay với thành phần ngày, tháng, năm hàm xử lý: Nhập ngày Xuất ngày theo định dạng ngày/tháng.năm Kiểm tra năm nhuận Tính số ngày tháng Tìm ngày Tìm ngày trước So sánh ngày Tính số thứ tự ngày năm Trang 19 ptsan/tnhieu@fit.hcmus.edu.vn 3.5 Bài 05 - Khai báo struct SinhVien với thành phần MSSV (chuỗi), họ tên, ngày sinh (Ngay),số CMND, địa chỉ, điểm thực hành, điểm lý thuyết hàm xử lý: Nhập thông tin sinh viên Xuất thông tin sinh viên Tính điểm trung bình Xếp loại sinh viên (Xuất sắc, giỏi, khá, trung bình, yếu, kém) Tính tuổi sinh viên Qui định Các tập làm chung solution Tên solution MSSV bạn Mỗi project Tên project Bai01, Bai02, … Nộp bài: Xóa thư mục Debug, Release, file *.sdf (nếu có), nén thư mục chứa solution thành file có tên dạng .rar .zip Trang 20

Ngày đăng: 11/04/2023, 18:52

Tài liệu cùng người dùng

Tài liệu liên quan