Tải bản đầy đủ (.pdf) (64 trang)

ĐỒ ÁN CUỐI KỲ : QUẢN LÍ BÁN HÀNG BẰNG NGÔN NGỮ C++ VỚI THAO TÁC XUẤT NHẬP FILE

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.49 MB, 64 trang )

ĐẠI HỌC ĐÀ NẴNG – ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC

----------

ĐỒ ÁN MÔN HỌC

Đề tài: “Xây Dựng Chƣơng Trình Quản Lý
Bán Hàng Bằng Ngôn Ngữ Lập Trình C++ ”

Giảng viên hƣớng dẫn: Th.s TRẦN UYÊN TRANG
Nhóm SV thực hiện:

TRẦN THỊ LÀNH
TÔ THỊ TRINH
NGUYỄN THỊ YẾN
NGUYỄN THỊ NGUYỆT
HOÀNG THỊ MINH TÚ
NGUYỄN THỊ KIỀU NƢƠNG
NGUYỄN THỊ TRANG

NHÓM 6 - Lớp: 14SPT
Đà Nẵng, ngày 31 tháng 5 năm 2016
SVTH : Nhóm 5

Trang 1


LỜI MỞ ĐẦU
Trong những năm cuối thế kỷ 20 đầu thế kỷ 21, công nghệ thông tin là ngành có
tốc độ phát triển nhanh nhất. Công nghệ thông tin ở nƣớc ta còn mới, song tốc độ phát


triển của nó rất nhanh và mạnh, chiếm một vị trí quan trọng trong các ngành khoa học
công nghệ. Một trong những lĩnh vực đang đƣợc ứng dụng tin học hóa rất phổ biến ở
nƣớc ta là lĩnh vực quản lý. Tin học hóa trong quản lý đã giúp cho các nhà quản lý điều
hành công việc một cách khoa học, chính xác và hiệu quả.
Bên cạnh sự phát triển mạnh mẽ của công nghệ thông tin là sự phát triển của các
ngành khoa học kĩ thuật. Ngành khoa học kĩ thuật đem lại những sản phẩm đáp ứng nhu
cầu của con ngƣời, trong đó phải kể đến nhu cầu sử dụng điện thoại ngày càng đƣợc tăng
cao chính vì lẽ đó mà hàng loạt các siêu thị, cửa hàng bán điện thoại di động xuất hiện
trên thị trƣờng nhƣ hiện nay. Việc kinh doanh của các cửa hàng, siêu thị ngày càng phát
triển, kéo theo việc đòi hỏi ra đời các hệ thống để trợ giúp họ trong việc quản lý bán hàng
đơn giản, nhanh chóng và thuận tiện hơn. Xuất phát từ nhu cầu thực tế đó mà chúng em
đã thực hiện đồ án “Quản lý bán hàng điện thoại bằng ngôn ngữ lập trình C++”.
Chúng em xin tỏ lòng biết ơn chân thành tới cô giáo TRẦN UYÊN TRANG –
ngƣời trực tiếp giảng dạy bộ môn ngôn ngữ lập trình C++ đã truyền đạt cho em những
kiến thức quý báu để hoàn thành bài viết này!

SVTH : Nhóm 5

Trang 2


ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC
--------------

NHIỆM VỤ ĐỒ ÁN MÔN HỌC
Chuyên ngành:……SƢ PHẠM TIN HỌC ......Khóa: ………….2014-2018 ...............
Giảng viên hƣớng dẫn: …………..Th.s TRẦN UYÊN TRANG....................................
Sinh viên thực hiện:

1/…..TRẦN THỊ LÀNH ............................... MSSV: ……312011141121 ..............
2/ ….NGUYỄN THỊ TRANG ..................... MSSV: ……312011141143 ..............
3/ …..NGUYỄN THỊ YẾN ........................... MSSV:…….312011141150…………
4/ …..NGUYỄN THỊ NGUYỆT .................. MSSV: ……312011141128 ..............
5/ …..TÔ THỊ TRINH .................................. MSSV: ……312011141146 ..............
6/ …..HOÀNG THỊ MINH TÚ .................... MSSV: …….312011141148 .............
7/ …..NGUYỄN THỊ KIỀU NƢƠNG.......... MSSV: ……312011141131 ..............
Tên đồ án: .........................................................................................................................
………………. Quản Lý Bán Hàng Bằng Ngôn Ngữ Lập Trình C++ ............................
...........................................................................................................................................
...........................................................................................................................................

SVTH : Nhóm 5

Trang 3


Nội dung đồ án: Nhập dữ liệu file vào, xuất dữ liệu file ra, thêm dữ liệu vào file, thống kê
số lƣợng và lợi nhuận theo ngày, tháng, quý trong năm ..................................................
...........................................................................................................................................
Kết quả đạt đƣợc: tƣơng đối hoàn thành mục tiêu đề ra ..................................................
...........................................................................................................................................
Ngày bắt đầu: ……20/4/2016 ..................... Ngày kết thúc:….19/5/2016 ........................
Đà Nẵng, ngày ... tháng ... năm 20…
Giảng viên hƣớng dẫn

SVTH : Nhóm 5

Trang 4



ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC

