#include <iostream>
int main(){
int maso;
float doanhSo, luongCoBan, soGioLam, luongCongNhan, giaSanPham;
std::cout << "Tinh luong cong nhan theo loi nhuan." << std::endl;
std::cout << "Nhap doanh so(so hang ban ra trong tuan): ";
std::cin >> doanhSo;
std::cout << "Nhap gia tri doanh so(don gia 1 san pham): ";
std::cin >> giaSanPham;
do
{
do
{
if (0 <= doanhSo && 0 <= giaSanPham){
luongCongNhan = 500 + doanhSo * giaSanPham * .07;
std::cout << "Luong cong nhan la: " << luongCongNhan << std::endl;
}
else{
std::cout << "Nhap sai thong tin, nhap lai:" << std::endl;
}
} while (0 > doanhSo);
} while (0 > giaSanPham);
return 0;
}
#include <iostream>
int main(){
int maso;
float doanhSo, luongCoBan, soGioLam, luongCongNhan, giaSanPham;
std::cout << "Tinh luong cong nhan theo loi nhuan." << std::endl;
std::cout << "Nhap doanh so(so hang ban ra trong tuan): ";
std::cin >> doanhSo;
std::cout << "Nhap gia tri doanh so(don gia 1 san pham): "; std::
cin >> giaSanPham;
do
{
if (0 <= doanhSo && 0 <= giaSanPham){
luongCongNhan = 500 + doanhSo * giaSanPham * .07;
std::cout << "Luong cong nhan la: " << luongCongNhan << std::endl;
}
else{
std::cout << "Nhap sai thong tin, nhap lai:" << std::endl;
}
} while (0 > doanhSo || 0 > giaSanPham);
return 0;
}
Mình thấy 2 đoạn code trên đưa ra cùng 1 kết quả. Vậy cách mình sử dụng vòng lập do while như 2 đoạn code trên có chính xác không?
Tại sao khi mình nhập sai thông tin (doanhSo <0 hoặc giaSanPham < 0 hoặc cả doanhSo và giaSanPham đều < 0 ) thì vòng lặp cứ chạy mãi không ngừng?
Cái mình muốn là nhập sai thông tin thì nhập lại. Phải làm như thế nào các bạn chỉ giúp mình với.