Tải bản đầy đủ

HƯỚNG dẫn GIẢI bài tập TRÊN VISUAL STUDIO số 2

HƯỚNG DẪN GIẢI BÀI TẬP TRÊN VISUAL STUDIO SỐ 2
PHÂN TÍCH ĐỀ:

CHÚ THÍCH:
+ Hình Tròn (Màu Xanh): Tên của Project
+ Hình Vuông (Màu Đỏ): Tên Của Lớp
+ Gạch Chân (Màu Xanh Lá Cây): Tên thuộc tính

TA CÓ SƠ ĐỒ CLASS DIAGRAM:


Theo đề: ta sẽ Tạo 3 file: 1 file Main, 1 class sinh viên và 1 class môn học
Sau khi tạo xong mình sẽ có như dưới hình:


Chú thích:
+ Môn Học (MH)
+ Sinh Viên (SV)

Theo đề, ở SV có chứa thuộc tính danh sách môn học và điểm trung bình tất cả
học phần. 2 thuộc tính này muốn có được thì phải đựa vào file MH. Vì vậy, chúng

ta sẽ giải quyết file MH trước.

Phân tích đề, ta sẽ được:
Ở file MH.h mình sẽ thực hiện các dòng code:
#include
#include
using namespace std;
#pragma once
class MH
{
private:
string mamh;
string tenmh;
int sotc;
float diemktmh;
public:
MH(void);
~MH(void);
void nhapmh();
void xuatmh();
};

// Tên lớp môn học

// Khai báo mã môn học thuộc kiểu string
// Khai báo tên môn học thuộc kiểu string
// Khai số tín chỉ thuộc kiểu int (số tín chỉ luôn chẵn)
// Khai báo điểm kết thúc môn học thuộc kiểu float

// Hàm Nhập môn học
// Hàm Xuất môn học


Ở File MH.cpp, ta có các dòng code thực thi:
#include "MH.h"
void MH::nhapmh()
{
cout << "Nhap ma mon hoc: ";
getline(cin, mamh);
cout << "Nhap ten mon hoc: ";


getline(cin, tenmh);
cout << "Nhap so tin chi: ";
cin >> sotc;
cout << "Nhap diem ket thuc mon hoc: ";
cin >> diemktmh;
}

// Hàm Nhập môn học

void MH::xuatmh()

// Hàm Xuất môn học

{

}

cout
cout
cout
cout

<<
<<
<<
<<

"\nMa mh: " << mamh;
"\nTen mh: " << tenmh;
"\nSL tin chi: " << sotc;
"\nDiem ket thuc mh: " << diemktmh;


Ở hàm Main.cpp, các bạn có thể kiểm tra quá trình nhập và xuất môn học để xem
nó hoạt động như thế nào:
#include
#include"MH.h"
#include"SV.h"
#define max_Main 100
using namespace std;
void main()
{
MH mh1;
mh1.nhapmh();
mh1.xuatmh();
system("pause");
}

// Đổi tên môn học thành mh1
// Sử dụng (.) để gọi hàm nhập môn học cho nó thực thi
// Sử dụng (.) để gọi hàm xuất môn học cho nó thực thi
// Câu lệnh dừng màn hình để xem kết quả


Kết quả :

Tiếp theo, bây giờ chúng ta sẽ cùng giải quyết phần Sinh Viên:
Ở file SV.h, ta có các dòng code:
#include
#include


using namespace std;
#define max 100
#include"MH.h"
#pragma once
class SV
{
private:
string msv;
string hoten;
string ngaysinh;
MH dsmh[max];
float dtb;
int k;
public:
SV(void);
~SV(void);
void nhapsv();
void xuatsv();
float tinhdtb();
};

// Tên Lớp là SV
// Khởi tạo biến có tên msv thuộc kiểu string
// Khởi tạo biến có tên hoten thuộc kiểu string
// Khởi tạo biến có tên ngaysinh thuộc kiểu string
// Khởi tạo biến có tên dtb thuộc kiểu float
// Khởi tạo biến có tên k thuộc kiểu string

// Hàm nhập sinh viên
// Hàm xuất sinh viên
// Hàm tính điểm trung bình tất cả môn học