-------------NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
SV: ...........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình
Kỹ năng
(60%)

Kiến thức
(40%)

Điểm tổng kết

Điểm thực hiện
TỔNG
CỘNG

Bản báo
cáo
(40%)

Chƣơng
trình
(60%)


(1)

[(1)+(2)]/2
TỔNG
CỘNG

Điểm số

Điểm chữ

(2)

SV: ..........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình

Điểm tổng kết

Điểm thực hiện

[(1)+(2)]/2

Kiến

Kỹ năng

TỔNG


Bản báo

Chƣơng

TỔNG

thức

(60%)

CỘNG

cáo

trình

CỘNG

(1)

(40%)

(60%)

(2)

(40%)

Điểm số


Điểm chữ

Đà Nẵng, ngày … tháng … năm 20…
Giảng viên hƣớng dẫn

SVTH : Nhóm 5

Trang 5


ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC

-------------NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
SV: ...........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình
Kỹ năng
(60%)

Kiến thức
(40%)

Điểm tổng kết

Điểm thực hiện

TỔNG
CỘNG

Bản báo
cáo
(40%)

Chƣơng
trình
(60%)

(1)

[(1)+(2)]/2
TỔNG
CỘNG

Điểm số

Điểm chữ

(2)

SV: ..........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình

Điểm tổng kết


Điểm thực hiện

[(1)+(2)]/2

Kiến

Kỹ năng

TỔNG

Bản báo

Chƣơng

TỔNG

thức

(60%)

CỘNG

cáo

trình

CỘNG

(1)


(40%)

(60%)

(2)

(40%)

Điểm số

Điểm chữ

Đà Nẵng, ngày … tháng … năm 20…
Giảng viên hƣớng dẫn

SVTH : Nhóm 5

Trang 6


ĐẠI HỌC ĐÀ NẴNG
TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC

-------------NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
SV: ...........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................

Điểm quá trình
Kỹ năng
(60%)

Kiến thức
(40%)

Điểm tổng kết

Điểm thực hiện
TỔNG
CỘNG

Bản báo
cáo
(40%)

Chƣơng
trình
(60%)

(1)

[(1)+(2)]/2
TỔNG
CỘNG

Điểm số

Điểm chữ


(2)

SV: ..........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình

Điểm tổng kết

Điểm thực hiện

[(1)+(2)]/2

Kiến

Kỹ năng

TỔNG

Bản báo

Chƣơng

TỔNG

thức

(60%)


CỘNG

cáo (40%)

trình

CỘNG

(60%)

(2)

(40%)

(1)

Điểm số

Điểm chữ

Đà Nẵng, ngày … tháng … năm 20…
Giảng viên hƣớng dẫn

SVTH : Nhóm 5

Trang 7


ĐẠI HỌC ĐÀ NẴNG

TRƢỜNG ĐẠI HỌC SƢ PHẠM
KHOA TIN HỌC

-------------NHẬN XÉT CỦA GIẢNG VIÊN HƢỚNG DẪN
SV: ...........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình
Kỹ năng
(60%)

Kiến thức
(40%)

Điểm tổng kết

Điểm thực hiện
TỔNG
CỘNG

Bản báo
cáo
(40%)

Chƣơng
trình
(60%)

(1)


[(1)+(2)]/2
TỔNG
CỘNG

Điểm số

Điểm chữ

(2)

SV: ..........................................................................................................................................................
Nhận xét: .................................................................................................................................................
..................................................................................................................................................................
..................................................................................................................................................................
Điểm quá trình

Điểm tổng kết

Điểm thực hiện

[(1)+(2)]/2

Kiến

Kỹ năng

TỔNG

Bản báo


Chƣơng

TỔNG

thức

(60%)

CỘNG

cáo (40%)

trình

CỘNG

(60%)

(2)

(40%)

(1)

Điểm số

Điểm chữ

Đà Nẵng, ngày … tháng … năm 20…

Giảng viên hƣớng dẫn

SVTH : Nhóm 5

Trang 8


MỤC LỤC
LỜI MỞ
ĐẦU……………………………………………………………………………………………………………………………Error!
Bookmark not defined.
NHIỆM VỤ ĐỒ ÁN MÔN HỌC .................................................................... Error! Bookmark not defined.
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN................................................. Error! Bookmark not defined.
CHƯƠNG I:TỔNG QUAN VỀ ĐỒ ÁN ......................................................... Error! Bookmark not defined.1
I.1 Giới thiệu chung ........................................................................... Error! Bookmark not defined.1
I.1.1 Giới thiệu về chƣơng trình xây dựng đồ án quản lý................ Error! Bookmark not defined.1
I.1.2 Hƣớng dẫn sử dụng ................................................................ Error! Bookmark not defined.1
I.2 Mục đích và mục tiêu.................................................................... Error! Bookmark not defined.2
I.2.1 Mục đích: ............................................................................... Error! Bookmark not defined.2
I.2.2 Mục tiêu: ................................................................................ Error! Bookmark not defined.2
I.3 Dữ liệu đƣợc sử dụng trong chƣơng trình: ................................... Error! Bookmark not defined.2
CHƯƠNG II: TỔNG QUAN NGÔN NGỮ LẬP TRÌNH C++ ............................. Error! Bookmark not defined.6
II.1 Lập trình hƣớng đối tƣợng (Object Oriented Programming) .... Error! Bookmark not defined.6
II.1.1 Sơ lƣợc về lập trình hƣớng đối tƣợng(1) ................................. Error! Bookmark not defined.6
II.1.2 Cấu trúc của một chƣơng trình C++ ..................................... Error! Bookmark not defined.6
II.2 Những thuật ngữ của lập trình hƣớng đối tƣợng ........................ Error! Bookmark not defined.7
II.2.1 Lớp (class) ............................................................................ Error! Bookmark not defined.7
II.2.1.1 Khái niệm về lớp: ............................................................... Error! Bookmark not defined.7
II.2.1.2 Định nghĩa về lớp: .............................................................. Error! Bookmark not defined.7
II.2.2 Thuộc tính của lớp: .............................................................. Error! Bookmark not defined.7

