Danh mục

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

Số trang: 9      Loại file: doc      Dung lượng: 88.00 KB      Lượt xem: 17      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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.
Nội dung trích xuất từ tài liệu:
BÁO CÁO BÀI TẬP LỚN NGÔN NGỮ LẬP TRÌNH 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 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 cin.getline(ten,'\n'); cout//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; coutvoid 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; 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 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 cout****************HẾT***************

Tài liệu được xem nhiều:

Gợi ý tài liệu liên quan: