TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN ---***---BÁO CÁO BÀI TẬP LỚN HỌC PHẦN “LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG” Đề tài: Xây dựng lớp LinkList để lưu trữ danh sách liên kết
Trang 1TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN
-*** -BÁO CÁO BÀI TẬP LỚN HỌC PHẦN “LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG”
Đề tài:
Xây dựng lớp LinkList để lưu trữ danh sách liên kết đơn chứa dữ liệu là các số nguyên Lớp LinkList có các phương thức: khởi tạo, thêm, bớt phần tử, sắp xếp, tìm kiếm phần tử.
Sinh viên thực hiện: Trương Minh Tuấn (Nhóm 19)
Hải Phòng, 25 tháng 12 năm 2015
Trang 2TRƯỜNG ĐẠI HỌC HÀNG HẢI VIỆT NAM KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN KHOA HỌC MÁY TÍNH
-*** -BÀI TẬP LỚN HỌC PHẦN: LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG
Mã đề tài: 02
1 Tên đề tài
Xây dựng lớp LinkList để lưu trữ danh sách liên kết đơn chứa dữ liệu là các
số nguyên Lớp LinkList có các phương thức: khởi tạo, thêm, bớt phần tử, sắp xếp, tìm kiếm phần tử.Mục đích:
2 Mục đích
- Củng cố kiến thức lập trình hướng đối tượng trên C++
- Tăng cường khả năng thực hành của SV
- Làm quen với việc viết báo cáo, trình bày báo cáo, thuyết trình.
3 Yêu cầu:
- Mỗi SV chọn 01 bài tập lớn (BTL)
- BTL phải nộp và trước 1-2 tuần cuối cùng
- Mỗi SV phải nộp BTL gồm: file tài liệu về BTL (thuật toán, phân tích thiết kế chương trình, …) và chương trình.
Tài liệu tham khảo
Phạm Văn Ất-Ths.Nguyễn Hiếu Cường, Ths.Đỗ Văn Tuấn-Lê Trường Thông C++&Lập Trình hướng đối tượng
Hải Phòng, ngày 25 tháng 12 năm 2015
NGƯỜI HƯỚNG DẪN
MỤC LỤC
DANH MỤC CÁC HÌNH VẼ, BẢNG ỂU Error! Bookmark not defined DANH MỤC CÁC TỪ VIẾT TẮT Error! Bookmark not defined.
Trang 3GIỚI THIỆU Error! Bookmark not defined.
Khai báo thuộc tính, sử dụng phương thức khởi tao, khai báo các hàm thành phần public, viết chương trình chính, chạy chương trình Error! Bookmark not
defined.
Su dung ki thuat xay dung lop de viet chuong trinh Error! Bookmark
not defined.
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
class LinkList
{int a[100], spt, t, X, vitri; /*khai báo các thành phần dl private*/ public: /Định nghĩa hàm thành phần bên trong khai báo lớp*/ LinkList(){spt=100;t=0;X=0;vitri=0;}; /khởi tạo với các giá trị đầu void nhap();void in();void sapxeptang();void them();void bot(); void timkiem();void sapxepgiam();
}; /*Định nghĩa hàm thành phần bên ngoài khai báo lớp*/
void LinkList::nhap()
{cout<<"nhap so phan tu ";
cin>>spt;
for (int i=0;i<spt;i++)
{
Trang 4cout<<"\Nhap phan tu thu "<<i+1<<" "; cin>>a[i]; }
}
void LinkList::sapxeptang()
{
for (int i = 0; i < spt - 1; i++) {
for (int j = i + 1; j < spt; j++)
{
if (a[i] > a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
} }
cout<<"\n";
for (int j=0; j<spt; j++){
cout<<a[j]<<" ";}
}
void LinkList::sapxepgiam()
{
for (int i = 0; i < spt - 1; i++) {
Trang 5for (int j = i + 1; j < spt; j++)
{
if (a[i] < a[j])
{
t = a[i];
a[i] = a[j];
a[j] = t;
}
} }cout<<"\n";
for (int j=0; j<spt; j++){
cout<<a[j]<<" ";}
}
void LinkList::in()
{cout<<"day so cua ban \n";
for (int j=0; j<spt; j++){
cout<<a[j]<<" ";}
}
void LinkList::them()
{cout<<"\n";
cout<<"nhap phan tu moi = ";cin>>X; cout<<"nhap vi tri thu ";cin>>vitri;
for (int i = spt; i >vitri ; i )
Trang 6a[i] = a[i-1] ;
a[vitri] = X;
spt++;
for (int j=0; j<spt; j++){
cout<<a[j]<<" ";}
}
void LinkList::bot()
{cout<<"\n";
cout<<"nhap vi tri thu"<<" ";cin>>vitri; for (int i = vitri-1; i <spt-1 ; i++)
a[i] = a[i+1];
spt ;
for (int j=0; j<spt; j++){
cout<<a[j]<<" ";}
void LinkList::timkiem()
{
cout<<"nhap x ";cin>>X;
for(int i = 0; i<spt ; i++)
{if(a[i]==X)
cout<<"X nam o vitri "<<i+1;
}
}
main()
Trang 7int k;
tt:
LinkList L; /*goi hàm thành phần từ đói tượng*/ L.nhap();L.in();
printf("\nsap xep tang? C/K?");
k=getch();
if(k == 'c'||k=='C')
L.sapxeptang();
printf("\nsap xep giam? C/K?");
k=getch();
if(k == 'c'||k=='C')
L.sapxepgiam();
printf("co them pt khong, c/k? ");
k=getch();
if(k == 'c'||k=='C')
L.them();
printf("co bot pt khong, c/k? ");
k=getch();
if(k == 'c'||k=='C')
L.bot();
printf("\nco tim kiem khong, c/k? ");
k=getch();
Trang 8if(k == 'c'||k=='C')
L.timkiem();
printf("\nco tiep tuc khong, c/k? ");
k=getch();
if(k == 'c'||k=='C') goto tt;
}
KẾT LUẬN
Đã đạt được 96.69% yêu cầu
Chương trình chạy ổn định không phát sinh lỗi
TÀI LIỆU THAM KHẢO Error! Bookmark not defined
Phạm Văn Ất-Ths.Nguyễn Hiếu Cường, Ths.Đỗ Văn Tuấn-Lê Trường Thông C++&Lập Trình hướng đối tượng
Trang 91