II.2.3 Phƣơng thức của lớp:........................................................... Error! Bookmark not defined.8
CHƯƠNG III: KIẾN THỨC CƠ SỞ NGÔN NGỮ LẬP TRÌNH C++ .................... Error! Bookmark not defined.9
III.1 Các thƣ viện sử dụng: ............................................................... Error! Bookmark not defined.9
III.2 Thao tác với file: ........................................................................ Error! Bookmark not defined.9
III.3 Các kiểu dữ liệu: .................................................................................................................. 20
III.3.1 Kiểu struct: ................................................................................................................... 20
III.3.2 Các kiểu dữ liệu chuẩn, không chuẩn: ................................. Error! Bookmark not defined.1
III.3.3 Danh sách mảng 1 chiều: ..................................................... Error! Bookmark not defined.1
III.3.3.1 Khái niệm mảng 1 chiều: .................................................. Error! Bookmark not defined.1
III.3.3.2 Ƣu và nhƣợc điểm của mảng một chiều: ........................... Error! Bookmark not defined.2
III.3.4 Mảng đối tƣợng ................................................................... Error! Bookmark not defined.3
III.3.4.1 Khai báo ........................................................................... Error! Bookmark not defined.3
III.3.4.2 Các vấn đề liên quan đến mảng đối tƣợng ........................ Error! Bookmark not defined.3

SVTH : Nhóm 5

Trang 9


III.4 Các lệnh và vòng lặp .................................................................. Error! Bookmark not defined.4
III.4.1 Lệnh If ................................................................................ Error! Bookmark not defined.4
III.4.2 Lệnh break: ......................................................................... Error! Bookmark not defined.5
III.4.3 Lệnh switch: ........................................................................ Error! Bookmark not defined.6
III.4.4 Vòng lặp For ....................................................................... Error! Bookmark not defined.6
III.4.5 Vòng lặp while ..................................................................... Error! Bookmark not defined.7
III.4.6 Vòng lặp do…while ............................................................ Error! Bookmark not defined.8
CHƯƠNG IV: PHÂN TÍCH THIẾT KẾ CHƯƠNG TRÌNH ................................. Error! Bookmark not defined.9
IV.1. GIỚI THIỆU BÀI TOÁN.......................................................... Error! Bookmark not defined.9
IV1.1. Mô tả các bƣớc thực hiện để quản lý hàng hóa: ................... Error! Bookmark not defined.9
IV.1.2. Sơ đồ các chức năng chính:........................................................................................... 30

IV.2. CÁC MODULE CHƢƠNG TRÌNH:................................................................................... 30
IV.2.1. Nhập vào thông tin ban đầu: ........................................................................................ 30
IV.2.2. Xuất thông tin ban đầu: ...................................................... Error! Bookmark not defined.1
IV.2.4. Thêm hóa đơn nhập:……………………………………………………………………….35
IV.2.4. Thêm hóa đơn xuất:............................................................ Error! Bookmark not defined.8
IV.2.5. Thống kê sản phẩm: ..................................................................................................... 40
IV.2.5.1.Thống kê hàng hóa bán ra theo ngày : ........................................................................ 40
IV.2.5.2. Thống kê hàng hóa bán ra theo tháng: ....................................................................... 41
IV.2.5.3. Thống kê hàng hóa bán ra theo quý : ......................................................................... 41
CHƯƠNG V: CÀI ĐẶT CHƯƠNG TRÌNH VÀ CHẠY THỬ NGHIỆM .......................................................... 42
V.1 GIỚI THIỆU CHƢƠNG TRÌNH ................................................ Error! Bookmark not defined.2
V.2 THỰC HIỆN CHƢƠNG TRÌNH ................................................ Error! Bookmark not defined.2
1.

Nhập dữ liệu ban đầu ............................................................. Error! Bookmark not defined.3

2.

Xuất dữ liệu. ........................................................................... Error! Bookmark not defined.3

3.

Thêm hóa đơn nhập ................................................................ Error! Bookmark not defined.6

4.

Thêm hóa đơn xuất ................................................................. Error! Bookmark not defined.8

5.


Thống kê ................................................................................. Error! Bookmark not defined.1

