30/09/2018, 23:55
Giúp mình xem thử sai chỗ nào vậy :(
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;
Bài liên quan
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