Em có viết một code với nội dung là: “Nhập vào giới tính, xét xem là nam hay nữ, sau đó xuất ra màn hình giới tính đó. (điều kiện là chỉ cho phép nhập nam hoặc nữ, nếu nhập những chữ khác sẽ bắt nhập lại)”
Vì người dùng có thể nhập ‘Nam’ ‘nAm’ ‘nU’ ‘NU’, nên ý tưởng của em là sẽ chuyển tất cả thành ký tự thường là ‘nu’ & ‘nam’ sau đó so sánh nó với điều kiện trong while
, nếu không thỏa tức là nhập những chữ khác thì bắt nhập lại.
Nhưng sau khi chạy thì code của em không thể thoát khỏi vòng while
kể cả khi em nhập đúng. Mong mọi người chỉ chỗ sai dùm em. Đây là code của em ạ.
#include <iostream>
using namespace std;
int main()
{
char chGioiTinh[4];
while ((chGioiTinh != "nu") || (chGioiTinh != "nam")) {
cout << "Gioi tinh: ";
cin >> chGioiTinh;
for (int i = 0; chGioiTinh[i] != '\0'; i++)
if (chGioiTinh[i] >= 'A' && chGioiTinh[i] <= 'Z')
chGioiTinh[i] = chGioiTinh[i] + 32;
}
cout << chGioiTinh << endl;
return 0;
}