30/09/2018, 18:02
mình bị lỗi khó hiểu , trong khi không sai cú pháp
và đây là code
#include<iostream>
#include<string>
using namespace std;
class ngay
{
private:
int ngay, thang, nam;
public:
void nhap()
{
cout << " nhap ngay : ";
cin >> ngay;
cout << " nhap thang : ";
cin >> thang;
cout << " nhap nam : ";
cin >> nam;
}
void xuat()
{
cout << "
ngay" << ngay << "thang " << thang << " nam " << nam << endl;
}
};
class hocsinh
{
private:
string ten;
float diemtoan, diemvan;
ngay ngaysinh; // khai báo cho nó thêm 1 đối tượng là ngay để sử dụng cho các hàm bên dưới
public: // phương thức (method)
void nhap()
{
fflush(stdin);
cout << "
nhap ten :";
getline(cin, ten);
cout << "
nhap diem toan :";
cin >> diemtoan;
cout << "nhap diem van :";
cin >> diemvan;
cout << "
nhap ngay sinh :";
ngaysinh.nhap();
}
void xuat()
{
cout << "ten :" << ten << endl;
cout << "diem toan :" <<diemtoan << endl;
cout << "diem van : " << diemvan << endl;
cout << "ngay sinh :";
ngaysinh.xuat();
}
float tinhtrungbinh()
{
return (diemtoan + diemvan) / 2;
}
};
void main()
{
hocsinh hs1;
hs1.nhap();
hs1.xuat();
float dtb = hs1.tinhtrungbinh();
cout << "diem trung binh : " << dtb <<endl;
system("pause");
}
mong mọi người cho cách giải quyết !!!
Bài liên quan
Tên class là “ngay” rồi bạn lại đặt tên một biến là “ngay” nên nó mới báo nhặng lên á.
Mình nghĩ là do bạn sai ở hàm main. Hàm main nên khai báo theo kiểu trả về int main. mình thử buid nó chỉ báo lỗi ở chỗ đó.