V.3 Bộ Kiểm Thử ............................................................................... Error! Bookmark not defined.8
V.3.1 Bộ I ....................................................................................... Error! Bookmark not defined.9
V.3.1 Bộ II ................................................................................................................................ 60
V.3.1 Bộ IIII ............................................................................................................................. 60
Chƣơng 6 : tổng kết ......................................................................................................................... 62
Tài liệu tham khảo ............................................................................................................................ 63
Bảng phân công công việc ................................................................................................................. 64

SVTH : Nhóm 5

Trang 10


Quản lý hàng hóa

GVHD: Trần Uyên Trang

CHƢƠNG I:

TỔNG QUAN VỀ ĐỒ ÁN
I.1 Giới thiệu chung
I.1.1 Giới thiệu về chƣơng trình xây dựng đồ án quản lý
-

Chƣơng trình “Quản Lý Hàng Hóa” của nhóm chúng tôi lấy ý tƣởng từ nhu cầu
quản lý của các cửa hàng, siêu thị,…hiện nay. Nó đƣợc viết theo ngôn ngữ C++.

-


Chƣơng trình này có thể áp dụng quản lý nhiều mặt hàng khác nhau và quản lý cửa
hàng điện thoại mà nhóm tôi đang thực hiện là một trong những mặt hàng có thể sử
dụng chƣơng trình này.

-

Chƣơng trình áp dụng các thuật toán tìm trong mảng không sắp xếp.

-

Ngoài ra còn áp dụng xuất nhập file tạo thuận lợi cho việc in, ấn thông tin ra giấy.

I.1.2 Hƣớng dẫn sử dụng
-

Các nhân viên chỉ cần đọc thông tin trên màn hình DEV C++ và nhập số tƣơng
ứng theo nhu cầu cần thực hiện của mình. Menu gồm có:
1. Nhập thông tin ban đầu.
2. Xuất thông tin theo yêu cầu.
3. Thêm hóa đơn nhập.
4. Thêm hóa đơn xuất.
5. Thống kê.

-

Khi bắt đầu sử dụng chƣơng trình bạn hãy chọn menu 1 để nhập thông tin ban đầu
vào cho hệ thống tiếp nhận thông tin.

-


Nếu bạn muốn xuất các thông tin nhƣ hàng hóa, nhân viên, khách hàng… thì bạn
hãy chọn menu 2. Khi bạn chọn menu 2 sẽ xuất hiện một menu con nhƣ sau:
BẠN CẦN HIỂN THỊ THÔNG TIN NÀO:
1. Thông tin hàng hóa.
2. Thông tin nhân viên.
3. Thông tin khách hàng.

SVTH : Nhóm 5

Trang 11


Quản lý hàng hóa

GVHD: Trần Uyên Trang

4. Thông tin nhà cung cấp.
5. Thông tin hóa đơn nhập.
6. Thông tin hóa đơn xuất.
-

Bạn muốn thông tin nào hiện ra thì sẽ nhập số tƣơng ứng nhƣ trên, nhập số vào
không tồn tại ở menu thì nó sẽ hiển thị “STOP. EXIT THE PROGRAM!!!” và trở
về menu ban đầu. Tƣơng tự nhƣ vậy cho những menu tiếp theo.

I.2 Mục đích và mục tiêu
I.2.1 Mục đích:
- Chƣơng trình này có thể áp dụng quản lý hàng hóa trong các công ty, xí nghiệp,
siêu thị, cửa hàng,… để việc quản lý tối ƣu hiệu quả, thuận lợi nhất.

- Có thể phát triển thành các chƣơng trình quản lý có yêu cầu cao hơn.
I.2.2 Mục tiêu:
- Thiết kế một chƣơng trình quản lý dễ sử dụng để có thể chạy tốt trên máy tính.
- Áp dụng quản lý trong các cửa hàng điện thoại.
I.3 Dữ liệu đƣợc sử dụng trong chƣơng trình:
Bảng KHÁCH HÀNG
S
T
T

ID

TÊN KHÁCH
HÀNG

EMAIL

SỐ ĐIỆN
THOẠI

ĐỊA CHỈ

NGÀY SINH

1

KH01

LẠI MINH
TUẤN


TUANNK23@GM
AIL.COM

0908764123

66 VÕ VĂN TẦNTPHCM

25/5/1989

KH02

HỒ NGUYỆT
NGA

NGABABECUTE
@GMAIL.COM

0903123576

544 NGUYỄN TẤT
THÀNH ĐÀ NẴNG

1/7/1995

3

KH03

TÔ THỊ TRINH


TOTRINH290996
@GMAIL.COM

01653431199

12 NGUYỄN ĐỨC
TRUNG ĐÀ NẴNG

29/9/1996

4

KH04

NGUYỄN THỊ
NGUYỆT

NGUYETNGUYE


0122684678

HÕA PHƢỚC ĐÀ
NẴNG

26/5/1995

NGUYỄN THỊ
TRANG


TRANGNGUYEN
@GMAIL.COM

2

5

KH05

SVTH : Nhóm 5

0906345678

THU HƢƠNG HUẾ

12/12/1995

Trang 12


Quản lý hàng hóa

GVHD: Trần Uyên Trang

Bảng NHÀ CUNG CẤP
STT

ID


IDHH

