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

Báo cáo bài tập lớn cấu trúc dữ liệu và giải thuật – quản lý thu thuế

52 51 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

Tiêu đề Quản Lý Thu Thuế
Trường học Trường Đại Học Khoa Học Tự Nhiên
Chuyên ngành Cấu Trúc Dữ Liệu Và Giải Thuật
Thể loại bài tập lớn
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 52
Dung lượng 1,38 MB

Cấu trúc

  • I. Xác định bài toán (3)
  • II. Đối tượng được quản lý của bài toán gồm (3)
  • III. Xác định thuật toán (4)
    • 1. Danh sách liên kết đơn (4)
      • 1.1. Nhập danh sách (4)
      • 1.2. In danh sách (5)
      • 1.3. Tìm kiếm hóa đơn có mã x (6)
      • 1.4. Sắp xếp (7)
    • 2. Danh sách liên kết đôi (9)
      • 2.2. In danh sách (11)
      • 2.3. Xóa sản phẩm ở cuối danh sách (11)
      • 3.1. Nhập danh sách trên file (12)
      • 3.2. In danh sách (13)
      • 3.3 Xóa phần tử đầu (14)
      • 3.4. Đếm phần tử trong ngăn xếp (15)
      • 3.5 Tìm kiếm (16)
      • 3.6. Đếm phần tử trong ngăn xếp (17)
      • 4.1 Nhập danh sách (19)
      • 4.2 Xuất danh sách (20)
  • IV. Cài đặt chương trình (22)

Nội dung

Báo cáo bài tập lớn Cấu trúc dữ liệu và giải thuật – Quản lý thu thuế Báo cáo bài tập lớn Cấu trúc dữ liệu và giải thuật – Quản lý thu thuế Báo cáo bài tập lớn Cấu trúc dữ liệu và giải thuật – Quản lý thu thuế Báo cáo bài tập lớn Cấu trúc dữ liệu và giải thuật – Quản lý thu thuế Báo cáo bài tập lớn Cấu trúc dữ liệu và giải thuật – Quản lý thu thuế

Xác định bài toán

Bài toán Quản lý thuế giúp nhân viên nắm bắt thông tin khách hàng, mặt hàng và hóa đơn, từ đó nâng cao hiệu quả quản lý hoạt động cửa hàng Ngoài ra, nó còn hỗ trợ nhân viên cửa hàng sách trong việc sắp xếp và thống kê dữ liệu khách hàng một cách hiệu quả.

Đối tượng được quản lý của bài toán gồm

Người đóng thuế, phiếu thu

- Người đóng thuế: mã người đóng thuế, mã thuế, tên công ty, địa chỉ, diện tích, quy mô, người đứng đầu

Phiếu thu là tài liệu quan trọng trong quá trình thu nộp thuế, bao gồm các thông tin như mã phiếu thu, ngày lập, tháng, năm, số tiền cần nộp, số tiền giảm trừ, mã người nộp thuế và họ tên người đóng Số tiền cần đóng được tính bằng tổng tiền trừ đi số tiền giảm trừ.

Xác định thuật toán

Danh sách liên kết đơn

Để thực hiện các chức năng trên ta cần:

 Khai báo cấu trúc dữ liệu

 Khai báo cấu trúc một nút trong danh sách liên kết đơn

 Khai báo danh sách liên kết đơn

 Khởi tạo danh sách rỗng

 Tạo nút mới với thành phần dữ liệu x

Quản lý thu thuế Hà

1.Nhập thông tin: mã người đóng thuế, mã thuế, tên công ty, địa chỉ, diện tích, quy mô, người đứng đầu

2.In danh sách người đóng thuế

3.Lưu DS người đóng thuế vào file

4.Đọc DS người đóng thuế từ file

5.Tìm kiếm người đóng thuế theo mã

6.Sắp xếp theo diện tích

7.Xoá người đóng thuế theo mã

9.Cho danh sách công ty có địa chỉ tại Hà

Để thực hiện việc nộp thuế, bạn cần nhập các thông tin sau: mã phiếu thu, ngày lập, tháng, năm, số tiền cần nộp, số tiền giảm trừ, mã người nộp thuế, và tổng tiền được tính bằng cách lấy số tiền cần nộp trừ đi tiền giảm trừ Cuối cùng, ghi rõ tên người lập phiếu.

Trong bài viết này, chúng ta sẽ tìm hiểu về cách quản lý phiếu thu trong hệ thống Đầu tiên, chúng ta sẽ xem xét cách tạo và lưu danh sách phiếu thu vào file Tiếp theo, chúng ta sẽ tìm hiểu cách đọc danh sách phiếu thu từ file để dễ dàng truy cập Ngoài ra, chúng ta cũng sẽ hướng dẫn cách tìm kiếm phiếu thu theo mã phiếu và cuối cùng là cách sắp xếp phiếu theo số tiền phải đóng theo thứ tự tăng dần.

Thuật toán bắt đầu bằng cách nhập vào một danh sách gồm n phần tử Sau đó, một vòng lặp được thực hiện từ i=1 đến n, trong đó nếu i nhỏ hơn hoặc bằng n, thuật toán sẽ thêm một phần tử mới vào danh sách Khi i vượt quá n, thuật toán sẽ dừng lại.

