1. Trang chủ
  2. » Luận Văn - Báo Cáo

Đồ Án Quản Lý Bán Hàng bằng C++

38 7,6K 60

Đ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 38
Dung lượng 1,68 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đồ án quản lý bán hàng viết bằng ngôn ngữ C++ Các chức năng chính: + Phía khách hàng :thêm, xóa, sửa, tìm kiếm một khách hàng cụ thể theo điều kiện cho trước + Phía Nhà quản lý: thêm xóa hoặc sửa 1 sản phẩm được viết bằng mảng

Trang 1

ĐỒ ÁN CƠ SỞ NGÀNH KHOA HỌC MÁY TÍNH

Trang 2

MỤC LỤC

PHẦN MỞ ĐẦU: 3

1 LÝ DO CHỌN ĐỀ TÀI 3

2 MỤC TIÊU ĐỀ TÀI 3

3 PHẠM VI NGHIÊN CỨU 3

4 PHƯƠNG PHÁP NGHIÊN CỨU 3

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4

1.1 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C/C++ 4

1.1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ C++ 5

1.2.1 CÁC KIỂU DỮ LIỆU CƠ SỞ 5

1.2.2 CÁC CẤU TRÚC ĐIỀU KHIỂN 6

1.2.3 HÀM 9

1.2.4 MẢNG 9

1.2.5 KIỂU DỮ LIỆU TỰ ĐỊNH NGHĨA STRUCT 10

1.2.6 KIỂU DỮ LIỆU TỆP (FILE) 10

1.3 MÔ TẢ BÀI TOÁN BÁN HÀNG: 10

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG CHƯƠNG TRÌNH 11

2.1 GIỚI THIỆU THUẬT TOÁN 11

2.2 CÁC MODUL CHÍNH TRONG CHƯƠNG TRÌNH 12

2.2.1 SƠ ĐỒ TỔNG QUÁT 12

2.2.2 CÁC THUẬT TOÁN 12

2.2.3 MỘT SỐ MODUL CHÍNH CỦA CHƯƠNG TRÌNH 14

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH 19

3.1 TỔNG THỂ CHƯƠNG TRÌNH 19

3.1.1 CÁC HÀM KHAI BÁO 19

3.1.2 HÀM MAIN 19

3.1.3 MỘT SỐ HÀM CHÍNH 20

3.2 MỘT SỐ HÌNH ẢNH KHI CHẠY CHƯƠNG TRÌNH (demo) 27

3.2.1 GIAO DIỆN CHƯƠNG TRÌNH: 27

3.2.2 QUẢN LÝ SẢN PHẨM– TẠO MỚI FILE: 27

3.2.3 QUẢN LÝ SẢN PHẨM – IN DỮ LIỆU TỪ FILE: 28

3.2.4 QUẢN LÝ SẢN PHẨM – XÓA SẢN PHẨM 28

3.2.5 QUẢN LÝ SẢN PHẨM– THÊM SẢN PHẨM: 29

3.2.6 QUẢN LÝ SẢN PHẨM-TÌM KIẾM SẢN PHẨM: 29

3.2.7 QUẢN LÝ KHÁCH HÀNG –TẠỌ FILE MỚI: 30

3.2.7 QUẢN LÝ KHÁCH HÀNG- IN DỮ LIỆU TỪ FILE: 30

3.2.8 QUẢN LÝ KHÁCH HÀNG – THÊM DANH SÁCH KHÁCH HÀNG: 31

3.2.10 QUẢN LÝ KHÁCH HÀNG – XÓA KHÁCH HÀNG: 31

3.2.11 QUẢN LÝ KHÁCH HÀNG- TÌM KIẾM KHÁCH HÀNG: 32

3.2.12 QUẢN LÝ HÓA ĐƠN- NHẬP HÓA ĐƠN: 32

3.2.13 QUẢN LÝ HÓA ĐƠN- IN HÓA ĐƠN: 33

TÀI LIỆU THAM KHẢO 35

Trang 3

PHẦN MỞ ĐẦU:

1 LÝ DO CHỌN ĐỀ TÀI

