Đồ án C++ Chủ đề quản lý bán hàng môn Công nghệ thông tin | Trường đại học kinh doanh và công nghệ Hà Nội
Dev-C++ là một công cụ lập trình C++ miễn phí và mã nguồn mởcho hệ điều hành Windows. Nó được phát triển bởi Bloodshed Software
và có thể được sử dụng để phát triển các ứng dụng máy tính và trò chơi. Dev-C++ có giao diện đơn giản và dễ sử dụng, với các tính năng như biên dịch, gỡ lỗi, kiểm tra cú pháp và tạo tệp tin thực thi. Tài liệu giúp bạn tham khảo, ôn tập và đạt kết quả cao. Mời đọc đón xem!
Môn: Công nghệ thông tin (HUBT)
Trường: Đại học Kinh Doanh và Công Nghệ Hà Nội
Thông tin:
Tác giả:
Preview text:
lOMoAR cPSD| 48302938
BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC KINH DOANH VÀ CÔNG NGHỆ HÀ NỘI
----- . . ---- ĐỒ ÁN C++
Chủ đề: Quản lý bán hàng
Sinh viên thực hiện : ………………………..
Mã vinh viên : ……………………………….
Lớp : TH 27.54 PAGE \* MERGEFORMAT 12 lOMoAR cPSD| 48302938 CHƯƠNG 1
TỔNG QUAN VỀ CÔNG CỤ LẬP TRÌNH C++
1 . TỔNG QUAN VỀ CÔNG CỤ LẬP TRÌNH C++ ( DEV -C++)
Dev-C++ là một công cụ lập trình C++ miễn phí và mã nguồn mở cho
hệ điều hành Windows. Nó được phát triển bởi Bloodshed Software và có
thể được sử dụng để phát triển các ứng dụng máy tính và trò chơi.
Dev-C++ có giao diện đơn giản và dễ sử dụng, với các tính năng như
biên dịch, gỡ lỗi, kiểm tra cú pháp và tạo tệp tin thực thi. Nó cũng có tính
năng auto-complete, cho phép người dùng nhanh chóng và dễ dàng hoàn thành mã nguồn.
Dev-C++ hỗ trợ nhiều trình biên dịch C++ như MinGW, GCC và
Visual C++. Nó cũng hỗ trợ nhiều thư viện C++ phổ biến như STL, Boost và wxWidgets.
Một trong những ưu điểm của Dev-C++ là khả năng tùy chỉnh giao
diện và phím tắt cho phù hợp với nhu cầu sử dụng của người dùng. Ngoài
ra, Dev-C++ cũng có khả năng tạo các ứng dụng Windows GUI và tương
thích với các phiên bản Windows khác nhau.
Tuy nhiên, nhược điểm của Dev-C++ là nó không được cập nhật
thường xuyên và hỗ trợ hạn chế cho các tính năng mới nhất của ngôn ngữ
C++. Ngoài ra, Dev-C++ cũng có thể không hoạt động tốt trên các phiên bản Windows mới hơn.
Tóm lại, Dev-C++ là một công cụ lập trình C++ miễn phí và dễ sử
dụng, với các tính năng cơ bản cho phép người dùng phát triển các ứng
dụng máy tính và trò chơi. Tuy nhiên, nếu bạn đang tìm kiếm một công cụ
lập trình C++ nâng cao hơn và được hỗ trợ tốt hơn, có thể nên tìm kiếm các công cụ khác. PAGE \* MERGEFORMAT 12 lOMoAR cPSD| 48302938
2 . CÁC KIẾN THỨC CƠ SỞ CỦA NGÔN NGỮ LẬP TRÌNH C ++
C++ là một ngôn ngữ lập trình đa năng, mạnh mẽ và phổ biến được
sử dụng cho nhiều mục đích khác nhau, từ phát triển ứng dụng máy tính
đến phát triển trò chơi và các hệ thống nhúng. Dưới đây là một số kiến thức cơ sở của C++:
Cú pháp C++: C++ sử dụng cú pháp tương tự như C, với các khai báo
biến, câu lệnh điều khiển và hàm được định nghĩa bằng các dấu
ngoặc nhọn {}. Các dòng lệnh trong C++ kết thúc bằng dấu chấm phẩy ;.
Kiểu dữ liệu: C++ hỗ trợ nhiều kiểu dữ liệu khác nhau, bao gồm số
nguyên, số thực, ký tự và logic. Một số kiểu dữ liệu cơ bản trong C++
bao gồm int, float, char, bool, double.
Biến: Trong C++, biến được sử dụng để lưu trữ giá trị dữ liệu và có thể
được khai báo bằng các từ khóa như int, float, char,... Biến có thể được
khởi tạo giá trị ban đầu hoặc gán giá trị sau đó.
Hàm: C++ cho phép định nghĩa và sử dụng các hàm để thực hiện các tác
vụ cụ thể trong chương trình. Hàm có thể trả về giá trị hoặc không trả
về giá trị. Các hàm có thể được định nghĩa bên trong một lớp, trong đó
các phương thức được sử dụng để thao tác trên các thuộc tính của lớp.
Câu lệnh điều khiển: C++ hỗ trợ các câu lệnh điều khiển như if, else, for,
while, do-while để kiểm soát luồng thực hiện của chương trình. PAGE \* MERGEFORMAT 12 lOMoAR cPSD| 48302938
3 . GIAO DIỆN CỦA DEV-C ++ PAGE \* MERGEFORMAT 12 lOMoAR cPSD| 48302938 PAGE \* MERGEFORMAT 12 lOMoAR cPSD| 48302938 CHƯƠNG 2
THIẾT KẾ CHƯƠNG TRÌNH I. GIỚI THIỆU
Trong đời sống hiện đại, quản lý sản phẩm là một trong những vấn đề quan
trọng trong các trường học, đặc biệt là các trường đại học và cao đẳng. Với sự phát
triển của công nghệ thông tin, việc sử dụng phần mềm quản lý sản phẩm đã trở thành
một phương tiện hữu hiệu giúp cho quản lý sản phẩm trở nên dễ dàng hơn. Trong bài
báo cáo này, chúng tôi xin trình bày chi tiết về các chức năng của phần mềm quản lý
sản phẩm mà chúng tôi đã thực hiện bằng ngôn ngữ lập trình C++.
II. LƯU ĐỒ THUẬT TOÁN
Trước khi trình bày về các chức năng của phần mềm, chúng tôi xin trình bày
lược đồ thuật toán của phần mềm quản lý sản phẩm như sau:
Khởi động chương trình
Hiển thị menu chức năng
Người dùng chọn chức năng
Thực hiện chức năng được chọn
Quay lại menu chức năng hoặc PAGE \* MERGEFORMAT 12 thoát chương trìn h Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938
III. CHI TIẾT CHỨC NĂNG * Thêm sản phẩm
Chức năng thêm sản phẩm cho phép người dùng thêm thông tin của một sản phẩm
vào hệ thống. Khi thêm sinh viên, người dùng cần cung cấp thông tin như họ và tên,
ngày tháng năm sinh, giới tính, lớp học, số điện thoại và email. Sau khi nhập thông
tin, phần mềm sẽ lưu trữ thông tin của sản phẩm trong cơ sở dữ liệu. * Sửa sản phẩm
Chức năng sửa sản phẩm cho phép người dùng sửa thông tin của một sản phẩm đã
có trong hệ thống. Người dùng cần chọn sản phẩm cần sửa, sau đó cung cấp thông
tin mới của sản phẩm đó. Sau khi sửa thông tin, phần mềm sẽ cập nhật lại thông tin
của sản phẩm trong cơ sở dữ liệu. * Xóa sản phảm
Chức năng xóa sản phẩm cho phép người dùng xóa thông tin của một sản phẩm
trong hệ thống. Người dùng cần chọn sản phẩm cần xóa, sau đó xác nhận việc xóa.
Sau khi xóa, phần mềm sẽ xóa thông tin của sản phẩm đó khỏi cơ sở dữ liệu. IV. ANH MINH HỌA PAGE \* MERGEFORMAT 12
Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938 PAGE \* MERGEFORMAT 12 Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938
V. MỘT SỐ ĐOẠN CODE TRONG BÀI #include #include #include using namespace std; class SanPham { private: string m_TenSanPham; string m_ChungLoai; float m_GiaThanh; public:
SanPham(string TenSanPham, string ChungLoai, float GiaThanh)
: m_TenSanPham(TenSanPham), m_ChungLoai(ChungLoai), m_GiaThanh(GiaThanh) {}
string getTenSanPham() const { return m_TenSanPham; }
string getChungLoai() const { return m_ChungLoai; }
float getGiaThanh() const { return m_GiaThanh; }
void setTenSanPham(string TenSanPham) { m_TenSanPham =
TenSanPham; } void setChungLoai(string ChungLoai) {
m_ChungLoai = ChungLoai; } void setGiaThanh(float GiaThanh) { m_GiaThanh = GiaThanh; } } ; PAGE \* MERGEFORMAT 12
Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938 class QuanLySanPham { public:
void themSanPham(SanPham sv) {
m_danhSachSanPham.push_back(sv); }
void suaSanPham(int index, SanPham sv) {
m_danhSachSanPham[index] = sv; } void xoaSanPham(int index) {
m_danhSachSanPham.erase(m_danhSachSanPham.begin() + index); }
void inDanhSachSanPham() const { cout <<
"Danh sach san pham:\n"; for (int i = 0; i <
m_danhSachSanPham.size(); ++i) { cout << " "
<< i + 1 << ". " <<
m_danhSachSanPham[i].getTenSanPham() << " - "
<< m_danhSachSanPham[i].getChungLoai() << " - " <<
m_danhSachSanPham[i].getGiaThanh() << endl; } } int soLuongSanPham() const {
return m_danhSachSanPham.size(); }
void themSanPhamTuBanPhim() { string TenSanPham, ChungLoai; float GiaThanh; PAGE \* MERGEFORMAT 12 Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938
cout << "Nhap ten san pham: "; cin.ignore(); getline(cin, TenSanPham);
cout << "Nhap chung loai san pham: "; getline(cin, ChungLoai);
cout << "Nhap gia san pham: "; cin >> GiaThanh;
SanPham sv(TenSanPham, ChungLoai, GiaThanh); themSanPham(sv); } private: vector m_danhSachSanPham; } ; int main() {
QuanLySanPham qlsv; qlsv.themSanPham(SanPham("Chuoi",
"Trai cay", 80000)); qlsv.themSanPham(SanPham("thit ga",
"Thit gia cam", 175000)); int choice = 0; while (choice != 4) { cout <<
"********************************************************\n";
cout << "************QUAN LY BAN HANG ***********\n";
cout << "*** 1. Them san pham ***\n";
cout << "*** 2. Sua thong tin san pham ***\n"; PAGE \* MERGEFORMAT 12
Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938
cout << "*** 3. Xoa san pham ***\n"; cout
<< "*** 4. Thoat ***\n"; cout <<
"********************************************************\n";
cout << " Nhap lua chon: "; cin >> choice; switch (choice) { case 1: qlsv.themSanPhamTuBanPhim(); break; case 2: { int index; cout
<< "Nhap vi tri san pham can sua: "; cin >> index;
if (index < 1 || index > qlsv.soLuongSanPham()) {
cout << "Vi tri khong hop le!\n"; break; }
string TenSanPham, ChungLoai; float GiaThanh;
cout << "Nhap thong tin moi cho san pham:\n"; PAGE \* MERGEFORMAT 12 Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938
cout << "Nhap ten san pham: "; cin.ignore(); getline(cin, TenSanPham);
cout << "Nhap chung loai san pham: "; getline(cin, ChungLoai);
cout << "Nhap gia san pham: "; cin >> GiaThanh;
qlsv.suaSanPham(index - 1, SanPham(TenSanPham, ChungLoai, GiaThanh)); break; } case 3: { int index; cout
<< "Nhap vi tri san pham can xoa: "; cin >> index;
if (index < 1 || index > qlsv.soLuongSanPham()) {
cout << "Vi tri khong hop le!\n"; break; } qlsv.xoaSanPham(index - 1); break; PAGE \* MERGEFORMAT 12
Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938 } case 4: cout << "Tam biet!\n"; break; default:
cout << "Lua chon khong hop le!\n"; break; } qlsv.inDanhSachSanPham(); } return 0; } PAGE \* MERGEFORMAT 12 Downloaded by Tran Anh (anhtran1406@gmail.com) lOMoAR cPSD| 48302938 CHƯƠNG 3 KẾT LUẬN
- Sau khi học xong em đã được hiểu biết thêm về lập trình C++ và bắt
đầu thấy thích thú trong bộ môn này.
- Em đã có những kinh nghiệm bước đầu cho việc làm bai đồ án. Đó là
em biết sử dụng công cụ lập trình, các cấu trúc, cú pháp, kiểu dữ liệu,
biến,… của ngôn ngữ C++
- Ngoài ra em cũng hiểu hơn về khái niệm danh sách, vòng lặp.
- Trong phần trình bài code thì vẫn còn khác rắc rối và khó hiểu cho người xem. PAGE \* MERGEFORMAT 12
Downloaded by Tran Anh (anhtran1406@gmail.com)