Giúp xem thử code tính lương sai ở đâu

Viết chương trình tính lương của nhân viên dựa theo thâm niên công tác (TNCT) như sau:
Lương=hệ số*lương căn bản, trong đó lương căn bản là 850000 đồng.

  • Nếu TNCT<12 tháng: hệ số =1.92
  • Nếu 12<=TNCT<36 tháng: hệ số =2.34
  • Nếu 36<=TNCT<60 tháng: hệ số=3
  • Nếu TNCT>=60 tháng: hệ số=4.5

bài mình làm nhưng kết quả ra sai số … không biết sai chỗ nào nhờ pro giúp

int TNCT;
cout << "Nhap tham nien cong tac " << endl;
cin >> TNCT;
long Luong;
if (TNCT < 12)
{
	Luong = 1.92 * 850000;
	cout << "So luong: " << endl;
}
else if (12 <= TNCT < 36)
{
	Luong = 2.34 * 850000;
	cout << "So luong: "  << endl;
}
else if (36 <= TNCT < 60)
{
	Luong = 3 * 850000;
	cout << "So luong: "  << endl;
}
else if (TNCT >= 60)
{
	Luong = 4.5 * 850000;
	cout << "So luong: "  << endl;
}
 cout << "So luong: " << Luong << endl;

system("pause");
return 0;

Lỗi thứ nhất: Bạn chưa ép kiểu nên sai
kiểu Luong là Long
Số thực * số nguyên = số thực
Bạn phải ép kiểu về thì mới không bị lỗi
Luong = (long) …
Lỗi thứ hai: Điều kiện sau.
Nếu bạn muốn nó là 40 > a >=30 thì phải Code lênh như thế này: a>=30 && a<40

mình đã sửa được vì lỗi thứ 2 , c++ không hiểu trực tiếp khoảng giữa lớn bé . Cảm ơn pro nhìu

Không có ngôn ngữ nào hiểu được cái khoảng đó đâu bạn ạ =))
Cái dòng if đó Có thể viết lại thế này
if (namCongTac<12)
heSoLuong=1.92;
else if (namCongTac<36)
heSoLuong=2.34;
else if (namCongTac<60)
heSoLuong=3;
else heSoLuong=4.5;
Bạn không cần thiết phải có cái >= vì else tức là ngược lại. Nếu năm không <12 thì nó phải >=12

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?