Ở file SV.cpp, ta sẽ có:
#include "SV.h"
void SV::nhapsv()
{
cout << "Nhap msv: ";
getline(cin, msv);
cout << "\nNhap ho ten: ";
getline(cin, hoten);
cout << "\nNhap ngay sinh: ";

// Hàm nhập sinh viên


getline(cin, ngaysinh);
cout << "\nNhap SL mon hoc: ";
cin >> k;

for (int i = 0; i{
cin.ignore();
dsmh[i].nhapmh();
}
}
void SV::xuatsv()
// Hàm xuất sinh viên
{
cout << "\nMsv: " << msv;
cout << "\nHo ten: " << hoten;
cout << "\nNgay sinh: " << ngaysinh;
for (int i = 0; i{
cout << "\nDanh sach mon hoc da tham gia: ";
dsmh[i].xuatmh();
}
}


Ở hàm Main.cpp, ta sẽ thực thi tất cả câu lệnh:
#include
#include"MH.h"
#include"SV.h"
#define max_Main 100
using namespace std;
void main()
{
SV sv1[max_Main];
MH mh1[max_Main];

// Gán giá trị max_Main bằng 100

// Đặt tên SV thành sv1 vào gắn số lượng phần từ cho nó
// Đặt tên MH thành mh1 vào gắn số lượng phần từ cho nó

int n;
cout << "\nNhap so luong sv: ";
cin >> n;
// nhap
for (int i = 0; i{
cin.ignore();
sv1[i].nhapsv();

// Xóa bộ nhớ đệm
// Dùng (.) để gọi đế hàm nhập sinh viên ứng với số
lượng phần tử trong nó theo i

}
// xuat
for (int i = 0; i{
cout << "\n*** Xuat Ket Qua ***";
sv1[i].xuatsv();
// Dùng (.) để gọi đế hàm xuất sinh viên ứng với số
}
}

system("pause");

lượng phần tử trong nó theo i


KẾT QUẢ KHI NHẬP:


KẾT QUẢ KHI XUẤT:

Thỏa yêu cầu đề bài

****** PHẦN CUỐI CÙNG SẼ LÀ TÍNH TRUNG BÌNH TẤT CẢ CÁC MÔN HỌC ****
Ở file MH.h, chúng ta sẽ thêm hàm float diemkt():
#include
#include
using namespace std;
#pragma once
class MH
{
private:
string mamh;
// Tạo biến mamh thuộc kiểu string
string tenmh;
// Tạo biến tenmh thuộc kiểu string
int sotc;
// Tạo biến sotc thuộc kiểu float
float diemktmh;
// Tạo biến diemktmh thuộc kiểu float
public:
MH(void);
~MH(void);
void nhapmh();
// Hàm nhập môn học
void xuatmh();
// Hàm xuất môn học
float diemkt(); // Hàm điểm kiểm tra môn học để lấy gtrị diemktmh từ Private
};


Ở file MH.cpp, ta thêm vào các dòng code để xử lý hàm float diemkt():
#include "MH.h"
void MH::nhapmh()
{
cout << "Nhap ma mon hoc: ";
getline(cin, mamh);
cout << "Nhap ten mon hoc: ";
getline(cin, tenmh);
cout << "Nhap so tin chi: ";
cin >> sotc;
cout << "Nhap diem ket thuc mon hoc: ";
cin >> diemktmh;
}

// Hàm nhập môn học

void MH::xuatmh()
// Hàm xuất môn học
{
cout << "\nMa mh: " << mamh;
cout << "\nTen mh: " << tenmh;
cout << "\nSL tin chi: " << sotc;
cout << "\nDiem ket thuc mh: " << diemktmh;
}
// TINH DIEM TRUNG BINH
float MH::diemkt()
{
return diemktmh;
}

// Hàm tính điểm môn học


Tiếp theo, Ở file SV.cpp, chúng ta thêm vào như bên dưới:
#include "SV.h"
void SV::nhapsv()
{
cout << "Nhap msv: ";
getline(cin, msv);
cout << "\nNhap ho ten: ";
getline(cin, hoten);
cout << "\nNhap ngay sinh: ";
getline(cin, ngaysinh);
cout << "\nNhap SL mon hoc: ";
cin >> k;

for (int i = 0; i{
cin.ignore();
dsmh[i].nhapmh();
}
}
void SV::xuatsv()
{
float tong = 0;
cout << "\nMsv: " << msv;
cout << "\nHo ten: " << hoten;
cout << "\nNgay sinh: " << ngaysinh;
for (int i = 0; i{
cout << "\nDanh sach mon hoc da tham gia: ";
dsmh[i].xuatmh();


// TINH DIEM TRUNG BINH
tong += dsmh[i].diemkt();

}

}
float dtb = tong / k;
cout << "\nDiem Trung Binh Tat Ca Mon Hoc La:" << dtb;

Cuối cùng, Ở Main.cpp, ta giữ nguyên các dòng code:
#include
#include"MH.h"
#include"SV.h"
#define max_Main 100
using namespace std;
void main()
{
SV sv1[max_Main];
MH mh1[max_Main];
int n;
cout << "\nNhap so luong sv: ";
cin >> n;
// nhap
for (int i = 0; i{
cin.ignore();
sv1[i].nhapsv();
}
// xuat


for (int i = 0; i{
cout << "\n*** Xuat Ket Qua ***";
sv1[i].xuatsv();
cout << endl;
}

}

system("pause");

KẾT QUẢ KHI NHẬP:

Kết quả sau khi chạy chương trình:


LINK FULL CODE:
https://drive.google.com/open?id=1By7UeDnARf5nvMLr79I9WX1OOlhysVeZ



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay

×