Tải bản đầy đủ (.docx) (30 trang)

Đề quản lý máy tính (lthđt btl))

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 (281.23 KB, 30 trang )

ĐẠI HỌC MỞ HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN

----------------------

BÁO CÁO BÀI TẬP LỚN
MÔN: KĨ THUẬT LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG.

NHÓM 8
ĐỀ TÀI: QUẢN LÝ KINH DOANH MÁY TÍNH

Hà Nội – 2023

1

PHÂN CÔNG VÀ KẾ HOẠCH THỰC HIỆN

HỌ VÀ TÊN CÔNG VIỆC ĐÁNH GIÁ GHI CHÚ
KẾT QUẢ “Đánh giá kết
Phạm Thị Bích Ngọc
Bùi Minh Hạnh dung làm BTL của từng sinh viên
Phạm Minh Hòa đối với từng thành viên trong nhóm tại cột
Nguyễn Thị Mai Anh
u cầu:
- Mơ tả chi tiết và đầy đủ nội
- Cho điểm đánh giá (0-10)
quả”

2

MỤC LỤC


I. PHÁT BIỂU BÀI TOÁN........................................................4
II. XÁC ĐỊNH SƠ ĐỒ LỚP CỦA BÀI TOÁN...................................5

1. CÁC LỚP ĐƯỢC CÀI ĐẶT........................................................................5
2. QUAN HỆ GIỮA CÁC LỚP.......................................................................7
3. SƠ ĐỒ LỚP..................................................................................................7
4. MƠ TẢ THUẬT TỐN – THAO TÁC.......................................................7

4.1 Lớp NhanSu.................................................................................................8
4.3 Lớp DSNV.................................................................................................10
4.4 Lớp KhachHang.......................................................................................12
4.5 Lớp DSKH.................................................................................................13
4.6 Lớp MayTinh.............................................................................................14
4.7 Lớp HoaDon..............................................................................................15
4.8 Lớp DSHD.................................................................................................17
4.9 Lớp QuanLy...............................................................................................20
4.10 Lớp IquanLy............................................................................................23
5. KIỂM THỬ - LẬP BỘ TEST.....................................................................24
5.1 Lớp HoaDon..............................................................................................24
5.2 Lớp NhanSu...............................................................................................26
5.3 Lớp KhachHang.........................................................................................28

3

I. PHÁT BIỂU BÀI TỐN.
Xây dựng 1 chương trình Java hỗ trợ quản lí thơng tin máy tính của một
cửa hàng máy tính.

 MÁY TÍNH có những thơng tin như sau: Mã máy tính, tên hãng
máy tính, nơi sản xuất, ngày sản xuất, thời gian bảo hành máy tính

theo tháng, đơn giá. Ngày sản xuất bao gồm: ngày, tháng, năm mà
máy tính được lắp ráp.

 Cửa hàng gồm nhiều NHÂN VIÊN khác nhau, mỗi nhân viên gồm
có: mã nhân viên, họ tên, số điện thoại, chức vụ

 KHÁCH HÀNG đến mua cần lưu lại thông tin gồm: mã khách
hàng, địa chỉ.

 Mỗi khách hàng khi mua hàng sẽ có HĨA ĐƠN tương ứng, hóa
đơn được lập vào ngày cụ thể và phải xác định nhân viên lập hóa
đơn, trong mỗi hóa đơn chứa danh sách thơng tin máy tính được
mua bởi khách hàng, mỗi máy tính có thể có số lượng mua khác
nhau và tiền hàng. Mỗi hóa đơn được xác định bởi số hóa đơn.
Mỗi khác hàng có thể mua nhiều máy tính cho một lần. Trong đó
tiền hàng = số lượng * đơn giá.

Yêu cầu bài tốn:
- Nhập và in danh sách hóa đơn được lập.
- Tìm kiếm hóa đơn theo ngày.
- Sắp xếp danh sách hóa đơn theo tiền hàng giảm dần sau đó lưu danh
sách trên vào file “SxHoaDon.dat” và in danh sách đó từ file trên.
- Đếm số hóa đơn được lập trong một ngày bất kì.
- Thêm thơng tin khách hàng.
- Xóa bỏ danh sách hóa đơn.
- Thêm hóa đơn.

4

II. XÁC ĐỊNH SƠ ĐỒ LỚP CỦA BÀI TOÁN


1. CÁC LỚP ĐƯỢC CÀI ĐẶT

 Lớp NhanSu
 Thuộc tính
- hoTen: String
- gioiTinh: String
- sdt: int
 Phương thức
- nhap()
- xuat()
- Getter(), Setter()

 Lớp DSKH
 Thuộc tính
- lstKH: ArrayList<KhachHang>
 Phương thức
- xuat()
- docDS()

 Lớp KHACHHANG
 Thuộc tính
- maKH: String
- diaChi: String
 Phuong thức
- nhapKH()
- xuatKH()

 Lớp NHANVIEN
 Thuộc tính

- chucVu: String
- maNV: String
- heSL: float
- luongCB: float
 Phương thức
- nhapNV()
- xuatNV()

 Lớp DSNV
 Thuộc tính
- lstNV: ArrayList<NhanVien>
 Phuong thức
- nhap()
- xuat()
- luuDS()
5

- docDS()

 Lớp MayTinh
 Thuộc tính
- tenMT: String
- donGia:float
- soLuong: int
 Phương thức
- nhap()
- xuat()
- thanhTien()

 Lớp HoaDon()

 Thuộc tính
- maHD: String
- thoiGian: String
-maNVien: String
- slg: int
- lstMT: ArrayList<MayTinh>
 Phương thức