Hiện nay, công nghệ thông tin đang phát triển nhanh chóng và ngày càng được ứng dụngrộng rãi vào cuộc sống của con người Cũng như trên thế giới, Việt Nam là một nước đangphát triển và công nghệ thông tin cũng đang phát triển nhanh chóng thì việc đầu tư cho côngcuộc phát triển, nghiên cứu và ứng dụng công nghệ thông tin là rất quan trọng

Một trong số ứng dụng của công nghệ thông tin là vào lĩnh vực quản lý Hiện nay, côngnghệ thông tin (CNTT) đang hiện diện và đóng vai trò quan trọng không thể thiếu trong quátrình quản trị, điều hành các hoạt động sản xuất kinh doanh của mỗi cửa hàng Sự phát triển vàứng dụng của Internet đã làm thay đổi mô hình và cách thức hoạt động kinh doanh của cửahàng, việc chuyển dần các giao dịch truyền thống sang giao dịch điện tử đã ảnh hưởng đến vịtrí, vai trò và cả nhu cầu của các bên hữu quan ( sản phẩm,khách hàng,…) của cửa hàng

Vì vậy mà em chọn đề tài “Xây dựng chương trình quản lý bán hàng bằng ngôn ngữ C/C++”làm đề tài nghiên cứu

2 MỤC TIÊU ĐỀ TÀI

Xây dựng một chương trình quản lý bán hàng bằng ngôn ngữ lập trình C/C++ đơn giản,

dễ sử dụng cho người quản lý

Giải quyết các vấn đề: quản lý bán hàng trong một năm học, số tính chỉ đăng ký, số điểmđạt được, môn học, nhập liệu, tìm kiếm và sửa thông tin…

3 PHẠM VI NGHIÊN CỨU

Nghiên cứu, phân tích và xây dựng hệ thống quản lý bán hàng

4 PHƯƠNG PHÁP NGHIÊN CỨU

Thực hiện đề tài này, em đã ứng dụng các kiến thức đã học về lập trình, tham khảo một

số tài liệu về ngôn ngữ C/C++

Tham khảo, nghiên cứu việc quản lý bán hàng trong cửa hàng để xây dựng phần mềmthích hợp

Trang 4

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1 GIỚI THIỆU NGÔN NGỮ LẬP TRÌNH C/C++

Ngôn ngữ lập trình C do Brain W.Kernighan và Dennis Ritchie phát minh vào năm

1972 tại phòng thí nghiệm Bell Telephone với mục đích tạo ngôn ngữ để viết hệ điều hànhUNIX, nhưng do tính ưu việt cũng như tính mềm dẻo của nó, cho nên giới tin học nhanh chóngchấp nhận như một ngôn ngữ nhà nghề

Năm 1978, bản in đầu tiên được in thành sách, đó là cuốn “The C ProgrammingLanguage” do chính hai tác giả của ngôn ngữ biên soạn Viện chuẩn quốc gia Mỹ ANSI(American National Standard Institute) công bố chuẩn ngôn ngữ C vào năm 1983 với tên

 Nhóm một là các kiểu dữ liệu mới, các dòng dữ liệu mới, các hàm mới làm chongôn ngữ mạnh mẽ hơn va dễ lập trình hơn

 Nhóm hai là các khái niệm lớp, đối tượng va những khái niệm liên quan tạo cơ

sở cho lập trình hướng đối tượng và làm cho C++ trở thành ngôn ngữ lập trìnhhướng đối tượng

1.1 MỘT SỐ KIẾN THỨC CƠ BẢN VỀ C++

1.2.1 CÁC KIỂU DỮ LIỆU CƠ SỞ

1.2.1.1 KIỂU KÝ TỰ

Ký tự là một chữ cái, chữ số hoặc ký tự đặc biệt và được định nghĩa bằng từ khoá char.

Một ký tự chiếm 1 byte, biểu diễn 1 ký tự trong bảng mã ASCII (American StandardCode for Information Interchangre) và nằm cặp nháy đơn

Bảng mã của một số ký tự biễu diễn được:

Trang 5

Một số dữ liệu kiểu số nguyên:

Trang 6

1.2.2 CÁC CẤU TRÚC ĐIỀU KHIỂN

