lO MoARcPSD| 45467232
TNG ĐI HC VINH
TRƯNG SƯ PHM
KHOA TIN HỌC
NGUYN THTHU HUYN NGUYN BÁ ĐỨC TRƯỜNG HÙNG PHƯƠNG
LÊ HUYN THƯƠNG
PN CH, THIẾT KẾ VÀ CÀI ĐT BÀI TOÁN
ỚNG TỚI QUN GIẢI BÓNG ĐÁ
ĐI SỐ 10
Nghệ An, tháng 06/2023
lO MoARcPSD|45467232
2
TRƯNG ĐẠI HỌC VINH
PN CH, THIẾT KẾ VÀ CÀI ĐẶT I TOÁN
ỚNG TỚI QUN GIẢI BÓNG ĐÁ
ĐI SỐ 10
GVHD: TS. Trn Th Kim Oanh Nhóm
SVTH:
1. Nguyễn Thị thu Huyn 225714021030018
2. Nguyễn Đức 225714021030026
3. Trương ng Phương 225714021030024
4. Lê Huyền Thương 225714021030033
Nhóm 7 Lớp: LTT(222.2)_LT_01_K63SP Tin
Nghệ An, tháng 06/2023
TRƯ
NG PH
M
C
lO MoARcPSD|45467232
MỤC LỤC
I. Đề tài .....................................................................................................................................6
II. Phânch thiết kế các lớp................................................................................................7
III. Biu din các lớp .............................................................................................................8
IV. Nội dung CODE và input, output................................................................................9
1. Ni dung Code .............................................................................................................. 10
2. File GiaiDau.txt chứa d liệu cc cu th, đội bng v trn đu ...................... 48
3. Kết quả trên mn hình Console v Output ra mn hình Notepad...................... 49
TÀI LIU THAM KHẢO ................................................................................................. 56
LỜI MỞ ĐẦU
Lp tnh hướng đi tượng pơng pp lập trình ly đi tượng làm nn tảng đ xây
dựng chương trình dựa trên kiến trúc lớp (class) và đi tượng (object). là phương
pp lp trình hin đi và là pơng pháp lp trình ch đạo trong công nghiệp phn mềm
hin nay. Dựa tn tưởng hướng đi tượng, nhiều ngôn ng lp trình đã ra đời như
C++, Visual C++, C#, Java Nó cũng là một môn hc tn quyết cho nhiều môn hc
chuyên ngành ca sinh vn nnh Sư phm Tin học.
Sinh vn nm vững kiến thức môn hc y là sở cho vic tiếp cn các ngôn
ngữ lập trình hiện đi, các ng c phát triển phần mềm. Sinh viên s được trang bị các
pơng pháp và k thuật lp trình hin đại đ phát triển những phn mềm có cht lượng
cao, cónh mvà có kh ng đáp ứng những yêu cu ca thực tế. Sinh viên được rèn
luyn các knăng đc, phân tích, thiết kế và giải quyết i toán theo tiếp cn ớng đối
tượng, khả năng m kiếm các i liệu h trhọc tập và kh ng làm vic nhóm.
Sau khi kết thúc môn hc, chúng em đã được nhn đ tài tphía giảng viên để
làm đ án nhm n luyn li kiến thức, tiếp cần sâu hơn vào vic phân tích, thiết kế,
gii quyết bài toán theo hướng đối tượng, ứng dụng nó đ viết ra các phn mềm, đng
thời hoàn thành các sn phẩm ca đồ án.
lO MoARcPSD|45467232
4
LỜI CẢM ƠN
Lời đu tiên, nhóm chúng em xin được gửi lời cm ơn cn thành tới các Thầy, các Cô
trong Trường Đại Học Vinh, đặc bit là Thầy Cô Khoa Tin học, Vin Kỹ thut và ng
ngh, những nời đã trực tiếp giảng dạy, giúp đchúng em trong suốt những năm tháng
mới bt đầu vào trường.
Sinh vn nnh công ngh thông tin ngày nay phải không ngừng hc hỏi, cp
nhật những điu mới, biết vận dụng những điu hc được vào thực tế cuộc sống. Quá
trình làm đ án lp trình hướng đi tượng là bước đầu tiên nhóm mình đi sâu vào nhng
nh vực công ngh thông tin dựa trên những gì đã hc và dưới sớng dẫn của các
Thy Cô trong ngành. Để hoàn thành đ án lập trình hướng đi tượng, ngoài sc gắng
ca tất c mọi người trong nhóm còn có sgiúp đỡ, ch dạy tn tình ca c Thầy .
Xin cn thành cảm ơn các Thầy trong Khoa Tin học, đc bit cô Trn Th Kim
Oanh, người đã nhiệt tình trong vic trang b cho chúng em những kiến thức và k năng
cơ bn cn thiết và hướng dn chúng em hoàn thành đ án đúng tiến đ, đạt kết qu tốt.
đã cố gắng làm việc với s tập trung cao, song cng em không thể tránh khi mt
s sai sót do kiến thức và k ng n hạn chế. Chúng em mong s nhn được những
góp ý, nhận xét của Thầy Cô và các bn đ chúng em có th làm tt hơn nữa các đồ án
sau này. c ý kiến nhận xét góp ý chân thành từ quý Thy và các bn xin gửi v đa
ch email: diepthienvan9991@gmail.com Chúng em xin cn thành cm ơn!
lO MoARcPSD|45467232
1. Bng phân chiang việc trong nhóm
STT
Họ và n
Chức v trong
nm
Nhim v được phân công
1
Nguyễn Thị Thu Huyn
Nhóm trưởng
Code chính, nhp liệu, làm bn
word, làm slide báo cáo
2
Nguyễn Đức
Thành Viên
Tham gia code, nhp liệu, m
bản word, tham gia m slide
báo cáo
3
Trường ng Phương
Thành vn
Tham gia code, nhp liệu, m
bản word, tham gia m slide
báo cáo
4
Lê Huyền Thương
Thành vn
Tham gia code, nhập liệu, làm
bản word, làm slide báo cáo
2. Bng tự đánh giá nhóm
STT
H và tên
Tđánh giá
Loi A, B, C, D theo các tiêu c trong bảng dưới
1
Nguyễn Thị Thu huyn
A
2
Nguyễn Đức
A
3
Trương ng Phương
A
4
Lê Huyền Thương
A
lO MoARcPSD|45467232
6
Tiêu chí
đánh giá
Mức đánh giá
A
(8.5-10)
B
(7.0-8.4)
C
(5.5-6.9)
D
(4.0-5.4)
F
(0-3.9)
Hợp tác
nm
(CLO3.1)
- Luôn lng
nghe, chia
s và ng
h những
n lực ca
- Thưng
lắng nghe,
chia sẻ
trong nhóm
- 3-4 ln
tham gia
thảo luận
nhóm và
bình lun
Có 1-2 lần
tham gia
thảo luận
nhóm và
bình lun
- Không bao gi
tham gia thảo lun
trong nhóm
thành vn
trong nhóm
Thảo lun
nm
(CLO3.1)
- Thu
thập và đưa
ra nhiều tài
liu liên
quan đi
- Đưa
ra những ý
tưởng
ràng, liên
quan đến đ
tài
- Thu
thập thông
tin cơ bản
v đ
tài
- Thỉnh
thoảng đưa
ra những ý
tưởng liên
quan đến đ
tài
- Chthu
thập thông
tin khi có
yêu cu - Ít
khi đưa ra ý
tưởng liên
quan
đến đ tài
- đưa ra
ý
tưởn
g nng
không rõ
ràng và
không liên
quan đến
yêu cu
ca nhóm
- Không thu thp
thông tin hay đóng
góp ý kiến cho
nhóm
I. Đề tài
lO MoARcPSD|45467232
II. Phânch thiết kế các lớp
- Lớp CauThu:
+ Thuc tính:họ và tên, s chứng minh, quc tịch, ngày sinh, chiu cao, v trí thi
đu, cân nặng.
+ Phương thức: NhapCauThuTuFile() phương thức ng đ nhập dữ liu cu thủ
từ file, XuatThongTinCauThu() dùng đ hiển th thông tin cu
lO MoARcPSD|45467232
8
thủ,XuatThongTinCauThuVaoFile() ng đ xuất thông tin cu thủ vào file,
getCanNang() ng đ ly thông tin cân nặng cầu thủ.
- Lớp DoiBong:
+ Thuc nh: n đi bóng, đa phương, huân luyện viên, danh sách cu thủ, s
cu thủ.
+ Phương thức: NhapDoiBongTuFile() phương thức ng để nhp dữ liu đội
bóng t file, XuatDoiBong() dùng đ hiển thị thông tin đi
bóng,XuatDoiBongVaoFile() dùng đ xut thông tin đi bóng vào file,
SoCauThuTren70kg() dùng đ lấy s cu th tn 70kg, TongCauThu() ly s
lượng cầu thcủa đi bóng, getTenDoiBong() ly giá trị tên của đi bóng.
- Lớp TranDau:
+ Thuc nh: ny thi đu, sân thi đu, n đi bóng 1, n đi bóng 2, tsố đi
1, tỉ s đi 2.
+ Phương thức: NhapTranDauTuFile() pơng thức ng để nhp dữ liệu trn
đu từ file, XuatTranDau() ng đ hin th thông tin trn đấu,XuatTranDauVaoFile()
dùng đ xuất thông tin trn đu vào file, getTiSoDoi1() dùng đ ly tỉ số đội 1,
getTiSoDoi2() dung đ ly tỉ s đi 2, getTenDoiBong1() ng đ ly giá trtên của đi
bóng 1, getTenDoiBong2() ng đ ly giá trịn ca đội bóng 2. - Lớp QuanLyGiai
+ Thuc tính:db[100](danh sách đi bóng), td[100](danh sách trn đấu), số đi
bóng, số trn đu.
+ Pơng thức: NhapDanhSachDoiBongVaTranDauTuFile() để nhập các thông
tin danh sách đi bóng và trn đấu từ file,
XuatDanhSachCacDoiBongVaTranDau() đ hin th các thông tin các đội bóng
và các trn đu, GhiDanhSachCacDoiBongVaTranDauVaoFile() dùng đ ghi
thống tin các đội bóng và trn đấu vào file, TiemKiemTheoTenDoiBong() ng
đ tìm kiếm theo tên đi bóng, TimKiemTheoTenCauThu() dùng đ tìm kiếm
theon cầu thủ, ThongKeTheoCanNangTren70kg() dùng đ thống kê cân nng
các cu th tn 70kg, TinhDiemChoCacDoiBong() ng đ tính điểm và ghi
thông tin điểm cho các đi bóng vào file.
III. Biểu din các lớp
lO MoARcPSD|45467232
IV. Nội dung CODE và input, output
lO MoARcPSD|45467232
10
1. Nội dung Code
#include<iostream>
#include<string>
#include<fstream>
#include <sstream>
#include<iomanip>
using namespace std;
class CauThu
{
private:
string
HoVaTen,SoChungMinh,QuocTich,NgaySinh,ChieuCao,ViTriThiDau;
int CanNang;
public:
void NhapCauThuTuFile(ifstream &read)
{
string a;
getline(read, HoVaTen, '#');
getline(read, SoChungMinh, '#'); getline(read,
QuocTich, '#'); getline(read, NgaySinh, '#');
getline(read, ChieuCao, '#');
getline(read, ViTriThiDau, '#');
read>>CanNang;
getline(read, a, '\n');
}
void XuatCauThu()
{
cout<<"Ho ten: "<<HoVaTen<<endl; cout<<"So
chung minh: "<<SoChungMinh<<endl; cout<<"Quoc tich:
"<<QuocTich<<endl; cout<<"Ngay sinh: "<<NgaySinh<<endl;
cout<<"Chieu cao: "<<ChieuCao<<endl; cout<<"Vi
tri thi dau: "<<ViTriThiDau<<endl; cout<<"Cau nang:
"<<CanNang<<" kg"<<endl;
}
lO MoARcPSD|45467232
void XuatThongTinCauThu()
<<"|"<<setw(17)<<left<<HoVaTen<<"|"<<setw(13)<<left<<SoChungMinh<<"|"<<
setw(9)<<left<<QuocTich<<"|"<<setw(10)<<left<<NgaySinh<<"|"<<setw(9)<<left<
<ChieuCao<<"|"<<setw(10)<<left<<ViTriThiDau<<"|"<<setw(8)<<left<<CanNang
<<"|"<<endl;
}
void XuatThongTinCauThuVaoFile(ofstream &f)
<<"|"<<setw(17)<<left<<HoVaTen<<"|"<<setw(13)<<left<<SoChungMinh<<"|"<<
setw(9)<<left<<QuocTich<<"|"<<setw(10)<<left<<NgaySinh<<"|"<<setw(9)<<left<
<ChieuCao<<"|"<<setw(10)<<left<<ViTriThiDau<<"|"<<setw(8)<<left<<CanNang
<<"|"<<endl;
}
int getCanNang()
{
return CanNang;
}
string getHoVaTen()
{
return HoVaTen;
}
lO MoARcPSD|45467232
12
};
class DoiBong
{
private:
string TenDoiBong,DiaPhuong,HuanLuyenVien;
CauThu dsCauThu[200]; int SoCauThu;
public:
void NhapDoiBongTuFile(ifstream &read)
{
string a;
getline(read, TenDoiBong, '#');
getline(read, DiaPhuong, '#'); getline(read,
HuanLuyenVien, '\n');
read>>SoCauThu;
getline(read, a, '\n'); for(int i=0;i<SoCauThu;i++)
{
dsCauThu[i].NhapCauThuTuFile(read);
}
}
void XuatDoiBong()
{
cout <<"|"<<setw(17) << left <<
TenDoiBong
<<"|"<<setw(10) << left << DiaPhuong<<"|"<<setw(15) << left << HuanLuyenVien;
for(int i=0;i<SoCauThu;i++)
{
if(i==0)
{
cout
<<"|"<<setw(3) << left <<i+1;
}
else
{
lO MoARcPSD|45467232
cout <<setw(4)
<< left << "|"<<setw(18)
<< left <<"|"<<setw(11) << left <<"|"<<setw(16) << left <<"|"<< left<<"|"<<setw(3)
<< left <<i+1;
}
dsCauThu[i].XuatThongTinCauThu();
}
}
void XuatDoiBongVaoFile(ofstream &f)
{
f <<"|"<<setw(17) << left <<
TenDoiBong
<<"|"<<setw(10) << left << DiaPhuong<<"|"<<setw(15) << left << HuanLuyenVien;
for(int i=0;i<SoCauThu;i++)
{
if(i==0)
{
f <<"|"<<setw(3) <<
left <<i+1;
}
else
{
f <<setw(4) << left << "|"<<setw(18) << left <<"|"<<setw(11) << left
<<"|"<<setw(16) << left <<"|"<< left<<"|"<<setw(3) << left <<i+1;
}
dsCauThu[i].XuatThongTinCauThuVaoFile(f);
}
}
int SoCauThuTren70kg()
{
int TongTren70 = 0;
for(int i=0;i<SoCauThu;i++)
{
lO MoARcPSD|45467232
14
if(dsCauThu[i].getCanNang()>70)
{
TongTren70++;
}
}
lO MoARcPSD|45467232
return TongTren70;
} int
TongCauThu()
{
int Tong = 0; for(int
i=0;i<SoCauThu;i++)
{
Tong++;
}
return Tong;
} string
getTenDoiBong()
{
return TenDoiBong;
} void TimTheoTenCauThu(string tencantim,int
&check)
{
for(int i=0;i<SoCauThu;i++)
{
if(dsCauThu[i].getHoVaTen()==tencantim)
{
if(check==0)
cout<<"\n";
cout<<"===
Thong tin cau thu can tim
lO MoARcPSD|45467232
16
===\n";
};
dsCauThu[i].XuatCauThu();
check=1;
}
}
} int
getSoCauThu()
{
return SoCauThu;
}
lO MoARcPSD|45467232
class TranDau
{
private:
string NgayThiDau,SanThiDau,TenDoiBong1,TenDoiBong2;
int TiSoDoi1,TiSoDoi2; public:
void NhapTranDauTuFile(ifstream &read)
{
getline(read, NgayThiDau, '#');
getline(read, SanThiDau, '#');
getline(read, TenDoiBong1, '#');
getline(read, TenDoiBong2, '#');
string a; read>>TiSoDoi1;
getline(read, a, '#');
read>>TiSoDoi2;
getline(read, a, '\n');
}
void XuatTranDau()
{
string tam="";
ostringstream convert;
convert << TiSoDoi1;
tam = convert.str(); tam += ":";
ostringstream convert1;
convert1 << TiSoDoi2; tam+=
convert1.str();
cout <<"|"<<setw(12) << left <<
NgayThiDau<<"|"<<setw(12) << left <<SanThiDau<<"|"<<setw(19) << left
<<TenDoiBong1<<"|"<<setw(19) << left <<TenDoiBong2<<"|"<<setw(11) << left
<< tam<<"|"<<endl;
}
void XuatTranDauVaoFile(ofstream &f)
{
lO MoARcPSD|45467232
18
lO MoARcPSD|45467232
string tam="";
ostringstream convert;
convert << TiSoDoi1;
tam = convert.str(); tam += ":";
ostringstream convert1;
convert1 << TiSoDoi2; tam+=
convert1.str();
f <<"|"<<setw(12) <<
left << NgayThiDau<<"|"<<setw(12)
<< left <<SanThiDau<<"|"<<setw(19) << left <<TenDoiBong1<<"|"<<setw(19) <<
left <<TenDoiBong2<<"|"<<setw(11) << left << tam<<"|"<<endl;
}
int getTiSoDoi1()
{
return TiSoDoi1;
}
int getTiSoDoi2()
{
return TiSoDoi2;
}
string getTenDoiBong1()
{
return TenDoiBong1;
}
string getTenDoiBong2()
{
return TenDoiBong2;
}
};
class QuanLyGiai
{
private:
DoiBong db[100];
TranDau td[100]; int
SoDoiBong,SoTranDau;
lO MoARcPSD|45467232
20
public:
void
NhapDanhSachDoiBongVaTranDauTuFile()
{
ifstream read;
read.open("GiaiDau.txt");
if(read==NULL)
{
cout<<"Mo file
GiaiDau.txt khong thanh cong.
Vui long kiem tra lai duong dan\n";
}else
{
string a;
read>>SoDoiBong;
getline(read,a,'\n'); for(int
i=0;i<SoDoiBong;i++)
{
db[i].NhapDoiBongTuFile(read);
}
read>>SoTranDau;
getline(read,a,'\n'); for(int
i=0;i<SoTranDau;i++)
{
td[i].NhapTranDauTuFile(read);
}
cout<<"Da thuc hien doc thong tin doi bong va tran dau tu file GiaiDau.txt thanh
cong\n";
}
read.close();
}
void
XuatDanhSachCacDoiBongVaTranDau()

Preview text:

lO M oARcPSD| 45467232
TRƯỜNG ĐẠI HỌC VINH TRƯỜNG SƯ PHẠM KHOA TIN HỌC
NGUYỄN THỊ THU HUYỀN – NGUYỄN BÁ ĐỨC – TRƯỜNG HÙNG PHƯƠNG LÊ HUYỀN THƯƠNG
PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT BÀI TOÁN
HƯỚNG TỚI QUẢN LÝ GIẢI BÓNG ĐÁ ĐỀ TÀI SỐ 10
Nghệ An, tháng 06/2023 lO M oARcPSD| 45467232
TRƯỜNG ĐẠI HỌC VINH
TRƯ NG SƯ PH M
KHOA TIN H C
PHÂN TÍCH, THIẾT KẾ VÀ CÀI ĐẶT BÀI TOÁN
HƯỚNG TỚI QUẢN LÝ GIẢI BÓNG ĐÁ ĐỀ TÀI SỐ 10 GVHD:
TS. Trần Thị Kim Oanh Nhóm SVTH: 1. Nguyễn Thị thu Huyền – 225714021030018 2. Nguyễn Bá Đức – 225714021030026
3. Trương Hùng Phương – 225714021030024 4. Lê Huyền Thương – 225714021030033
Nhóm 7 Lớp: LTHĐT(222.2)_LT_01_K63SP Tin
Nghệ An, tháng 06/2023 2 lO M oARcPSD| 45467232 MỤC LỤC
I. Đề tài .....................................................................................................................................6
II. Phân tích thiết kế các lớp................................................................................................7
III. Biểu diễn các lớp .............................................................................................................8
IV. Nội dung CODE và input, output ................................................................................9
1. Nội dung Code .............................................................................................................. 10
2. File GiaiDau.txt chứa dữ liệu các cầu thủ, đội bóng và trận đấu ...................... 48
3. Kết quả trên màn hình Console và Output ra màn hình Notepad...................... 49

TÀI LIỆU THAM KHẢO ................................................................................................. 56 LỜI MỞ ĐẦU
Lập trình hướng đối tượng là phương pháp lập trình lấy đối tượng làm nền tảng để xây
dựng chương trình dựa trên kiến trúc lớp (class) và đối tượng (object). Nó là phương
pháp lập trình hiện đại và là phương pháp lập trình chủ đạo trong công nghiệp phần mềm
hiện nay. Dựa trên tư tưởng hướng đối tượng, nhiều ngôn ngữ lập trình đã ra đời như
C++, Visual C++, C#, Java… Nó cũng là một môn học tiên quyết cho nhiều môn học
chuyên ngành của sinh viên ngành Sư phạm Tin học.
Sinh viên nắm vững kiến thức môn học này là cơ sở cho việc tiếp cận các ngôn
ngữ lập trình hiện đại, các công cụ phát triển phần mềm. Sinh viên sẽ được trang bị các
phương pháp và kỹ thuật lập trình hiện đại để phát triển những phần mềm có chất lượng
cao, có tính mở và có khả năng đáp ứng những yêu cầu của thực tế. Sinh viên được rèn
luyện các kỹ năng đọc, phân tích, thiết kế và giải quyết bài toán theo tiếp cận hướng đối
tượng, khả năng tìm kiếm các tài liệu hỗ trợ học tập và khả năng làm việc nhóm.
Sau khi kết thúc môn học, chúng em đã được nhận đề tài từ phía giảng viên để
làm đồ án nhằm rèn luyện lại kiến thức, tiếp cần sâu hơn vào việc phân tích, thiết kế,
giải quyết bài toán theo hướng đối tượng, ứng dụng nó để viết ra các phần mềm, đồng
thời hoàn thành các sản phẩm của đồ án. lO M oARcPSD| 45467232 LỜI CẢM ƠN
Lời đầu tiên, nhóm chúng em xin được gửi lời cảm ơn chân thành tới các Thầy, các Cô
trong Trường Đại Học Vinh, đặc biệt là Thầy Cô Khoa Tin học, Viện Kỹ thuật và Công
nghệ, những người đã trực tiếp giảng dạy, giúp đỡ chúng em trong suốt những năm tháng
mới bắt đầu vào trường.
Sinh viên ngành công nghệ thông tin ngày nay phải không ngừng học hỏi, cập
nhật những điều mới, biết vận dụng những điều học được vào thực tế cuộc sống. Quá
trình làm đồ án lập trình hướng đối tượng là bước đầu tiên nhóm mình đi sâu vào những
lĩnh vực công nghệ thông tin dựa trên những gì đã học và dưới sự hướng dẫn của các
Thầy Cô trong ngành. Để hoàn thành đồ án lập trình hướng đối tượng, ngoài sự cố gắng
của tất cả mọi người trong nhóm còn có sự giúp đỡ, chỉ dạy tận tình của các Thầy Cô.
Xin chân thành cảm ơn các Thầy Cô trong Khoa Tin học, đặc biệt là cô Trần Thị Kim
Oanh, người đã nhiệt tình trong việc trang bị cho chúng em những kiến thức và kỹ năng
cơ bản cần thiết và hướng dẫn chúng em hoàn thành đồ án đúng tiến độ, đạt kết quả tốt.
Dù đã cố gắng làm việc với sự tập trung cao, song chúng em không thể tránh khỏi một
số sai sót do kiến thức và kỹ năng còn hạn chế. Chúng em mong sẽ nhận được những
góp ý, nhận xét của Thầy Cô và các bạn để chúng em có thể làm tốt hơn nữa các đồ án
sau này. Các ý kiến nhận xét góp ý chân thành từ quý Thầy Cô và các bạn xin gửi về địa
chỉ email: diepthienvan9991@gmail.com Chúng em xin chân thành cảm ơn! 4 lO M oARcPSD| 45467232
1. Bảng phân chia công việc trong nhóm
STT Họ và tên Chức vụ
trong Nhiệm vụ được phân công nhóm 1
Nguyễn Thị Thu Huyền Nhóm trưởng
Code chính, nhập liệu, làm bản word, làm slide báo cáo 2 Nguyễn Bá Đức Thành Viên
Tham gia code, nhập liệu, làm
bản word, tham gia làm slide báo cáo 3 Trường Hùng Phương Thành viên
Tham gia code, nhập liệu, làm
bản word, tham gia làm slide báo cáo 4 Lê Huyền Thương Thành viên
Tham gia code, nhập liệu, làm
bản word, làm slide báo cáo
2. Bảng tự đánh giá nhóm Tự đánh giá
STT Họ và tên
Loại A, B, C, D theo các tiêu chí trong bảng dưới 1 Nguyễn Thị Thu huyền A 2 Nguyễn Bá Đức A 3 Trương Hùng Phương A 4 Lê Huyền Thương A lO M oARcPSD| 45467232 Mức đánh giá Tiêu chí A B C D F đánh giá (8.5-10) (7.0-8.4) (5.5-6.9) (4.0-5.4) (0-3.9) - Luôn lắng - Có 3-4 lần Hợp Có 1-2 lần tác - Thường
nghe, chia lắng nghe, tham gia - Không bao giờ tham gia nhóm sẻ và ủng thảo luận tham gia thảo luận chia sẻ thảo luận (CLO3.1) hộ những nhóm và trong nhóm nhóm và nỗ lực của trong nhóm bình luận bình luận thành viên trong nhóm - Thu - Thu
thập và đưa thập thông - Có đưa ra ra nhiều tài tin cơ bản - Chỉ thu ý liệu liên thập thông tưởn về đề Thảo luận g nhưng quan đề tài tin khi có - Không thu thập tài yêu cầu - Ít
không rõ thông tin hay đóng nhóm - Đưa -
Thỉnh khi đưa ra ý ràng và góp ý kiến cho (CLO3.1) ra những ý thoảng đưa
tưởng liên không liên nhóm tưởng rõ ra những ý quan quan đến ràng, liên tưởng
liên đến đề tài yêu cầu
quan đến đề quan đến đề của nhóm tài tài I. Đề tài 6 lO M oARcPSD| 45467232
II. Phân tích thiết kế các lớp - Lớp CauThu:
+ Thuộc tính:họ và tên, số chứng minh, quốc tịch, ngày sinh, chiều cao, vị trí thi đấu, cân nặng.
+ Phương thức: NhapCauThuTuFile() phương thức dùng để nhập dữ liệu cầu thủ
từ file, XuatThongTinCauThu() dùng để hiển thị thông tin cầu lO M oARcPSD| 45467232
thủ,XuatThongTinCauThuVaoFile() dùng để xuất thông tin cầu thủ vào file,
getCanNang() dùng để lấy thông tin cân nặng cầu thủ. - Lớp DoiBong:
+ Thuộc tính: tên đội bóng, địa phương, huân luyện viên, danh sách cầu thủ, số cầu thủ.
+ Phương thức: NhapDoiBongTuFile() phương thức dùng để nhập dữ liệu đội
bóng từ file, XuatDoiBong() dùng để hiển thị thông tin đội
bóng,XuatDoiBongVaoFile() dùng để xuất thông tin đối bóng vào file,
SoCauThuTren70kg() dùng để lấy số cầu thủ trên 70kg, TongCauThu() lấy số
lượng cầu thủ của đội bóng, getTenDoiBong() lấy giá trị tên của đội bóng. - Lớp TranDau:
+ Thuộc tính: ngày thi đấu, sân thi đấu, tên đội bóng 1, tên đối bóng 2, tỉ số đội 1, tỉ số đội 2.
+ Phương thức: NhapTranDauTuFile() phương thức dùng để nhập dữ liệu trận
đấu từ file, XuatTranDau() dùng để hiển thị thông tin trận đấu,XuatTranDauVaoFile()
dùng để xuất thông tin trấn đấu vào file, getTiSoDoi1() dùng để lấy tỉ số đội 1,
getTiSoDoi2() dung để lấy tỉ số đội 2, getTenDoiBong1() dùng để lấy giá trị tên của đội
bóng 1, getTenDoiBong2() dùng để lấy giá trị tên của đội bóng 2. - Lớp QuanLyGiai
+ Thuộc tính:db[100](danh sách đội bóng), td[100](danh sách trận đấu), số đội bóng, số trận đấu.
+ Phương thức: NhapDanhSachDoiBongVaTranDauTuFile() để nhập các thông
tin danh sách đội bóng và trận đấu từ file,
XuatDanhSachCacDoiBongVaTranDau() để hiển thị các thông tin các đội bóng
và các trận đấu, GhiDanhSachCacDoiBongVaTranDauVaoFile() dùng để ghi
thống tin các đội bóng và trận đấu vào file, TiemKiemTheoTenDoiBong() dùng
để tìm kiếm theo tên đội bóng, TimKiemTheoTenCauThu() dùng để tìm kiếm
theo tên cầu thủ, ThongKeTheoCanNangTren70kg() dùng để thống kê cân nặng
các cầu thủ trên 70kg, TinhDiemChoCacDoiBong() dùng để tính điểm và ghi
thông tin điểm cho các đội bóng vào file.
III. Biểu diễn các lớp 8 lO M oARcPSD| 45467232
IV. Nội dung CODE và input, output lO M oARcPSD| 45467232
1. Nội dung Code #include #include #include #include #include
using namespace std; class CauThu { private: string
HoVaTen,SoChungMinh,QuocTich,NgaySinh,ChieuCao,ViTriThiDau; int CanNang; public:
void NhapCauThuTuFile(ifstream &read) { string a;
getline(read, HoVaTen, '#');
getline(read, SoChungMinh, '#'); getline(read, QuocTich, '#');
getline(read, NgaySinh, '#');
getline(read, ChieuCao, '#');
getline(read, ViTriThiDau, '#'); read>>CanNang;
getline(read, a, '\n'); } void XuatCauThu() {
cout<<"Ho ten: "< cout<<"So chung minh: "<
cout<<"Quoc tich: "<
cout<<"Ngay sinh: "<
cout<<"Chieu cao: "< cout<<"Vi tri thi dau: "< cout<<"Cau nang: "<" kg"< } 10 lO M oARcPSD| 45467232
void XuatThongTinCauThu()
<<"|"<"|"<"|"<<
setw(9)<"|"<"|"<"|"<"|"<<<"|"< }
void XuatThongTinCauThuVaoFile(ofstream &f)
<<"|"<"|"<"|"<<
setw(9)<"|"<"|"<"|"<"|"<<<"|"< } int getCanNang() { return CanNang; } string getHoVaTen() { return HoVaTen; } lO M oARcPSD| 45467232 }; class DoiBong { private:
string TenDoiBong,DiaPhuong,HuanLuyenVien; CauThu dsCauThu[200]; int SoCauThu; public:
void NhapDoiBongTuFile(ifstream &read) { string a;
getline(read, TenDoiBong, '#');
getline(read, DiaPhuong, '#'); getline(read, HuanLuyenVien, '\n'); read>>SoCauThu;
getline(read, a, '\n'); for(int i=0;i {
dsCauThu[i].NhapCauThuTuFile(read); } } void XuatDoiBong() {
cout <<"|"<left << TenDoiBong <<"|"<"|"< for(int i=0;i { if(i==0) { cout <<"|"< } else { 12 lO M oARcPSD| 45467232
cout <<< left << "|"<<< left <<"|"<"|"<"|"<< left<<"|"<<< left < }
dsCauThu[i].XuatThongTinCauThu(); } }
void XuatDoiBongVaoFile(ofstream &f) { f
<<"|"<<< left << TenDoiBong <<"|"<"|"< for(int i=0;i { if(i==0) {
f <<"|"<left < } else {
f <"|"<"|"<<<"|"<"|"<< left<<"|"< }
dsCauThu[i].XuatThongTinCauThuVaoFile(f); } } int SoCauThuTren70kg() { int TongTren70 = 0; for(int i=0;i { lO M oARcPSD| 45467232
if(dsCauThu[i].getCanNang()>70) { TongTren70++; } } 14 lO M oARcPSD| 45467232 return TongTren70; } int TongCauThu() { int Tong = 0; for(int i=0;i { Tong++; } return Tong; } string getTenDoiBong() { return TenDoiBong;
} void TimTheoTenCauThu(string tencantim,int &check) { for(int i=0;i {
if(dsCauThu[i].getHoVaTen()==tencantim) { if(check==0) cout<<"\n"; cout<<"===
Thong tin cau thu can tim lO M oARcPSD| 45467232 ===\n"; dsCauThu[i].XuatCauThu(); check=1; } } } int getSoCauThu() { return SoCauThu; } }; 16 lO M oARcPSD| 45467232 class TranDau { private:
string NgayThiDau,SanThiDau,TenDoiBong1,TenDoiBong2;
int TiSoDoi1,TiSoDoi2; public:
void NhapTranDauTuFile(ifstream &read) {
getline(read, NgayThiDau, '#');
getline(read, SanThiDau, '#');
getline(read, TenDoiBong1, '#');
getline(read, TenDoiBong2, '#'); string a; read>>TiSoDoi1; getline(read, a, '#'); read>>TiSoDoi2;
getline(read, a, '\n'); } void XuatTranDau() { string tam=""; ostringstream convert; convert << TiSoDoi1; tam = convert.str(); tam += ":"; ostringstream convert1; convert1 << TiSoDoi2; tam+= convert1.str(); cout
<<"|"<<< left <<
NgayThiDau<<"|"<"|"<<"|"<"|"<<< tam<<"|"< }
void XuatTranDauVaoFile(ofstream &f) { lO M oARcPSD| 45467232 18 lO M oARcPSD| 45467232 string tam=""; ostringstream convert; convert << TiSoDoi1; tam = convert.str(); tam += ":"; ostringstream convert1; convert1 << TiSoDoi2; tam+= convert1.str();
f <<"|"<left << NgayThiDau<<"|"<<< left <"|"<"|"<left <"|"<"|"< } int getTiSoDoi1() { return TiSoDoi1; } int getTiSoDoi2() { return TiSoDoi2; } string getTenDoiBong1() { return TenDoiBong1; } string getTenDoiBong2() { return TenDoiBong2; } }; class QuanLyGiai { private: DoiBong db[100]; TranDau td[100]; int SoDoiBong,SoTranDau; lO M oARcPSD| 45467232 public: void
NhapDanhSachDoiBongVaTranDauTuFile() { ifstream read;
read.open("GiaiDau.txt"); if(read==NULL) { cout<<"Mo file
GiaiDau.txt khong thanh cong.
Vui long kiem tra lai duong dan\n"; }else { string a; read>>SoDoiBong; getline(read,a,'\n'); for(int i=0;i {
db[i].NhapDoiBongTuFile(read); } read>>SoTranDau; getline(read,a,'\n'); for(int i=0;i {
td[i].NhapTranDauTuFile(read); }
cout<<"Da thuc hien doc thong tin doi bong va tran dau tu file GiaiDau.txt thanh cong\n"; } read.close(); } void
XuatDanhSachCacDoiBongVaTranDau() 20