- nhap()
- xuat()

 Lớp DSHD
 Thuộc tính:
- lstHD: ArrayList<HoaDon>
- lstKH: ArrayList<KhachHang>
 Phương thức
- themHD()
- xuatDSHD()
- xoaDSHD()
- luuDS()
- docDS()
- tongsoHD()
- timkiemHD()
- sapxepGTHD()
- ThemTTKH()
- luuDSKH()

2. QUAN HỆ GIỮA CÁC LỚP
- NhanSu implements QuanLyThongTin
- NhanVien extends NhanSu implements QuanLyThongTin


6

- KhachHang extends NhanSu implements QuanLyThongTin
- MayTinh implements QuanLyThongTin
- HoaDon extends SanPham implements QuanLyThongTin

3. SƠ ĐỒ LỚP

4. MƠ TẢ THUẬT TỐN – THAO TÁC

4.1 Lớp NhanSu
package BaiTapLon_BTL;
import java.io.Serializable;
import java.util.Scanner;
public class NhanSu implemen7ts IQuanLy, Serializable {
private String hoTen, gioiTinh, sdt;
public NhanSu() {

4.2 Lớp NhanVien

package BaiTapLon_BTL;
import java.io.Serializable;
import java.util.Scanner 8
@SuppressWarnings("serial")
public class NhanVien extends BaiTapLon_BTL.NhanSu
implements IQuanLy, Serializable {

4.3 Lớp DSNV

package BaiTapLon_BTL;

import BaiTapLon_BTL.NhanVien;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;9
public class DSNV {
ArrayList<NhanVien>lstNV;

public void luuDS() throws FileNotFoundException, IOException
{

File f = new File("nhanVien.dat");
FileOutputStream fout = new FileOutputStream(f);

ObjectOutputStream ojbout = new
10

ObjectOutputStream(fout);
ojbout.writeObject(lstNV);
ojbout.close();

4.4 Lớp KhachHang

package BaiTapLon_BTL; BaiTapLon_BTL.NhanSu
import java.io.Serializable;
import java.util.Scanner;
public class KhachHang extends
implements IQuanLy, Serializa1b1le {

private String diaChi, maKH;
public KhachHang() {

super();

4.5 Lớp DSKH

package BaiTapLon_BTL;

import java.io.*;

import java.util.ArrayList;

import java.util.Scanner;

public class DSKH { 12

ArrayList<KhachHang> lKH;

public void xuat() {

System.out.print("\nDanh sach khach hang: ");

4.6 Lớp MayTinh

package BaiTapLon_BTL;
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
public class DSKH {

ArrayList<KhachHang> lKH;
public void xuat() {


System.out.print("\nDa1n3h sach khach hang: ");
for (KhachHang kh : lKH) {

kh.xuat();
}

4.7 Lớp HoaDon

package BaiTapLon_BTL;

import java.io.*;

import java.util.ArrayList;

import java.util.Scanner;

import BaiTapLon_BTL.*;

public class HoaDon extends MayTinh implements IQuanLy,

Serializable {

private String thoiGian, maHD, maNVien;

private int slg; 14

MayTinh pc = new MayTinh();

KhachHang kh = new KhachHang();


ArrayList<MayTinh> lstMT;

public void xuat() {
System.out.print("\n

----------------------------------------------------- ");
System.out.printf("\nMa hoa don: %-10s ", maHD);
System.out.printf("\nNgayxuathoadon:%-10s ", thoiGian);
System.out.printf("\nTenkhachhang:%-25s",kh.getHoTen());
System.out.printf("\nManhanvien:%-10s ", maNVien);
System.out.printf("\nTensanpham Dongia Soluong Thanh

tien");
System.out.printf("\n

------------------------------1-5---------------------- ");
for (MayTinh p : lstMT) {
p.xuat();
}

4.8 Lớp DSHD

package BaiTapLon_BTL;
import BaiTapLon_BTL.*;
import java.io.*;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
public class DSHD {


ArrayList<HoaDon> lstHD;
ArrayList<KhachHang> lstKH;
public DSHD() {

lstHD = new ArrayList<HoaDon>();
16

}
public void themHD(HoaDon hd) {

hd.nhap();

public void docDS() throws IOException,
ClassNotFoundException {

File f = new File("hoaDon.dat");
FileInputStream fin = new FileInputStream(f);

ObjectInputStream objin = new
ObjectInputStream(fin);

lstHD = new ArrayList<HoaDon>();
lstHD = (ArrayList) objin.readObject();
objin.close();
fin.close();
}
public int tongSoHD() {
return lstHD.size();17
}

public void timKiemHD(String s) {
for (HoaDon hd : lstHD) {

public void themTTKH() {
lstKH = new ArrayList<KhachHang>();
for (HoaDon hd : lstHD) {
lstKH.add(hd.kh);
}

}
public void luuDSKH() throws

FileNotFoundException, IOException {
File f = new File("khachHang.dat");
FileOutputStream fout = new FileOutputStream(f);
ObjectOutputStream ojbout = new

ObjectOutputStream(fout); 18

ojbout.writeObject(lstKH);
ojbout.close();

4.9 Lớp QuanLy

package BaiTapLon_BTL;

import java.io.IOException;

import java.util.Scanner;


public class QuanLy {

public static void main(String[] args) throws

IOException, ClassNotFoundException, ClassCastException

{ DSHD dsHD = new DSHD();

DSNV dsNV = new DSNV();

DSKH dsKH = new DSKH();

Scanner sc = new Scanner(System.in);

int luaChon1 = 0, luaChon2 = 0;

do { 19
System.out.println("--------------------");

System.out.println("MENU");

System.out.println("1.Quan ly hoa don");


×