1.2.2.1 Cấu trúc rẽ nhánh

 Cấu trúc if

Trang 7

1.2.2.2 Các lệnh vòng lặp

 Vòng lặp for

Cú pháp:

 Lệnh while

Biểu thức

Lệnh

TRUE FALSE

Lệnh

Biểu thức

TRUE

Trang 8

1.2.3 HÀM

Cú pháp:

[kiểu trả về | void] < Tên hàm([danh_sách_tham_số_hình_thức])>

< { [khai báo biến cục bộ]

Các phần tử của mảng nằm trong các ô nhớ liên tục nhau, địa chỉ thấp nhất của ô nhớtương ứng với phần tử thú nhất và địa chỉ cao nhất của ô nhớ tương ứng với phần tử cuối cùng

Số phần tử của mảng được xác định ngay khi khai báo mảng Mỗi phần tử của mảng được truycập trực tiếp thông qua tên mảng và chỉ số của nó

Có nhiều loại mảng, mảng một chiều (vecto), mảng 2 chiều (ma trận), mảng nhiềuchiều

Trang 9

1.2.5 KIỂU DỮ LIỆU TỰ ĐỊNH NGHĨA STRUCT

struct kiểu_struct{

kiểu_đã_có_1: danh sách các trường cùng kểu;

kiểu_đã_có_2: danh sách các trường cùng kểu;

kiểu_đã_có_n: danh sách các trường cùng kểu;

Tệp nhị phân là tệp mà các phần tử của nó chỉ biểu diễn một kiểu dữ liệu Một tệp tin

dù được xây dựng bằng cách nào thì bản chất của nó cũng chỉ là dãy các byte (0 255) ghi trenđĩa, với cách quan niệm này người ta gọi là tệp nhị phân

Một số thao tác trên tệp:

 Khai báo con trỏ file: fstream f;

 Mở file để ghi: f.open(tên_tệp, ios::out | ios::binary);

Ghi file: f.write((char*) & x, sizeof(x));

 Mở file để đọc: f.open(ten_tệp, ios::in | ios::binary);

 Đóng file: f.close();

1.3 Mô tả bài toán bán hàng:

Trong cửa hàng sẽ có nhiều sản phẩm với đơn vị tính và đơn giá khác nhau, để tránhnhầm lẫn chúng ta gán mã sản phẩm cho từng sản phẩm (mã sản phẩm không trùngnhau) Khi khách hàng vào mua hàng cần có thông tin về tên khách hàng, địa chỉ loạisản phẩm cần mua, số lượng mua Từ đó tính hóa đơn, trong hóa đơn ta tính thành tiềnbằng việc dựa vào mã sản phẩm (khi nhập mã sản phẩm và số lượng chương trình sẽ tựhiểu đơn giá và tính thành tiền bằng công thức đơn giá nhân với số lượng) Qua chươngtrình có thể thực hiện thao tác tìm kiếm thông tin khách hàng theo mã khách hàng, tìmkiếm thông tin sản phẩm theo mã sản phẩm, cũng như vậy xóa , thêm : sản phẩm haykhách hàng thông qua mã của nó

Trang 10

CHƯƠNG 2: PHÂN TÍCH XÂY DỰNG CHƯƠNG TRÌNH

2.1GIỚI THIỆU THUẬT TOÁN

Chương trình quản lý bán hàng quản lý các vấn đề:

 Quản lý thông tin khách hàng và sản phẩm

 Hóa Đơn bán hàng

Mỗi mục là một mảng struct quản lý các vấn đề cụ thể:

 Quản lý thông tin khách hàng:

 Quản lý thông tin khách hàng thực hiện các công việc

Hỏi người dùng nhập thông tin từ file hay tạo mới file

 Nhập thông tin khách hàng

 In danh sách khách hàng

 Tìm khách hàng (qua mã khách hàng)

 Sửa thông tin, thêm ,xoá khách hàng nào đó

 Quản lý thông tin sản phẩm thực hiện các công việc

Hỏi người dùng nhập thông tin từ file hay tạo mới file

 Quản lý hóa đơn

 Hỏi người dùng nhập thông tin từ file hay tạo mới file

 In hóa đơn

2.2CÁC MODUL CHÍNH TRONG CHƯƠNG TRÌNH

Trang 11

2.2.2.2 Hàm nhập khách hàng

B1: Khởi tạo gán cho i=0,nB2: Kiểm tra i<n , nếu i<n thì sang B3, ngược lại sang B4B3: Nhập thông tin khách hàng

B4: Kết thúc

NHẬP HÓA ĐƠN

IN HÓA ĐƠN

IN HÓA ĐƠN

Trang 12

B1: Khởi tạo gán cho i=0,n B2: Kiểm tra i<n , nếu i<n thì sang B3,ngược lại sang B4

B3: Nhập thông tin khách hàngB4: Kết thúc

2.2.2.4 Hàm tìm kiếm khách hàng( theo mã khách hàng)

B1: Nhập mã khách hàngB2: Khởi tạo gán cho i=0,nB3: Kiểm tra i<n thì sang B4, ngược lại sang B5B4: In thông tin khách hàng

B5: Kết thúc 2.2.2.5 Hàm nhập sản phẩm

B1: Khởi tạo gán cho i=0,nB2: Kiểm tra i<n , nếu i<n thì sang B3, ngược lại sang B4B3: Nhập thông tin sản phẩm

B4: Kết thúc 2.2.2.6 Hàm tìm mã sản phẩm

B1: Nhập mã sản phẩmB2: Khởi tạo gán cho i=0,nB3: Kiểm tra i<n thì sang B4, ngược lại sang B5B4: In thông tin sản phẩm

B5: Kết thúc 2.2.2.7 Hàm nhập hóa đơn

B1: Khởi tạo gán cho i=0,nB2: Kiểm tra i<n , nếu i<n thì sang B3, ngược lại sang B4B3: Nhập thông hóa đơn

B4: Kết thúc

2.2.3 MỘT SỐ MODUL CHÍNH CỦA CHƯƠNG TRÌNH

Trang 13

2.2.3.1 Hàm tạo/ nhập dữ liệu từ file

NHẬP TÊN FILE

END

BEGIN

i=0; n

NHẬP MKH, TÊN KH, ĐỊA CHỈ,

i<n

i++

END TRUE

FLASE

Trang 14

i=0; n

IN THÔNG TIN KH i<n

i++

END TRUE

FLASE

Trang 15

2.2.3.4 Hàm tìm kiếm khách hàng (theo mã khách hàng)

BEGIN

END

NHẬP MÃ KH

TRUE

TRUE

i++

FALSE

Trang 16

TRUE

i++

FALSE

Trang 17

i=0; n

NHập THÔNG TIN HÓA ĐƠN i<n

i++

END TRUE

FLASE

Trang 18

CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH

}

3.1.3 Một số hàm chính

Trang 19

cout<<"\nNHAP TEN KHACH HANG THU "<<i+1<<" : ";

Trang 20

void NhapDanhSachKhachHang(int &soLuongKhachHang,KhachHang *a)

cout<<"\nNHAP TEN KHACH HANG THU "<<i+1<<" : ";

void NhapDanhSachHoaDon(int &soLuongHoaDon,HoaDon *c,int soLuongKhachHang,KhachHang

*a,int soSanPham,SanPham *b,int &x)

Trang 21

cout<<"\nKHACH HANG MUON MUA THEM SAN PHAM THI NHAN <1>\n";

cout<<"\nKHACH HANG KHONG MUON MUA SAN PHAM NUA THI NHAN <2>\n"; cin>>ch;

Trang 22

+Xóa sản phẩm bằng việc người dùng nhập mã sản phẩm:

- Cho biến đếm d=0, vòng lặp I chạy từ 0  soLuongSP-1

- Nếu istrcmp(a[i].maSP,x)==0 thì in ra sản phẩm cần tìm

- Ngược lại d++

- Nếu d bằng số lượng sản phẩm thì in ra mã sản phẩm không tồn tại

Trang 23

KiemTraMaSanPhamTonTai_1(a[i].maSP,soSanPham,b));

