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

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

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 (490.01 KB, 46 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC LÂM NGHIỆP</b>

<b>BÀI TẬP LỚN</b>

<b>MÔN: CẤU TRÚC DỮ LIỆU VÀ GIẢI THUẬTCHỦ ĐỀ: VIẾT TRÌNH QUẢN LÝ THU THUẾ HÀ NỘI</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>MỤC LỤC</b>

<b>I.Xác định bài toán...2</b>

<b>II. Đối tượng được quản lý của bài toán gồm:...3</b>

<b>III. Xác định thuật toán...4</b>

<b>1. Danh sách liên kết đơn...4</b>

<b>IV. Cài đặt chương trình...18</b>

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

<b>2.Danh sách liên kết đôi (Quản lý phiếu thu)...29</b>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>I. Xác định bài tốn:</b>

Bài tố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 tố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 .

<b>II. Đối tượng được quản lý của bài tốn gồm:</b>

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 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à Nội

Người đóng thuế

<small>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</small>

<small>2.In danh sách người đóng thuế3.Lưu DS người đóng thuế vào file4.Đọc DS người đóng thuế từ file5.Tìm kiếm người đóng thuế theo mã6.Sắp xếp theo diện tích7.Xố người đóng thuế theo mã8.Thêm người đóng thuế</small>

<small>9.Cho danh sách cơng ty có địa chỉ tại Hà Nội</small>

Phiếu thu

<small>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ập2.In DS phiếu thu </small>

<small>3.Lưu DS phiếu thu vào file4.Đọc DS phiếu thu từ file5.Tìm kiếm phiếu theo mã phiếu thu6.Sắp xếp phiếu theo tiền phải đóng tăng dần</small>

<small>7.Xố phiếu8.Sửa phiếu</small>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>III. Xác định thuật toán1. Danh sách liên kết đơn</b>

Để 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

<b>1.1. Nhập danh sách:</b>

* Mơ tả thuật tốn:

o Nhập n danh sách và thông

o Cho i chạy từ i=1->n, nếu i<= n thì sau mỗi lần duyệt them 1 phần tử vào sau danh sách

o Nếu i>n thì kết thúc thuật tốn. * Sơ đồ thuật toán:

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

<b>1.2. In danh sách:</b>

*Mơ tả thuật tố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

*Sơ đồ thuật tốn:

<b>1.3. Tìm kiếm hóa đơn có mã x</b>

*Mơ tả thuật tốn:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

*Sơ đồ thuật tốn :

<b>1.4. Sắp xếp:</b>

*Mơ tả thuật tốn:

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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

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);

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2. Danh sách liên kết đôi:2.1 .Xử lý nhập:</b>

+ Mơ tả thuật tốn

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 Nhập n sản phẩm

Duyệt từ i=1 đến i<= n. Với mỗi lần duyệt, lưu 1 phần tử vào p. Ngược lại i>n thì kết thúc.

+ Sơ đồ thuật toán:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

<b>2.2. In danh sách:</b>

+ Mơ tả thuật tố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.

+ Sơ đồ thuật tốn:

<b>2.3. Xóa sản phẩm ở cuối danh sách</b>

+ Mơ tả thuật tốn:

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

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

<small>BRt đầu</small>

<small>DQ.Head==NULL</small> <sup>ĐTng</sup> <small>Sai</small>

<small>Kết thTcDQ.Tail = DQ.Tail -> prev DQ.Tail -> next = NULL</small>

+Sơ đồ:

<b>3. Ngăn xếp</b>

<b>3.1. Nhập danh sách trên file</b>

-Khởi tạo danh sách rỗng -Nhập số lượng (n) sách

-Duyệt từng i=1 cho đến khi i<= n. Với mỗi 1 phần tử ta thêm 1 thông tin sách vào sau danh sách

-Nếu i>n, kết thúc

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

-Kiểm tra danh sách không rỗng -Lưu phần tử đầu vào p

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

-Chuyển phần tử đầu tới phần tử bên cạnh -Xóa phần tử đã được lưu trong p -> 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.

<b> 3.4. Đếm phần tử trong ngăn xếp</b>

-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

</div>

×