EMAIL

SỐ ĐIỆN
THOẠI

ĐỊA CHỈ

1

N1

NOKIA



0905876675

530 BÌNH CHÁNH
TPHCM

2

O1

OPPO




08812130

76 HỒ XUÂN
HƢƠNG HÀ NỘI

3

S1

SAMSUNG



051123467

120 LIÊN CHIỂU ĐÀ
NẴNG

4

B1

BLACKBERY



051045609

123 HOÀNG VĂN
THÁI HUẾ


5

AS1

ASUS



0907123456

02 ÔNG ÍCH KHIÊM
HÀ NỘI

6

L1

LG



0125783423

345 ĐIỆN BIÊN PHỦ
TP HẢI PHÒNG

7

VT1


VIETTEL



0162567890

45 NGUYỄN HOÀNG
TPHCM

Bảng HÀNG HOÁ
STT

ID

TÊN HÀNG HÓA

ĐƠN VỊ TÍNH

SỐ LƢỢNG

ĐƠN GIÁ

1

NOKIA1

LUMIA 650 DUAL SIM

SAN PHAM


500

3990000

2

NOKIA2

LUMIA 550

SAN PHAM

320

2990000

3

NOKIA3

NOLIA 320

SAN PHAM

200

1390000

4


NOKIA4

NOKIA 305 DUAL SIM

SAN PHAM

380

429000

5

IPHONE1

IPHONE SE 16GB ROSE GOLD

SAN PHAM

600

20000000

6

SAMSUNG

SAMSUNG GALAXY S7 EGDE

SAN PHAM


240

18490000

7

OPPO1

OPP1 S1

SAN PHAM

455

5990000

8

HTC1

HTC DESIRE 826 DUAL SIM

SAN PHAM

215

2400000

SVTH : Nhóm 5


Trang 13


Quản lý hàng hóa

GVHD: Trần Uyên Trang

Bảng NHÂN VIÊN
ST
T

ID

HỌ VÀ TÊN

NGÀY
SINH

NGÀY LÀM
VIỆC

ĐỊA CHỈ

1

NV01-005

PHẠM DUY
PHƢƠNG


15/3/1986

13/7/2000

BỐ TRẠCH QUẢNG BÌNH

2

NV02-002

MAI THỊ KIỀU

03/02/1983

01/06/2005

ĐIỆN BÀN QUẢNG NAM

3

NV02-001

NGUYỄN NHƢ VŨ

25/7/1986

03/02/2003

HẢI CHÂU ĐÀ NẴNG


4

NV01-001

TRẦN TUẤN ANH

01/01/1983

25/02/2013

MỘ ĐỨC QUẢNG NGÃI

5

NV01-003

ĐÀO THỊ CÚC

11/01/1987

02/03/2008

SƠN TỊNH QUẢNG NGÃI

6

NV02-007

NGUYỄN THỊ ĐÀO


26/3/1984

23/3/2009

PHÖ THƢỢNG HUẾ

7

QL01-001

NGUYỄN VĂN
NGHĨA

23/8/1985

14/4/2010

ĐIỆN BÀN QUẢNG NAM

8

QL01-002

NGÔ PHƢƠNG
THẢO

12/11/1986

13/4/2015


VĨNH LINH QUẢNG TRỊ

9

MM01-010

LÊ VĂN BẰNG

02/7/1984

20/5/2005

KỲ ANH HÀ TĨNH

Bảng HÓA ĐƠN XUẤT
STT

IDHDX

IDNV

IDHH

IDKH

NGÀY XUẤT

SỐ LƢỢNG


LÃI
SUẤT

1

HDX001

NV01-001

NOKIA1

KH01

17/8/2015

13

10

2

HDX001

NV01-001

NOKIA3

KH01

17/8/2015


12

10

3

HDX005

NV01-003

NOKIA1

KH03

17/8/2015

20

10

4

HDX002

NV02-002

IPHONE1

KH05


20/5/2016

22

12

5

HDX003

NV01-005

SAMSUNG

KH06

01/01/2016

5

10

6

HDX003

NV01-005

NOKIA1


KH06

01/01/2016

10

10

SVTH : Nhóm 5

Trang 14


Quản lý hàng hóa

GVHD: Trần Uyên Trang

Bảng HÓA ĐƠN NHẬP
STT

IDNV

IDHH

IDNCC

NGAY NHAP

SỐ

LƢỢNG

ĐƠN GIÁ

1

NV01-005

NOKIA1

N1

04/6/2015

45

3990000

2

NV01-005

NOKIA2

N1

01/02/2013

29


2990000

3

NV01-006

NOKIA1

N1

01/02/2016

100

3990000

4

NV02-002

SAMSUNG

S1

12/3/2013

30

18490000


5

NV01-003

SAMSUNG

S1

29/9/2013

120

18490000

6

QL01-001

IPHONE1

O1

01/02/2015

122

20000000

7


NV01-005

SAMSUNG

S1

23/5/2014

34

18490000

SVTH : Nhóm 5

Trang 15


Quản lý hàng hóa

GVHD: Trần Uyên Trang