XoaSanPham(ViTriMaSanPhamTonTai(a[i].maSP,soSanPham,b),soSanPham,b); }

}

+ Hàm tìm kiếm sản phẩm theo mã sản phẩm:

- Tìm kiếm sản phẩm bằng việc người dùng nhập mã sản phẩm

- Cho biến đếm i=0, vòng lặp i chạy từ 0  soLuongSP

- Nếu strcmp(a[i].maSP,x)==0 thì in ra thông tin sản phẩm cần tìm, ngược lại biến đếm tăng lên 1 (d++)

- Nếu d=soLuongSP thì in ra “Ma san pham khong ton tai”

Trang 25

cout<<"\nNhap maSP thu "<<n+1<<" : ";

fflush(stdin);

gets(a[n].maSP);

cout<<"\nNhap tenSP thu "<<n+1<<" : ";

fflush(stdin);gets(a[n].tenSP);

cout<<"\nNhap soluong SP thu "<<n+1<<" : ";cin>>a[n].soLuong;

cout<<"\nNhap donGia SP thu "<<n+1<<" : ";cin>>a[n].donGia;

cout<<"\nNhap donvitinh SP thu "<<n+1<<" : ";

3.2 MỘT SỐ HÌNH ẢNH KHI CHẠY CHƯƠNG TRÌNH (demo)

