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 !!!

Itachi Citus viết 20:03 ngày 30/09/2018

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 á.

Nguyễn Trọng Phương viết 20:05 ngày 30/09/2018

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ỗ đó.

Dương Nylghara viết 20:05 ngày 30/09/2018
#include<iostream>
#include<string>
using namespace std;

class ngay
{
private:
	int ngay2, thang, nam;

public:
	void nhap()
	{
		cout << " nhap ngay : ";
		cin >> ngay2;

		cout << " nhap thang : ";
		cin >> thang;

		cout << " nhap nam : ";
		cin >> nam;
	}
	void xuat()
	{
		cout << "\n ngay" << ngay2 << " 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 << "\n nhap ten :";
		getline(cin, ten);

		cout << "\n nhap diem toan :";
		cin >> diemtoan;

		cout << "nhap diem van :";
		cin >> diemvan;

		cout << "\nnhap ngay sinh :\n";
		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;
	}
};

int main()
{
	hocsinh hs1;
	hs1.nhap();
	hs1.xuat();
	float dtb = hs1.tinhtrungbinh();
	cout << "diem trung binh : " << dtb <<endl;
//	system("pause");
}
Bài liên quan
0