01/10/2018, 00:53

Hàm trả về giá trị i nhưng không trả về mà chạy nguyên hàm khi nhập cout << Nhap(p);

int Nhap(NGUOI **p)
{
	int i = 0;
	int selection = 1;

	while (selection != 6)
	{
		cout << "NHAP: 1.SINHVIEN, 2.HOCSINH, 3.CONGNHAN, 6.quit: ";
		cin >> selection;
		if (selection == 1)
		{
			p[i] = new SINHVIEN;
			p[i]->Nhap();
			i++;
			continue;
		}
		if (selection == 2)
		{
			p[i] = new HOCSINH;
			p[i]->Nhap();
			i++;
			continue;
		}
		if (selection == 3)
		{
			p[i] = new CONGNHAN;
			p[i]->Nhap();
			i++;
			continue;
		}
	} 

	/*for (int j = 0; j < i; j++)
	{
		p[j]->Print();
		cout << endl;
	}*/
	cout << "gia tri i: " << i;
	return i;
}

cout << Nhap§;
Mọi người xem giúp mình. Cảm ơn

Pham Van Hai viết 03:00 ngày 01/10/2018

Thứ tự chạy sẽ như này:

  1. Chạy hết hàm Nhap đến khi bạn quit hàm nó sẽ trả về giá trị i
  2. Chạy đến hàm cout in ra giá trị
Người bí ẩn viết 02:58 ngày 01/10/2018

Không nên thực hiện bất kỳ việc nhập/xuất trong hàm con có kiểu dữ liệu khác void

Hidan viết 03:02 ngày 01/10/2018

hic lại nhớ đến hôm bữa học kỹ thuật lập trình viết hàm trong hàm có printf thế là ông thầy bảo ko biết cách viết hàm cho 2 điểm

Sinner viết 03:05 ngày 01/10/2018

mình cout để xem lỗi ở đâu thôi

Bài liên quan
0