CHƢƠNG II:
TỔNG QUAN NGÔN NGỮ LẬP TRÌNH C++
II.1 Lập trình hƣớng đối tƣợng (Object Oriented Programming)
II.1.1 Sơ lƣợc về lập trình hƣớng đối tƣợng(1)
-

Lập trình hƣớng đối tƣợng là ngôn ngữ đƣợc xây dựng trên nền tảng của lập trình
có cấu trúc với sự trừu tƣợng hóa dữ liệu.


-

Sự trừu tƣợng dữ liệu tác động trên các dữ liệu cũng nhƣ sự trừu tƣợng hóa chức
năng đã làm trên chức năng. Khi sự trừu tƣợng hóa dữ liệu xảy ra, các cấu trúc dữ
liệu và các phần tử có thể đƣợc sử dụng mà không cần đƣợc chú ý đến các chi tiết
cụ thể mà ngƣời ta xây dựng.

-

Sự thay đổi căn bản ở một chỗ: 1 chƣơng trình hƣớng đối tƣợng đƣợc thiết kế xoay
quanh dữ liệu mà ta làm việc trên nó hơn là bản thân chức năng chƣơng trình.

-

Lập trình hƣớng đối tƣợng sẽ liên kết cấu trúc dữ liệu với thao tác theo cách mà
chúng ta thƣờng nghĩ về thế giới xung quanh đó là: gắn một hành động cụ thể với
một loại đối tƣợng nào đó.

-

Lập trình hƣớng đối tƣợng cho phép sử dụng các quá trình suy nghĩ về thế giới
quan vào dữ liệu.

II.1.2 Cấu trúc của một chƣơng trình C++
(1): [Khai báo thƣ viện]
(2): [Khai báo các nguyên mẫu hàm của ngƣời dùng]
(3): [Các định nghĩa kiểu]
(4): [Các định nghĩa Macro]
(5): [Các định nghĩa biến, hằng]
(6): <kiểu hàm> main ([khai báo tham số])

(7): {
(8): Thân hàm main
(9): }
(10): Các định nghĩa hàm của ngƣời dùng
SVTH : Nhóm 5

Trang 16


Quản lý hàng hóa

GVHD: Trần Uyên Trang

II.2 Những thuật ngữ của lập trình hƣớng đối tƣợng
II.2.1 Lớp(2) (class)
II.2.1.1 Khái niệm về lớp:
- Lớp (class) là khái niệm trung tâm của lập trình hƣớng đối tƣợng.
- Lớp là sự mở rộng khái niệm cấu trúc (struct) của C và bản ghi (record) của pascal.
- Ngoài ra các thành phần dữ liệu nhƣ cấu trúc, lớp còn chứa các thành phần hàm, còn
gọi là phƣơng thức (method) hay hàm thành viên (member function).
- Lớp là một kiểu đối tƣợng và nó đƣợc dùng để khai báo kiểu đối tƣợng khác.
II.2.1.2 Định nghĩa về lớp:
- Lớp đƣợc định nghĩa nhƣ sau:
Class tenlop
{
Private:
//Khai báo các thuộc tính gồm các biến thành phần, dữ //liệu các biến. Và
nó không truy xuất ra bên ngoài lớp.
Public:
//khai báo các phƣơng thức gồm các hàm

//nó truy xuất trong và ngoài lớp.
}
II.2.2 Thuộc tính(3) của lớp:
- Thuộc tính thƣờng đƣợc khai báo private để đảm bảo tính giấu kín, bảo vệ an toàn

dữ liệu của lớp, không cho các hàm hay phƣơng thức bên ngoài xâm nhập vào dữ
liệu của lớp.

SVTH : Nhóm 5

Trang 17


Quản lý hàng hóa

GVHD: Trần Uyên Trang

