1. Trang chủ
  2. » Giáo án - Bài giảng

lập trình hướng đối tượng

231 6 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 231
Dung lượng 4,89 MB

Nội dung

Đ NG NG C (OÀNG T(ÀN( C++ L P TRÌN( ( NG Đ )T NG Tài li u h c t p Trang | PH L C GI I THI U MÔ) TR .7 NG PHÁT TRI N TÍCH H P IDE 10 C( NG C B N V C++ 23 CH NG BI N VÀ CÁC KI U D LI U 26 T khóa 26 Ki u d li u nguyên th y 27 Khai báo bi n 28 Ph m vi tác d ng c a bi n 29 Kh i t o giá tr cho bi n 30 Kh i t o giá tr cho bi n tĩnh static 31 Gi i thi u v xâu kí t 32 C( NG H NG 34 H ng s nguyên 34 H ng s th c có d u ch m đ ng 34 H ng kí t h ng xâu kí t 35 H ng logic 36 Đ nh nghĩa m t h ng #define 36 Khai báo h ng const 37 C( NG TOÁN T 38 Toán t gán 38 Toán t th c hi n phép toán s h c 39 Toán t gán h p nh t 40 Toán t tăng v{ gi m 40 Toán t logic 42 Toán t u ki n 43 Toán t phân tách 45 Trang |2 C++ Toán t so sánh 41 Toán t d ch bit 45 Toán t chuy n đ i ki u d li u 48 Các toán t khác 49 Th t C( NG u tiên c a toán t 49 XU T NH P C B N 52 Xu t d li u chu n cout 52 Nh p d li u chu n cin 53 Nh p d li u nh l p stringstream 55 C( NG CÁC C U TRÚC L N( Đ) U KHI N 58 C u trúc l nh có u ki n: if else 58 C u trúc l p 60 C u trúc l a ch n: switch 67 C( NG HÀM 72 Khai báo s d ng hàm 73 Ph m vi tác d ng c a bi n 77 Hàm không tr v giá tr - Hàm void 78 Tham bi n tham tr 79 Giá tr m c đ nh c a tham s hình th c 82 Ch ng ch t hàm 83 Hàm n i n 84 ({m đ quy 85 C( NG CÁC K) U D LI U CÓ C U TRÚC 88 M ng 88 Xâu kí t 91 C( NG CON TR 93 Toán t tham chi u & 93 c * 94 Khai báo bi n tr 96 Con tr , m ng xâu kí t 98 Trang |3 C++ Toán t tham chi u ng Các phép toán s h c tr 100 Con tr tr vào tr 102 Con tr void 104 Con tr null 105 Con tr hàm 105 C( NG B NH Đ NG 107 Toán t new new[] 107 Toán t delete delete[] 109 C( NG K) U D LI U STRUCT VÀ CON TR STRUCT 110 Struct 110 Con tr struct 114 Struct l ng 115 Kích th C( c b nh c a struct 115 NG CÁC KI U D LI U KHÁC 117 Ki u d li u t đ nh nghĩa 117 Ki u d li u union th ng 117 Ki u d li u union n danh 118 Ki u d li u enum 118 C( NG L P TRÌN( ( NG Đ ) T NG 120 L ch s hình thành 120 L p v{ đ i t ng 126 Hàm t o hàm h y 130 Ch ng ch t hàm t o 132 Sao chép hàm t o 133 Tính đóng gói Encapsulation 139 Con tr đ i t c khai báo nh t khóa struct union 141 Con tr this 141 Th{nh viên tĩnh T khóa static 143 Trang |4 C++ L pđ ng 140 Hàm b n l p b n 144 Ch ng ch t toán t 147 Tính k th a - Inheritance 153 Các m c truy c p 156 Tính đa k th a Multiple Inheritance 159 Tính đa hình Polymorphism 160 Tính tr u t ng hóa - Abstraction 172 Hàm m u Template Function 173 L p m u Template class 173 C( NG NAMESPACE 178 T khóa namespace 178 T khóa using 179 Ph m vi c a namespace 180 T|i đ nh danh cho namespace 181 Namespace std 181 C( NG NGO I L 182 M nh đ try catch 182 M nh đ throw 182 Th vi n chu n exception 183 C( NG LÀM V) C V I FILE 186 M file 186 Đóng file 188 File văn b n 188 Ki m tra tr ng thái c a c hi u 189 Con tr get put 190 B đ m v{ Đ ng b hóa 193 C( NG CÁC L P T( V) N 194 L p s ph c complex 194 Trang |5 C++ File nh phân 192 L p ngăn x p stack 196 L p h{ng đ i queue 197 L p vector 198 L p string 200 L p list 203 L p map 203 L p set 204 ( Các l p th vi n nh p xu t 204 NG D N TH C HÀNH 212 BÀI TH C HÀNH S 212 BÀI TH C HÀNH S 213 BÀI TH C HÀNH S 214 BÀI TH C HÀNH S 215 BÀI TH C HÀNH S 215 BÀI TH C HÀNH S 216 BÀI T P NÂNG CAO 218 BÀI T P L N 225 DANH SÁCH HÌNH 228 TRA C U T KHÓA 229 C++ TÀI LI U THAM KH O 230 Trang |6 GI I THI U C u trúc c a giáo trình Gi|o trình đ c chia làm 17 ch ng m i ch ng đ c chia làm m c khác C|c ch ng đ c s p x p theo trình t t l p trình h ng th t c C đ n l p trình h ng đ i t ng l p th vi n c b n Đ c gi có th truy c p vào m c b t kì t ph n ph l c n m đ u sách Nhi u m c bao g m ví d đ mơ t cách s d ng Tôi khuyên b n nên đ c ví d có th hi u m i đo n mã ch ng trình tr c đ c ch ng ti p theo M t cách th c t t đ tăng l ng ki n th c nh n đ c l{ h~y ch nh s a, b sung mã l nh m i d a ví d m u theo h ng t c a c a b n thân đ t có th hi u m t c|ch đ y đ v n i dung mà ta ti p thu đ c Sau đ c xong giáo trình, tơi cung c p m t s t p th c hành đ ngh đ đ c gi nên th nghi m Hãy gi i nh ng t p này, chúng s r t h u ích giúp b n c l i ki n th c môn h c nh hi u sâu s c h n ph n lý thuy t Khi vi t giáo trình này, tơi khơng th tránh kh i sai sót R t mong s đóng góp ý ki n quý báu c a b n đ c gi nh c|c b n đ ng nghi p M i s đóng góp xin liên h theo đ a ch email: dnhthanh@hueic.edu.vn Hi v ng v i ý ki n đóng góp c a b n, giáo trình s ngày hồn thi n h n M t vài ý v s t ng thích c a C C++ Chu n ANSI-C đ c m t t ch c tiêu chu n qu c t th ng nh t đ a Nó đ c th c m t v{o th|ng năm v{ t l i vào Trang |7 C++ M t u n a mà đ c gi c n l u ý h~y đ c trang cu i c a cu n s|ch đ n m đ c m t s thu t ng anh-vi t t ng ng đ c s d ng giáo trình Tơi có g ng s d ng tên g i phù h p nh t v i đ i đa s giáo trình hi n hành Tuy nhiên, đ c gi nên n m thu t ng ti ng anh t ng ng đ có th tham kh o thêm tài li u chuyên môn ti ng anh năm Tuy nhiên ngôn ng C đ~ t n t i tr c m t th i gian kh| d{i v{o năm Tr c có r t nhi u trình d ch khơng h tr c|c tính m i bao g m c chu n ANSI-C++ Giáo trình đ c xây d ng c|c ch ng trình d ch hi n đ i h tr đ y đ chu n ANSI-C++ Tôi đ m b o r ng ví d s ho t đ ng t t n u đ c gi s d ng m t trình d ch h tr ANSI-C++ Có nhi u s ch n l a, có th mi n phí ho c ph n m m th ng m i Trong giáo trình này, tơi gi i thi u đ n các b n hai công c biên d ch C++ GCC MinGW mi n phí Visual C++ - th ng m i Các ví d cu n gi|o trình n{y đ c xây d ng ch y u ch đ console m{n hình DOS Đi u có nghĩa l{ s d ng ch đ văn b n đ hi n th k t qu M i trình d ch C đ u h tr ch đ d ch console V i m t môi tr ng phát tri n tích h p IDE cho C++ mi n phí, có th s d ng ch ng trình Codeblocks ho c Eclipse Chúng mơi tr ng phát tri n tích h p h tr so n th o biên d ch C++ Chúng h tr môi tr ng GCC đ biên d ch c C C++ V i CodeBlocks, có th t i ph n m m t i đa ch http://www.codeblocks.org/downloads Đ i v i Eclipse, m t trình so n th o biên d ch ngơn ng l p trình chun nghi p nh ng ho{n tồn mi n phí (vì ta có th c u hình k t h p v i cơng c biên d ch kh|c đ t o mơi tr ng phát tri n tích h p cho ngơn ng l p trình khác nhau) Chúng ta có th d‘ng đ so n th o biên d ch Java, PHP, JSP Python v{ hi n nhiên c C/C++ Đ}y l{ m t d án mã ngu n m , tiêu t n hàng tri u đôla c a IBM Đ t i v b n m i nh t cho đ n th i m n{y năm l{ Eclipse Helios, ta có th truy c p đ n đ a ch bên d i1 Đ i v i Eclipse, nên s d ng k t h p v i trình biên d ch C++ MinGW, l{ m t d án m Chúng ta có th t i v t i đ a ch bên d i2 V i Eclipse, cơng vi c c u hình ban đ u t ng đ i ph c t p Nh ng l{ m t trình so n th o t v i Ta có th s d ng đ so n th o nhi u ngơn ng l p trình b ng c|ch c{i đ t thêm plugin h tr Nhi u nhà phát tri n đ~ s d ng Eclipse làm n n t i http://ftp.jaist.ac.jp/pub/eclipse/technology/epp/downloads/release/helios/R/eclipse-cpp-helioswin32.zip http://nchc.dl.sourceforge.net/project/mingw/Automated%20MinGW%20Installer/mingw-getinst/mingw-get-inst-20100831/mingw-get-inst-20100831.exe Trang |8 C++ Trình biên d ch cho vi c phát tri n ng d ng c a mình: Embarcadero s d ng đ phát tri n JBuider, Adobe s d ng đ phát tri n Flash Buider r t nhi u hãng ph n m m n i ti ng khác N u m t l p trình viên Java, Eclipse m t s l a ch n không th b qua N u phát tri n Flash theo d án mã ngu n m t Adobe, Eclipse l{ s l a ch n hoàn h o N u phát tri n C/C++, v i trình so n th o Eclipse l{ s l a ch n không t i Vi c s d ng thành th o Eclipse s m t l i th cho ti n hành nghiên c u Java, l p trình Web Flex Python sau C++ Bên c nh ch’ng tơi gi i thi u môi tr ng phát tri n tích h p )DE Microsoft Visual Studio Đ}y l{ trình biên d ch th ng m i trình biên d ch chuyên nghi p n i ti ng nh t h u hành Windows Ta có th s d ng đ phát tri n ng d ng n n NET ho c ng d ng Win32 N u mu n phát tri n ng d ng theo h ng c a Microsoft, ta nên s d ng Visual Studio Phiên b n m i nh t đ n th i m VS 2010 Nh ng c n l u ý r ng, nghiên c u Visual C++, ch n l a phiên b n dành cho Win32 mà không ph i ng d ng CLI (common language infrastructure) b i đ c phát tri n n n NET Và Visual C++ for NET có m t s khác bi t so v i Visual C++ for Win32 Trang |9 Ph n Th c hành BÀI TH C HÀNH S L p c s tr u t ng C++ Xây d ng m t l p c s tr u t ng Vector ch a ba ph ng th c o thu n túy TinhDoDai tính đ dài), SinGoc (tính sin c a góc gi a hai Vector), TrucGiao (tìm vector tr c giao t c vector vng góc v i vector trên), hai thu c tính thành viên t a đ x v{ y hai ph ng th c setter (không s d ng hàm t o tr ng h p này, l p tr u t ng khơng có kh t o m t s th hi n, hàm t o không đ c th a k ); ho c s d ng ph ng th c tham chi u getter Xây d ng l p Vector2D th a k t l p c s tr u t c|c ph ng th c o thu n túy nêu ng Vector đ th c thi Xây d ng l p Vector3D th a k t l p c s tr u t ng Vector (b sung thêm t a đ z v{ c|c ph ng th c getter, setter t ng ng) đ th c thi ph ng th c o thu n túy nêu Trong Vector D l{ vector chi u (ch có hai t a đ x y); Vector3D vector chi u (có ba t a đ x, y z) T(ANG Đ) M ĐÁN( G)Á KĨ NĂNG Bài th c hành s Đi m 20 15 20 15 Ng ng đ t 60-70 C ng m 70-80 80-90 Quy đ i +1 +1.5 10 90-100 +2 nhà ho c l p nh ng ph i n p - H n n p m i th c h{nh t ng ng v i bu i th c hành Ví d : Bài th c hành s ph i n p đ’ng h n vào bu i th nh t (m i đ t m t i đa N u mu n m t bu i, tr đi m N u n p t t c vào bu i cu i cùng, t i đa ch đ t Ng ng Đ t T r a n g | 216 C++ - M i th c hành có th th c hi n b{i đ’ng th i h n 20 Ph n Th c hành C++ - Đi m t ng k t mơn h c g m có c t m qu| trình v{ m thi Đi m Quá trình Đi m chuyên c n; Đi m Quá trình 2, Đi m Quá trình s t ng ng v i tr c nghi m; Đi m Quá trình Đi m Th c hành/10 Đi m thi cu i s b ng k t qu thi đ t đ c c ng thêm m Quy đ i Đi m t ng k t s đ c tính theo cơng th c: T r a n g | 217 Ph n Bài t p BÀI T P NÂNG CAO Bài t p Xây d ng c|c h{m đ tính t ng sau đ}y Trong n , x k tham s nh p vào t bàn phím Bài t p Khai báo chu i kí t b ng cách s d ng tr Sau x}y d ng c|c h{m đ th c hi n câu sau: - Đ m s kí t có giá tr a - Đ o xâu kí t -Đ ot -Đ ms t - Nhóm kí t lo i Ví d : Xâu ban đ u: aaabbbaacbd Xâu in ra: 5a4b1c1d - Thu t toán nén d li u RLE (Run length Encoding) thu t tốn nén khơng m t d li u lossless Nó đ c s d ng đ nén nh đ i v i đ nh d ng bmp Thu t toán RLE s th c hi n đ m s kí t gi ng liên ti p, sau Trang | 218 Ph n Bài t p s thay th tồn b dãy kí t gi ng b ng s kí t đ m đ sau l{ kí t t ng ng Ví d : c Xâu ban đ u: aaaabbbbcdddAA Xâu sau nén: 4a4b1c3d2A + Hãy xây d ng h{m RLE đ nén d li u V i d li u nh p vào t bàn phím + Hãy xây d ng h{m )RLE đ gi i nén d li u V i d li u nh p vào t bàn phím Bài t p Xây d ng hàm th c hi n ch c sau đ}y m ng m t chi u b ng hai cách: khai báo theo ki u thông th ng khai báo b ng tr - Hàm nh p d li u cho m ng chi u - Hàm xu t d li u cho m ng chi u - Hàm tính t ng ph n t c a m ng - Hàm tính t ng ph n t c a m ng s nguyên t - Hàm tính t ng ph n t c a m ng s ph - Hàm tính t ng s nguyên t c a m ng l n h n - Hàm tính t ng ph n t c a m ng s ph - Hàm đ m s ph n t c a m ng s nguyên t ng v{ nh h n ng ch n - Hàm đ m s ph n t c a m ng s ph ng - Hàm đ m s ph n t c a m ng s ph ng ch n - Hàm đ m s ph n t c a m ng s nguyên t l n h n v{ nh h n - Hàm tìm ki m ch s ph n t có giá tr x c a m ng - Hàm tìm ch s c a ph n t có giá tr nh nh t - Hàm tìm ch s c a ph n t có giá tr l n nh t T r a n g | 219 C++ - Hàm tính giá tr trung bình c a m ng Ph n Bài t p - Hàm s p x p m ng theo th t tăng d n (có th s d ng thu t tốn s p x p b t kì) - Hàm tính giá tr trung bình c a ph n t c a m ng có giá tr ch n - Hàm d n t t c ph n t ch n v m t phía, ph n t l v m t phía Ví d , m ng ban đ u là: k t qu s - ({m x|c đ nh ph n t có giá tr g n v i giá tr trung bình c a m ng nh t - ({m đ y ph n t c a m ng lên n v trí Ví d m ng ban đ u N u n = 2, m ng thu đ c s B sung hàm main v{ c|c th vi n đ nh n đ c m t ch ch nh Các hàm c n đ c khai báo theo prototype ng trình hoàn Bài t p Xây d ng c|c h{m đ th c hi n ch c sau đ}y m ng hai chi u b ng hai cách khai báo: theo ki u thông th ng khai báo b ng tr - Hàm nh p giá tr cho m ng hai chi u - Hàm xu t giá tr c a m ng hai chi u theo d ng ma tr n - Hàm c ng hai ma tr n - Hàm nhân hai ma tr n - Hàm thay th t t c ph n t có giá tr l c a ma tr n thành - Hàm thay th t t c ph n t t ng ng âm c a ma tr n b ng ph n t d ng - Hàm thay th ph n t có giá tr nh h n gi| tr trung bình c a ma tr n b ng ph n t Các hàm yêu c u đ c xây d ng theo prototype Các ma tr n (m ng hai chi u) t p ma tr n vuông B sung h{m main v{ c|c th vi n c n thi t đ đ c m t ch ng trình ho{n ch nh Bài t p T r a n g | 220 C++ - ({m tính lũy th a c a ma tr n vuông Ph n Bài t p Hãy ch n l a c|c ph ng ph|p ph‘ h p l p trình h l p trình gi i c|c b{i to|n sau đ}y ng đ i t a) Xây d ng l p TamGiac (tam giác) g m có ba c nh v i c|c ph sau: ng đ ng th c - Các ph ng th c kh i t o cho tam giác: không tham s , có tham s chép hàm t o - Các ph ng th c Getter - Ph ng th c KiemTra đ cho bi t có ph i m t tam giác th c s không - Ph ng th c tính di n tích tam giác n u m t tam giác th c s - Các ph ng th c nh p/xu t cho tam giác Xây d ng theo toán t b) Xây d ng l p Diem m) g m có t a đ x y z v{ c|c ph sau: - C|c ph - C|c ph - Ph ng th c kh i t o ng th c ng th c Getter ng th c tính kho ng cách gi a hai m Xây d ng l p Vector g m có hai thu c tính t ng ng v i hai đ i t ng Diem m đ u v{ m mút) Hãy b sung c|c ph ng th c sau cho l p Vector: - C|c ph - C|c ph ng th c kh i t o ng th c Getter - Ph ng th c tính đ dài c a vector - Ph ng th c tính tích vơ h - Ph - Ph ng th c c ng hai vector Xây d ng theo toán t ng c a hai vector ng th c tính cosin góc gi a hai vector ng th c tính tích h u h T r a n g | 221 ng c a hai vector C++ - Ph Ph n Bài t p Xây d ng l p HinhCau (hình c u) g m hai thu c tính l{ đ i t ng Diem t ng ng v i tâm hình c u bán kính R Hãy b sung c|c ph ng th c sau cho l p HinhCau: - C|c ph - C|c ph ng th c kh i t o ng th c Getter - Ph ng th c tính di n tích hình c u - Ph ng th c x|c đ nh v trí t - Ph ng th c x|c đ nh v trí t ng đ i gi a hình c u m t m ng đ i gi a hai hình c u Yêu c u chung: b sung hàm toán t nh p xu t cho m i l p đ i t ng Bài Xây d ng l p ConNguoi g m có hai thu c tính thành viên là: tên tu i Các ph ng th c kh i t o v{ c|c ph ng th c Getter t ng ng L p NhanVien th a k t l p ConNguoi, b ng cách b sung thêm hai thu c tính l{ m~ nh}n viên l ng v{ m c đóng góp tính theo l ng B sung ph ng th c kh i t o v{ c|c ph ng th c Getter Các công ty qu n lý nhân viên c a Đ i t ng CongTy có thu c tính: tên cơng ty, m c đóng góp chu n, ngân sách hi n có, ngu n thu theo tháng, ngu n chi theo tháng Gi s ngu n chi khơng bao g m chi phí tr l ng cho nh}n viên Đ i t ng CongTy có ph ng th c n d ng đ n thêm nh}n viên v{ ph ng th c sa th i đ sa th i nhân viên M t công ty s tuyên b phá s n n u v n u l c a h b âm V n u l t ng ngân sách hi n có c ng v i m c đóng góp c a m i nhân viên tr cho ngu n chi theo tháng tr ti p cho t ng l ng chi tr cho toàn b nhân viên Hãy xây d ng ch ng trình đ th c thi mô t Bài Hãy xây d ng ch T r a n g | 222 ng trình ng d ng theo mô t sau C++ M t nhân viên s b sa th i, n u m c đóng góp c a h nh h n m c đóng góp chu n c a cơng ty Ph n Bài t p - L p đ i t ng ng i dùng g m thu c tính: username, password, câu h i b o m t câu tr l i B sung c|c ph ng th c t ng ng cho phù h p Khi ch y ch ng trình ng i dùng nh p vào username password N u trùng kh p v i username password đ~ t o h th ng thơng b|o đăng nh p thành cơng - Sau đăng nh p th{nh cơng ng i dùng có quy n tri u g i c|c ph ng th c tính tốn c a l p s ph c phân s (c n xây d ng thêm hai l p này) - N u ng i d‘ng đăng nh p không thành công, yêu c u h xác minh r ng có ph i h đ~ quên m t kh u hay không b ng m t câu h i b o m t N u tr l i đ’ng cho phép h thay đ i m t kh u - N u đăng nh p không thành công tr l i sai câu h i b o m t, in thông b|o B n ch a ph i thành viên h~y ch n y đ đăng kí v{ ch n n đ thoát Bài M i đ i t ng Shape Microsoft Word đ u có có thu c tính: màu vi n, màu n n, n i dung văn b n bên trong, th b c, tình tr ng đ c ch n hay không v{ c|c ph ng th c kh i t o thay đ i giá tr cho m i thu c tính ph ng th c setter) Hãy t o m t m ng 10 ph n t Shape Các giá tr th b c không đ c trùng (và phân b t 0- Trong đ i t ng này, t i m i th i m, ch có đ’ng m t đ i t ng tình tr ng ch n N u đ i t ng tình tr ng ch n, ta m i có quy n thay đ i giá tr cho Hãy b sung thêm c|c ph Bài ng th c c n thi t đ th c hi n yêu c u G i ý: Các l p đ i t ng mơ hình bao g m Sinh viên, Giáo viên ch nhi m, Phòng Cơng tác h c sinh sinh viên Phòng Đ{o t o, Phòng Tài Khoa chun mơn Đồn TN, L p, Phòng h c, Môn h c Bài 10 T r a n g | 223 C++ Hãy phân tích mơ hình qu n lý sinh viên tr ng đ i h c T mơ hình ph}n tích đ c, xây d ng ch ng trình qu n lý sinh viên Trong mơ hình này, u c u qu n lý không d i 10 l p đ i t ng Ph n Bài t p (~y ph}n tích theo h ng đ i t ng mơ hình qu n lý Nh{ n c thu nh đ c cho bên d i đ}y T mơ hình ph}n tích h~y x}y d ng ch ng trình đ qu n lý Nh{ n c thu nh Bi t r ng t ng t|c gi a c|c đ i t ng có tính b c c u B GD S GD B Yt S Yt B Công Th ng B Qu c Phòng B Nơng Nghi p C s K th a ng t|c qu n lý Nh{ n ng t|c c C++ Hình 23 Mơ hình t T T r a n g | 224 Ph n Bài t p BÀI T P L N D án Phân tích, thi t k xây d ng ch ng trình qu n lý th vi n Trong ch ng trình n{y c n đ m b o ch c sau đ}y - Trong mơ hình qu n lý c n đ m b o thông tin: mã sách, tên sách, tên tác gi năm xu t b n, nhà xu t b n, s trang, giá s l ng - Cho phép b sung thêm m t ho c nhi u quy n sách - C p nh p l i s l ng s|ch có ng im n/tr sách - Tìm ki m sách theo tên tác gi ho c tên sách - Ki m tra tình tr ng sách hay khơng - Ch ng trình th c thi hình Console Có menu tùy ch n D li u đ c l u tr vào t p tin data dat d i d ng mã hóa nh phân D án Phân tích, thi t k xây d ng ch ng trình qu n lý website bán m|y tính Trong ch ng trình trình n{y c n đ m b o ch c sau đ}y - Trong mơ hình qu n lý này, c n đ m b o thông tin: mã hàng, màu s c, n c s n xu t, hãng, giá ti n, s l ng, th i gian b o hành có c{i đ t h u hành hay không, đ a ch khác hàng, s n tho i khách hàng - Tìm ki m m t hàng theo tên hãng, giá ti n v{ n c s n xu t - Ki m tra tình tr ng hàng hay không - B sung (nh p thêm hàng) ho c xóa b (bán hàng) D án Phân tích, thi t k xây d ng ch ng trình qu n lý nhân viên công ty Trong ch ng trình trình n{y c n đ m b o ch c sau đ}y T r a n g | 225 C++ - Ch ng trình th c thi hình Console Có menu tùy ch n D li u đ c l u tr vào t p tin data dat d i d ng mã hóa nh phân Ph n Bài t p - Trong mơ hình qu n lý này, c n đ m b o thông tin: mã nhân viên, h tên nh}n viên ng{y th|ng năm sinh h s l ng năm b t đ u cơng tác, tình tr ng nhân, b ph n làm vi c - Tìm ki m nhân viên theo h tên - Th ng kê s l ng nhân viên theo b ph n làm vi c - B sung (tuy n d ng) ho c xóa b (k t thúc h p đ ng) - Ch ng trình th c thi hình Console Có menu tùy ch n D li u đ c l u tr vào t p tin data dat d i d ng mã hóa nh phân D án Phân tích, thi t k xây d ng game FarmVille (m t game n i ti ng Facebook) Trong game này, c n đ m b o ch c sau đ}y - Trong mô hình qu n lý này, c n đ m b o thông tin: ng i ch i email tên ng i ch i, t ng s ti n C|c đ i t ng game: tên đ i t ng, tr giá, th i gian kh i t o, th i gian thu ho ch - Tìm ki m ng i ch i theo h tên - Th ng kê s ti n thu đ - B sung ng c c a m t ng i ch i ho c đ i t i ch i ng game - Khi thu ho ch m t đ i t ng, tr giá c a đ i t ng s đ c c p nh p vào cho t ng ti n c a ng i ch i đ ng th i đ i t ng s b h y Đ i t ng ch có th đ c thu ho ch n u: th i gian hi n t i th i gian kh i t o >= th i gian thu ho ch ng trình có menu u n, không yêu c u t o giao di n đ h a Ghi chú: Các sinh viên n p đ th c h{nh v{o tr c bu i th s có c h i nh n đ c t p l n Khi nh n đ c t p l n, yêu c u b sung c a gi ng viên, sinh viên c n th c thi thên u c u sau: - Phân tích mơ hình lên gi y (n p b n in) T r a n g | 226 C++ - Ch Ph n Bài t p C++ - N p ch ng trình ho{n ch nh Trong ch ng trình hồn ch nh t p tin word (*.doc; *.docx) ph i đ c ghi lên đĩa CD bên ngo{i đĩa có ghi tên sinh viên, l p v{ B{i t p l n: L p trình h ng đ i t ng C++ Gi ng viên h ng d n T r a n g | 227 DANH SÁCH HÌNH Hình T o m i d án CodeBlocks 10 Hình Kh i t o th}n ph ng th c 11 Hình C u hình MinGW Eclipse Helios 12 Hình Ch n đ ng d n đ n th m c bin c a MinGW 13 Hình - T o m i d án 13 Hình - C u tr’c th m c c a m t d án 14 Hình - Biên d ch m t d án 14 Hình - H p tho i t o m i class 15 Hình - Giao di n t ng th c a Visual Studio 2010 17 Hình 10 - T o d án Win32 Console 18 Hình 11 - Win32 Application Wizard 18 Hình 12 - B sung thêm m t t p tin 20 Hình 13 - B sung thêm l p đ i t ng 20 Hình 14 - T o l p b ng Class Wizard 21 Hình 15 - Xem bi u đ l p 22 Hình 16 S đ minh h a vi c s d ng hàm 72 Hình 17 Tham chi u tr 94 Hình 18 Tham chi u ng c tr 95 Hình 19 Tăng Gi m đ a ch c a tr 101 Hình 20 Minh h a s đ l p 125 Hình 21 Tính k th a 153 Hình 22 L p c s o 164 Hình 23 Mơ hình t ng t|c qu n lý Nh{ n c 224 Trang | 228 TRA C U T M T S THU T NG ANH-VI T Đ CS D NG TRONG GIÁO TRÌNH D ch sang ti ng Vi t L p c s tr u t ng Tính tr u t ng Toán t s h c Toán t gán L p c s / L p cha Toán t d ch bit L p L p Toán t phân tách Toán t gán h p nh t Toán t u ki n Tính đóng gói Ngo i l Toán t chuy n đ i ki u d li u Toán t tăng gi m Che d u/ n d u thơng tin Tính th a k / Tính k th a S th hi n Toán t logic Tính đa th a k t Tính đa k th a Đ i t ng Toán t Ch ng ch t toán t Ch ng ch t Quá t i Tính đa hình Ngun m u Hàm o thu n túy Tham chi u Toán t quan h so sánh C++ Nguyên b n ti ng Anh Abstract base class Abstraction Arithmetic operators Assignment operators Base class Bitwise operators Child class/SubClass Class Comma operators Compound assignment operator Conditional operators Encapsulation Exception Explicit type casting operators Increase and decrease operators Information hiding Inheritance Instance Logical operators Multiple inheritance Object Operator Operator overloading Overload Override Polymorphism Prototype Pure virtual function Reference Relational and equality operators KHÓA T r a n g | 229 TÀI LI U THAM KH O C++ [1] http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index jsp // M c: XL C/C++ V8.0 for AIX // Language Reference [2] http://msdn.microsoft.com/enus/library/3bstk3k5%28v=VS.80%29.aspx [3] Ivor Horton// Beginning Visual C++ 2010// Wrox pub [4] C++ for Mathematicians// An introduction for Student and Professional//Edward Scheinerman//Chapman & Hall/CRC T r a n g | 230 ... I THI U C u trúc c a giáo trình Gi|o trình đ c chia làm 17 ch ng m i ch ng đ c chia làm m c khác C|c ch ng đ c s p x p theo trình t t l p trình h ng th t c C đ n l p trình h ng đ i t ng l p th... ng trình C M t cách th c t t nh t đ h c l p trình l{ h~y th vi t m t ch ng trình đ u tiên N u đ~ t ng làm quen v i m t ngôn ng l p trình n{o ch c h n bi t đ n ví d kinh n c a m t ngơn ng l p trình. .. Finish Biên d ch ch ng trình: + Nh p vào Build > Build and Run + Ho c nh p phím F9 đ ng đ nh d ng mã Khi vi t m t ch ng trình C hay b t kì m t ch ng trình m t ngơn ng l p trình khác, ta c n tuân

Ngày đăng: 16/05/2019, 17:18

TỪ KHÓA LIÊN QUAN