Cách dùng lệnh if ở đây sai chỗ nào
Mình có làm bài tập ở khóa học C++ cơ bản của bạn @nguyenchiemminhvu thì khi chạy thử thì mình cứ đoán số 0 ở trên console thì kết quả cho ra bị sai, code thì mình phân tích ra thấy đúng mà, ngồi cả tiếng đồng hồ ko nghĩ ra được giải pháp nào.
Bài tập đây:
1/ Viết chương trình sinh ra một số ngẫu nhiên trong khoảng từ 0 đến 100 nhưng không in ra màn hình. Yêu cầu người dùng đoán xem số ngẫu nhiên vừa sinh ra lớn hơn 50 hay bé hơn 50, nếu chọn trường hợp bé hơn 50 nhập giá trị 0, ngược lại nhập giá trị 1. In kết quả thông báo người dùng đã đoán đúng hay sai ra màn hình.
Ví dụ:
A random number was generated
Guess: 1Wrong! The random number is 26 (26 < 50)
Code:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main() {
srand(time(NULL));
int value_in = rand() % 100 + 1;
int value_out;
cout << "This is a software of random.org, plese guess the number (1 or 0)" << endl;
cout << "Guess: ";
cin >> value_out;
if (value_out = 0 && value_in < 50)
{
cout << "Right! The random number is " << value_in << endl;
}
else if (value_out = 0 && value_in > 50)
{
cout << "Wrong, the random number is " << value_in << endl;
}
else if (value_out = 1 && value_in > 50)
{
cout << "Right! The random number is " << value_in << endl;
}
else if (value_out = 1 && value_in < 50)
{
cout << "Wrong, the random number is " << value_in << endl;
}
system("pause");
return 0;
}
Mình thử thấy tốt rồi. Thanks bạn
Ủa trong python không có khái niệm này hả @Nguyen_Hieu2 sao để mỗi 1 dấu " = " vậy
Có đấy, mỗi tội quên thôi
À mà tại sao vẫn dùng dc “=” trong câu lệnh if nhỉ, tại vì ở Python dùng = ở lệnh if là bị lỗi invaid syntax ngay
python dùng strict rule để hạn chế những lỗi lặt vặt như này
lệnh gán trong python là 1 statement, không phải expression nên không thể đưa vào vị trí của expression (vd trong if hay for)
còn C/C++ lệnh gán vẫn là expression, và luôn trả về true
Mà hình như Python “cao” hơn C++ xíu nhề
Ví dụ ?
Nó đơn giản là lấy cái giá trị được gán xong để đem đi so sánh thôi.