intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

BÁO CÁO BÀI TẬP LỚN NGÔN NGỮ LẬP TRÌNH

Chia sẻ: Nguyen Thethoi | Ngày: | Loại File: DOC | Số trang:9

635
lượt xem
59
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tạo ra một chương trình phần mềm dạng giống như một cuốn sổ ghi chép để người dùng có thể nhập thông tin, bố sung thông tin , ghi chép lại các hàng hóa đã mua hàng ngày. Ngoài ra , người dùng có thể thống kê danh sách hàng hóa đã nhập theo từng mục đích như thông tin hàng hóa xuất ra được sắp xếp theo tên hàng hóa, theo thời gian nhập hoặc theo giá tiền sản phẩm.

Chủ đề:
Lưu

Nội dung Text: BÁO CÁO BÀI TẬP LỚN NGÔN NGỮ LẬP TRÌNH

  1. BÁO CÁO BÀI TẬP LỚN NGÔN NGỮ LẬP TRÌNH Nhóm sinh viên thực hiện: Họ và tên Lớp SHSV Nguyễn Thế Thơi 20092611 ĐT 11-K54 Trần Nguyên Vũ 20093327 ĐT 9 –K54 Ý tưởng của nhóm : Tạo ra một chương trình phần mềm dạng giống như một cuốn sổ ghi chép để người dùng có thể nhập thông tin, bố sung thông tin , ghi chép lại các hàng hóa đã mua hàng ngày. Ngoài ra , người dùng có thể thống kê danh sách hàng hóa đã nhập theo từng mục đích như thông tin hàng hóa xuất ra được sắp xếp theo tên hàng hóa, theo thời gian nhập hoặc theo giá tiền sản phẩm. Phương án thực hiện : Sử dụng lập trình hướng đối tượng, tạo ra một class hanghoa với các dữ liệu của một hàng hóa (tên, thời gian mua, giá tiền ) và các thao tác đối với nó .Thiết kế cấu trúc dữ liệu dạng danh sách móc nối để lưu thông tin về các hàng hóa đã mua, mỗi phần tử của danh sách là một hàng hóa . Sử dụng thao tác với tệp để lưu và đọc thông tin khi cần . Các thao tác của người dùng sẽ được thiết kế dạng MENU. Các kiến thức được sử dụng trong chương trình : + Kiến thức về đối tượng (dữ liệu , hàm , chế độ riêng tư ,định nghĩa lại toán tử,..) + Cấu trúc dữ liệu (danh sách móc nối) , LIFO, FIFO. + Các thuật toán tìm kiếm, sắp xếp . + Thao tác vào , ra tệp . Từ sự chuẩn bị trên nhóm chúng em tiến hành viết chương trình như sau : Chương trình có 3 đối tượng là: class lich class hanghoa class soghichep
  2. Các lớp quan hệ với nhau thông qua quá trình gửi thông báo , được minh họa bằng sơ đồ sau : Sơ đồ quan hệ giữa các nhóm Chương trình : Tao ra đối tượng “lich” để thể hiện thời gian một cách dễ dàng và hiệu quả. class lich { //lớp ngày tháng năm public: unsigned int d,m,y; public: lich(unsigned int n=0,unsigned int t=0,unsigned int nam=0){ //hàm tạo d=n;m=t;y=nam; } void xuat(){ //hàm xuất thời gian ra màn hình cout
  3. cin.getline(ten,'\n'); cout
  4. //Phần định nghĩa hàm trong class soghichep void soghichep::nhapds() { //hàm nhập thông tin cho danh sách móc nối các hàng hóa PNode A,B; A=new Node; A->value.nhapinfo(); A->next=NULL; H=A; do{ coutvalue.nhapinfo(); A->next=H; H=A; } //Mỗi lần bổ sung sẽ có một phần tử được thêm vào đầu danh sách int soghichep::size() { //hàm lấy số lượng hàng hóa có trong danh sách PNode A=H;; int n=0; while (A!= NULL) { n++; A=A->next;} return n; } //sử dụng thuật toán duyệt danh sách void soghichep::xuatds() { //hàm xuất danh sách ra màn hình PNode A; A=H; cout
  5. void soghichep::sapxepgiatien() { //hàm sắp xếp danh sách theo thứ tự giảm dần của giá //tiền PNode A,B; hanghoa td; for(int i=0;ivalue.giatien < B->value.giatien) { td=A->value; A->value=B->value; B->value=td; }; A=B; }; // sắp xếp theo thứ tự giảm dần }; } void soghichep::sapxepten() { //hàm sắp xếp danh sách theo tên // tương tự như sapxepgiatien() PNode A,B; hanghoa td; for(int i=0;ivalue.ten,B->value.ten)>0) { td=A->value; A->value=B->value; B->value=td; }; A=B; }; //săp xếp theo ABC }; } void soghichep::sapxeptime() { //hàm sắp xếp danh sách theo thời gian trước sau // tương tự như sapxepgiatien() PNode A,B; hanghoa td; for(int i=0;ivalue.time.yvalue.time.y)d=1; else if(A->value.time.y==B->value.time.y) if (A->value.time.mvalue.time.m) d=1;
  6. else if(A->value.time.m==B->value.time.m) if (A->value.time.dvalue.time.d) d=1; if (d==1) { td=A->value; A->value=B->value; B->value=td; }; A=B; }; //hàng hóa nào mua sớm nhất xếp trước }; } void soghichep::muatrongngay(){ //tìm kiếm các hàng hóa mua trong ngày được nhập từ //bàn phím lich ngay;int k=0; PNode A; A=H; cout
  7. if (f.bad()) { //nếu không mở được tệp thì dừng tất cả việc đọc tệp cout value.ten,'\n'); f>>A->value.time.d; f>>ch1>>A->value.time.m; f>>ch2>>A->value.time.y; f>>A->value.giatien; A->next=NULL; H=A; for (int i=1;ivalue.ten,'\n'); f>>B->value.time.d; f>>ch1>>B->value.time.m; f>>ch2>>B->value.time.y; f>>B->value.giatien; A->next=B; B->next=NULL; A=B; } f.close(); cout
  8. cout
  9. ****************HẾT***************
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2