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
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***************
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ìm kiếm theo từ khóa liên quan:
ngôn ngữ C++ lập trình máy tính code lập trình công nghệ thông tin kĩ thuật lập trình quản trị mạng giáo trình công nghệ thông tin ngôn ngữ lập trìnhGợi ý tài liệu liên quan:
-
52 trang 413 1 0
-
24 trang 350 1 0
-
Top 10 mẹo 'đơn giản nhưng hữu ích' trong nhiếp ảnh
11 trang 294 0 0 -
Báo cáo thực tập thực tế: Nghiên cứu và xây dựng website bằng Wordpress
24 trang 287 0 0 -
96 trang 279 0 0
-
74 trang 277 0 0
-
Tài liệu dạy học môn Tin học trong chương trình đào tạo trình độ cao đẳng
348 trang 266 1 0 -
Đồ án tốt nghiệp: Xây dựng ứng dụng di động android quản lý khách hàng cắt tóc
81 trang 263 0 0 -
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 258 0 0 -
EBay - Internet và câu chuyện thần kỳ: Phần 1
143 trang 254 0 0