*Mô tả thuật toán: Duyệt từ đầu đến cuối danh sách Với mỗi lần duyệt, xuất ra màn hình thông tin của khách hàng

1.3 Tìm kiếm hóa đơn có mã x

•Bước 2: Lặp trong khi (p!=NULL) và (p->infor.ma != x) thì p = p -> Next;

•Bước 3: oNếu p != NULL thì p trỏ đến phần tử cần tìm oNgược lại thì không tìm thấy phần tử cần tìm

+ Mô tả thuật toán: Sử dụng 2 con trỏ p, q dể duyệt và so sánh với nhau

 So sánh giá trị của phần tử p và q nếu không đúng trật tự thì hoán đổi giá trị của p và q cho nhau

Vd: Sắp xếp tăng dần, nếu p -> infor.tt > q -> infor.tt (p-> infor.tt , q -> infor.tt); q = q -> next; op = p -> next;

Danh sách liên kết đôi

 Khởi tạo danh sách rỗng

Sai p->infor.tt > q->infor.tt Đúng q = q->next p = p->next

Kết thúc Hoandoi (p->infor.tt,q->infor.tt) q = p -> next

 Tạo nút mới p với thành phần dữ liệu x

 Duyệt từ i=1 đến in thì kết thúc.

+ Mô tả thuật toán: Duyệt từ đầu đến cuối danh sách Với mỗi lần duyệt, xuất ra màn hình thông tin của mỗi sản phẩm.

2.3 Xóa sản phẩm ở cuối danh sách

 Kiểm tra danh sách không rỗng

 Lưu phần tử cuối tạm thời vào p

 Chuyển phần tử cuối tới phần tử bên trái

 Kiểm tra lại danh sách

DQ.Tail = DQ.Tail -> prev DQ.Tail -

3.1.Nhập danh sách trên file

-Khởi tạo danh sách rỗng

-Duyệt từng i=1 cho đến khi i Xóa p

-Kiểm tra: nếu danh sách chỉ có 1 phần tử, khi xóa đi phần tử cuối không còn.

3.4.Đếm phần tử trong ngăn xếp

-Bước 1: khởi tạo biến đếm = 0

-Bước 2: Kiểm tra danh sách còn phần tử và duyệt từ phần tử đầu đến phần tử cuối của danh sách

Nếu p -> Info == k thì tăng biến đếm lên 1 In ra màn hình giá trị biến đếm

VD: Đếm số sách có giá nhỏ hơn x

- Bước 1: p= Q.Head; //p trỏ từ đầu danh sách

-Bước 2: Kiểm tra danh sách còn phần tử và nếu chưa tìm thấy phần tử thì lặp trong khi (p!=NULL) và (p->Info != k) thì p = p -> Next;

- Bước 3: Nếu p != NULL thì p trỏ đến phần tử cần tìm Ngược lại thì không tìm thấy phần tử cần tìm

3.6.Đếm phần tử trong ngăn xếp

-Bước 1: khởi tạo biến đếm = 0

-Bước 2: Kiểm tra danh sách còn phần tử và duyệt từ phần tử đầu đến phần tử cuối của danh sách

Nếu p -> Info == k thì tăng biến đếm lên 1 In ra màn hình giá trị biến đếm

VD: Đếm số sách có giá nhỏ hơn x

4.Hàng đợi: Để thực hiện các chức năng trên ta cần:

•Khai báo cấu trúc dữ liệu

•Khai báo cấu trúc một nút trong h àng đ ợi

•Kiểm tra hàng đợi rỗng

Nhập n danh sách và thông tin của từng khách hàng

Nhập n danh sách và thông tin của từng khách hàng

Cho i chạy từ i=1->n, nếu in thì kết thúc thuật toán.

Nhập n danh sách và thông tin của từng khách hàng

4.3Xoá bớt dữ liệu của danh sách

•Nếu Q.head==NULL thì kết thúc chương trình

•Nếu Q.head khác NULL ta gán p=Q.head; Q.Head=p->next Q.Head->prev=NULL.

4.4Tìm kiếm dữ liệu theo mã sách Mô tả thuật toán

Nếu p-> info masach==k thì in ra thông tin rồi kết thúc Nếu không thì p=p->next rồi lặp lại b2

Cài đặt chương trình

1 Danh sách liên kết đơn (Quản lý người nộp thuế)

#include using namespace std;

//===Quan Ly Nguoi Dong Thue(Danh sach lien ket don)== struct NGUOIDONGTHUE

{ int maNguoiDT; int maThue; char tenCongTy[100]; char diaChi[100]; float dienTich; char quyMo[20]; char nguoiDungDau[50];

//ds lk don struct Node

NGUOIDONGTHUE info; struct Node*next;

//khoi tao ds rong void KhoiTao(List &Q)

//tao nut chua thong tin can bo

Node *pNDT; pNDT=new Node; if(pNDT==NULL)

{ cout

Ngày đăng: 28/11/2023, 08:59

TỪ KHÓA LIÊN QUAN

w