- Thuộc tính của lớp có thể là các biến, mảng, con trỏ kiểu chuẩn (int, float,
char,…) hoặc kiểu ngoài chuẩn đã đƣợc định nghĩa trƣớc. Thuộc tính của lớp
không thể là kiểu của chính lớp đó nhƣng có thể là con trỏ của lớp này.
Ví dụ: class A{
int x,y; // khai báo hai thuộc tính kiểu số nguyên.
float z;// khai báo z có kiểu số thực.
A p;// không đƣợc phép.
A *p;// khai báo con trỏ p kiểu A.}
II.2.3 Phƣơng thức(4) của lớp:
- Phƣơng thức thƣờng đƣợc khai báo public để chúng có thể đƣợc gọi tới từ các
hàm khác trong chƣơng trình
- Phƣơng thức có thể đƣợc định nghĩa bên ngoài hay bên trong lớp. Thông thƣờng
phƣơng thức ngắn sẽ đƣợc định nghiã bên trong lớp, phƣơng thức dài sẽ đƣợc

định nghĩa bên ngoài lớp. Khi định nghĩa bên ngoài lớp ngƣời ta sử dụng toán tử
phạm vi(::).
Ví dụ: Class B{
private:
int x,y;
public:
void nhap(){
cout<<”nhap toa do x va y: “;
cin>>x>>y;}
void display();//định nghĩa phƣơng thức bên ngoài lớp
}
void B::display(){
cout<<”toa do diem vua nhap la: “<<”( ”<SVTH : Nhóm 5

Trang 18


Quản lý hàng hóa

GVHD: Trần Uyên Trang

CHƢƠNG III:

KIẾN THỨC CƠ SỞ NGÔN NGỮ LẬP TRÌNH C++
III.1 Các thƣ viện sử dụng:
- #include<iostream>: thƣ viện của các hàm tiêu chuẩn để đọc và viết ra các dòng
chuẩn (standard stream) hay xuất và nhập (dữ liệu) từ C++.
- #include<bits/stdc++.h>
- #include<fstream>: Định nghĩa các hàm hỗ trợ các phép toán cho dòng xuất nhập

(iostream) trên các chuỗi chứa trong các tập tin bên ngoài.
- using namespace std;
III.2 Thao tác với file(5):
 Mở file để ghi dữ liệu:
ofstream <fileVar> (FileName);
Ví dụ: ofstream fo1("NHANVIEN.OUT"), fo2("HANGHOA.OUT"), …
 Mở file để đọc dữ liệu:
ifstream <fileVar> (FileName);
Ví dụ: ifstream fi1("NHANVIEN.INP"), fi2("HANGHOA.TXT"), …
 Đóng file:
fileVar.close();
Ví dụ: fi1.close(); fi2.close();…
 Ghi dữ liệu vào file:
fileVar<Ví dụ: fo2<SVTH : Nhóm 5

Trang 19


Quản lý hàng hóa

GVHD: Trần Uyên Trang

 Đọc dữ liệu từ file:
fileVar>>Var1>>Var2>>...>>VarN;
Ví dụ: getline(fi2,ID); getline(fi2,tenhh); fi2>>sl>>giahang;….
III.3 Các kiểu dữ liệu:
III.3.1 Kiểu struct(6):
- Đối với danh sách mảng, chỉ có thể lƣu nhiều thông tin có cùng kiểu dữ liệu nhất

định. Nhƣng với struct ta có thể lƣu thông tin có nhiều kiểu dữ liệu khác nhau.
- Cú pháp:
struct tên _kiểu_cấu_trúc
{
Khai báo các thành phần của kiểu;s
} danh_sách_các_biến_thuộc_kiểu_cấu_trúc;
-

Ví dụ: //khai báo struct cho ngày tháng năm
typedef struct {
int day,month,year;
} DATE;
// khai báo struct có các kiểu dữ liệu khác nhau
struct typef {
int soluong,lai;
string ID; }

-

f[i];

Truy cập đến các thành phần của cấu trúc:

Để truy nhập đến thành phần của cấu trúc ta sử dụng toán tử chấm (.).
Tên_cấu_trúc . tên_thành_phần;
Nhƣ ví dụ trên ta truy cập nhƣ sau:

SVTH : Nhóm 5

Trang 20



Quản lý hàng hóa

GVHD: Trần Uyên Trang

f[i].ID; f[i].lai; f[i].soluong; // truy xuất đến mảng có kiểu struct
DATE d;
d.day; d.month; d.year; // truy xuất đến ngày tháng năm.

Khi đã truy xuất đƣợc tới các thành phần của cấu trúc thì mỗi thành phần đó là 1 biến
bình thƣờng và ta gán giá trị hoặc nhập xuất giá trị cho chúng nhƣ cách bình thƣờng mà
chúng ta vẫn làm.
III.3.2 Các kiểu dữ liệu chuẩn, không chuẩn:
-

Các kiểu dữ liệu chuẩn là:
string: kiểu kí tự
int: kiểu số nguyên có miền giá trị -215 -> 215 -1
long long – 231 -> 231 -1.
-

Kiểu không chuẩn: DATE và typef ( định nghĩa theo struct)

III.3.3 Danh sách mảng 1 chiều:
III.3.3.1 Khái niệm mảng 1 chiều(7):
- Mảng là kiểu dữ liệu có cấu trúc bao gồm nhiều phần tử cùng kiểu và đƣợc bố trí
vùng nhớ liên tục. Một mảng số nguyên gồm các phần tử là các biến số nguyên.
Một mảng số thực bao gồm các phần tử là các biến thực.
- Kích thƣớc của mảng chính là số các phần tử trong mảng. Kích thƣớc này phải

đƣợc khai báo tƣờng minh trong phần khai báo mảng vì nó xác định vị trí và kích
thƣớc của vùng nhớ trong bộ nhớ đƣợc cấp phát cho mảng.
III.3.3.2 Ƣu và nhƣợc điểm của mảng một chiều:
2.1 Ƣu điểm:
SVTH : Nhóm 5

Trang 21


Quản lý hàng hóa

GVHD: Trần Uyên Trang

- giúp ta tiết kiệm tài nguyên hệ thống. Ta có thể sử dụng một mảng có kích thƣớc
lớn trong một thời gian nào đó rồi xóa bỏ để trả lại vùng nhớ cho hệ thống.
- Dễ cài đặt và truy nhập các phần tử dữ liệu.
- Tốc độ truy nhập đến một vị trí bất kì nhanh và hiệu quả.
2.2 Nhƣợc điểm:
- Cần phải xác định trƣớc số phần tử mảng trƣớc khi sử dụng => không phù hợp
với các bài toán chƣa biết số lƣợng phần tử.
- Khó khăn trong các thao tác chèn và xóa một phần tử bất kì trong mảng.
- Nếu bài toán mà việc chèn phần tử xóa phần tử diễn ra liên tục thì tốc độ xử lí sẽ
diễn ra rất chậm.
2.3 Các thao tác cơ bản trên mảng một chiều:
 Nhập giá trị cho các phần tử mảng
 Xuất giá trị các phần tử mảng( ra màn hình )
 Thêm một phần tử vào mảng
 Xóa một phần tử ra khỏi mảng
 Tìm kiếm trên mảng
 Sắp xếp mảng

- Các thao tác trên thực chất là duyệt mảng và xử lí trên từng phần tử mảng nhờ
vào cấu trúc lặp
 Nhập giá trị cho từng phần tử
for (i=0; icout<<”a[ “<cin>>a[i];
}
 Hiển thị mảng
for (i=0; icout<SVTH : Nhóm 5

Trang 22


Quản lý hàng hóa

GVHD: Trần Uyên Trang

III.3.4 Mảng đối tƣợng(8)
III.3.4.1 Khai báo
- Tƣơng tự nhƣ khai báo mảng int, char, float… Mảng đối tƣợng dùng tên lớp để
khai báo theo mẫu:

tên_lớp tên_mảng[kích cở];

Ví dụ: NhanVien NV[1000]; HangHoa HH[1000];
KhachHang KH[1000];

NhaCungCap NCC[1000];


HoaDonNhap HDN[1000]; HoaDonXuat HDX[1000];

III.3.4.2 Các vấn đề liên quan đến mảng đối tƣợng
 Khởi gán
- Khởi gán giá trị cho các phần tử của mảng đối tƣợng, có thể dùng hàm tạo hay
các phƣơng thức nhập nhƣ sau:
Tên_lớp tên_mảng[kích cở] ={ Tên_lớp( các tham số),…};
Ví dụ : HangHoa HH[1000] = HangHoa(); //khởi gán bởi cấu tử không đối.
 Biểu thị thành phần của phần tử mảng
- Để biểu thị thuộc tính của phần tử mảng đối tƣợng, ta viết nhƣ sau:
Tên_mảng[ chỉ số].Tên_thuộc_tính;
Ví dụ: HH[1].ID; HH[2].tenhh;
- Để thực hiện phƣơng thức đối với phần tử mảng ta có thể viết nhƣ sau:
Tên_mảng[ chỉ số].Tên_phƣơng_thức(danh sách tham số);
Ví dụ: HH[i].nhap();
NCC[i].xuat();
III.4 Các lệnh và vòng lặp(9)
III.4.1 Lệnh If
- Lệnh IF là một trong các lệnh phổ biến và cho phép bạn so sánh lô-gic giữa một
giá trị và những gì bạn mong đợi. Câu lệnh IF có thể có hai kết quả. Kết quả đầu
tiên là nếu so sánh của bạn là True, thứ hai nếu so sánh của bạn là False.

SVTH : Nhóm 5

Trang 23


Quản lý hàng hóa
-


GVHD: Trần Uyên Trang

Cú pháp: if(biểu thức điều kiện)
{
xử lí 1;}
} else {
xử lí 2;
}

- Ví dụ: nếu ID khách hàng trong hóa đơn xuất bằng ID khách hàng trong mảng khách
hàng thì hiển thị tên khách hàng đó.
if(HDX[j].getIDKH()==KH[i].getID())
{
fo6<<"ho va ten khach hang: "<fo6<<"dia chi khach hang: "<};
III.4.2 Lệnh break:
- Thông thƣờng lệnh break dùng để thoát khỏi vòng lặp không xác định điều kiện
dừng hoặc bạn muốn dừng vòng lặp theo điều kiện do bạn chỉ định.
- Việc dùng lệnh break để thoát khỏi vòng lặp thƣờng sử dụng phối hợp với lệnh if.
Lệnh break dùng trong for, while, do…while, switch. Lệnh break thoát khỏi vòng
lặp chứa nó.
Ví dụ:
while(i<=n4)
{
SVTH : Nhóm 5

Trang 24



Quản lý hàng hóa

GVHD: Trần Uyên Trang

if(HDX[j].getIDKH()==KH[i].getID())
{
fo6<<"ho va ten khach hang: "<fo6<<"dia chi khach hang: "<break;
}
else i++;
}
III.4.3 Lệnh switch:
- Cũng giống cấu trúc “if else”, nhƣng nó mềm dẻo hơn và linh động hơn nhiều so
với sử dụng if. Tuy nhiên, nó cũng có mặt hạn chế là kết quả của biểu thức phải là
giá trị hằng nguyên (có giá trị cụ thể). Một bài toán sử dụng lệnh switch thì cũng
có thể sử dụng if, nhƣng ngƣợc lại còn tùy thuộc vào giải thuật của bài toán.
- Cú pháp:
switch(biểu thức nguyên) {
case hằng_1: [lệnh 1;]
case hằng_2: [lệnh 2;]
case hằng_n: [lệnh n;]
default: [lệnh n+1;]
}
Ví dụ: switch(ch)

SVTH : Nhóm 5

Trang 25



×