3.2.1 Giao diện chương trình:

Trang 27

3.2.2 Quản lý sản phẩm– tạo mới file:

Trang 29

3.2.3 Quản lý sản phẩm – in dữ liệu từ file:

3.2.4 Qu n lý s n ph m – xóa s n ph m ản lý sản phẩm – xóa sản phẩm ản lý sản phẩm – xóa sản phẩm ẩm – xóa sản phẩm ản lý sản phẩm – xóa sản phẩm ẩm – xóa sản phẩm

Trang 30

3.2.5 Quản lý sản phẩm– thêm sản phẩm:

3.2.6 Quản lý sản phẩm-tìm kiếm sản phẩm:

Trang 31

3.2.7Quản lý khách hàng –tạọ file mới:

3.2.7 Quản lý khách hàng- in dữ liệu từ file:

Trang 32

3.2.8 Quản lý khách hàng – thêm danh sách khách hàng:

3.2.10 Quản lý khách hàng – xóa khách hàng:

Trang 33

3.2.11 Quản lý khách hàng- tìm kiếm khách hàng:

3.2.12 Quản lý hóa đơn- nhập hóa đơn:

Trang 34

3.2.13 Quản lý hóa đơn- in hóa đơn:

Trang 35

PHẦN KẾT LUẬN

1 CÁC KẾT QUẢ ĐẠT ĐƯỢC

Đã hoàn thiện được yêu cầu cơ bản của chương trình quản lý bán hàng

2 ƯU VÀ NHƯỢC ĐIỂM CỦA ĐỀ TÀI

+Ưu điểm:

- Giao diện dễ sử dụng, dễ thao tác

- Giải quyết được vấn đề quản lý bán hàng

- Hỗ trợ các nhiệm vụ chính trong quản lý bán hàng ở cửa hàng: nhập hàng, bán hàng

và xuất hàng

- Cung cấp chức năng hỗ trợ nhân viên và khách hàng tìm kiếm thông tin sản phẩm vàtìm kiếm thông tin khách hàng

+Nhược điểm:

Chương trình còn thiếu sót như:

-Tìm kiếm hóa đơn, xóa hóa đơn, cập nhật hóa đơn

- Giao diện chưa được bắt mắt

Trang 36

TÀI LIỆU THAM KHẢO

[1] Ths Nguyễn Thị Bảo Trang, Bài giảng Lập trình cơ sở - Lưu hành nội bộ

[2] TS Phạm Anh Phương, Lập trình cơ sở- Nhà xuất bản Thông Tin

[3] GS Phạm Văn Ất, Kỹ thuật lập trình C cơ sở và nâng cao, NXB KH&KT- 1999

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN

Trang 37

NHẬN XÉT CỦA GIẢNG VIÊN PHẢN BIỆN

Trang 38

Ngày đăng: 27/01/2016, 14:53

TỪ KHÓA LIÊN QUAN

w