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

Bài tập lớn cấu trúc dữ liệu và giải thuật chủ đề viết trình quản lý thu thuế hà nội

46 1 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 46
Dung lượng 490,01 KB

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 (5)
      • 1.4. Sắp xếp (6)
    • 2. Danh sách liên kết đôi (8)
      • 2.2. In danh sách (9)
      • 2.3. Xóa sản phẩm ở cuối danh sách (9)
    • 3. Ngăn xếp (10)
      • 3.1. Nhập danh sách trên file (10)
      • 3.2. In danh sách (11)
      • 3.3. Xóa phần tử đầu (11)
      • 3.4. Đếm phần tử trong ngăn xếp (12)
      • 3.5. Tìm kiếm (0)
      • 3.6. Đếm phần tử trong ngăn xếp (0)
    • 4. Hàng đợi (0)
      • 4.1. Nhập danh sách (0)
  • IV. Cài đặt chương trình (0)
    • 1. Danh sách liên kết đơn (Quản lý người nộp thuế) (0)
    • 2. Danh sách liên kết đôi (Quản lý phiếu thu) (0)

Nội dung

Đối tượng được quản lý của bài toán gồm:Người đóng thuế, phiếu thu Trong đó:- 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

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

Bài toán Quản lí thuế nhằm hỗ trợ cho nhân viên nắm rõ thông tin khách hàng, mặt hàng, hóa đơn hàng nhằm giúp cho việc quản lý các hoạt động của cửa hàng thuận tiện và nhanh chóng hơn Đồng thời bài toán quản lí bán hàng còn giúp nhân viên của cửa hàng bán sách sắp xếp thống kê khách hàng

Đố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: 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ế, họ tên người đóng, số tiền cần đóng = tổng tiền – số tiền giảm trừ

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à

1.Nhập thông tin: 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ế, tổng tiền=số tiền cần nộp - tiền giảm trừ, người lập 2.In DS phiếu thu

3.Lưu DS phiếu thu vào file 4.Đọc DS phiếu thu từ file 5.Tìm kiếm phiếu theo mã phiếu thu 6.Sắp xếp phiếu theo tiền phải đóng tăng dần

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

* Mô tả thuật toán: o Nhập n danh sách và thông o Cho i chạy từ i=1->n, nếu in thì kết thúc thuật toán.

*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 p = Q.Head;

Lặp trong khi (p != NULL) q = p -> next;

Kết thúc p = Q.Head p = p->next q = q->next q = p -> next

Hoandoi (p->infor.tt.q->infor.tt) p!=Null q!= p->infor.tt > q->infor.tt sai đúng

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;

*Sơ đồ thuật toán: p!=NULL q! =NULL p->infor.tt > q->infor.tt

Hoandoi (p->infor.tt,q->infor.tt) q = q->next p = p->next q = p -> next

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

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

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.

Lưu thông tin cho nút p = getnode(x) i next

In thông tin nút thứ 1 p!=NULL Đúng

DQ.Tail = DQ.Tail -> prev DQ.Tail -> next = NULL

Ngăn xếp

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

Tạo node p p=new mode p=Q.head q.head=q.head->next free(p)

Không thể p!= NULL Đúng xóa

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

Ngày đăng: 04/04/2024, 15:45

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w