Viết chương trình con trong 'else'

Em đang làm bài này
Expand the password checking program from earlier in this chapter and make it take multiple usernames, each with their own password, and ensure that the right username is used for the right password. Provide the ability to prompt user’s again if the first login attempt failed
trong chương “if statement”

http://codepaste.net/fh5moo

các bác cho hỏi là Tại sao khi chạy , thử nhập sai user và pass lần một thì lần hai (khi chạy chương trình con trong else nó không cho mình nhập nữa, chỉ in ra hai dòng
"Please enter username:"

"Please enter password:"

Thật ra thì lỗi là do khi bạn enter the password bằng kí tự trong khi đó thì bạn khai báo là số
string user_a;
int pass_a;
string user;
int pass;

Nếu bạn muốn chương trình chạy được và cải tiến hơn, nghĩa là khi nhập password vào bằng số hay bằng đều chạy được thì bạn nên dùng string.
string user_a, user;
string pass_a, pass;
và mình thấy để tốt hơn nữa là bạn nên dùng hàm, nhìn có vẻ chuyên nghiệp hơn.
;

1 Like

Mình nhớ loạt video hướng dẫn C++ của anh Đạt có giải thích về vụ này, bạn tìm xem nhé (bài 5 hay 6 gì đó)…

1 Like

tức là khi nhập sai pass thì cũng phải nhập sai bằng số à a (theo cái cũ của e)
e sẽ thử sửa lại thành string
thanks a :slight_smile:

ok b
để mình xem lại
chắc tại chưa xem kĩ :slight_smile: thanks nhé

em đã sửa thành > string nhưng chương trình vẫn** không cho phép người dùng nhập mật khẩu lần 2** (a chỉ giúp e với :slight_smile: )

sau khi bạn chỉnh qua kiểu string. bạn phải sửa lại ở câu lệnh
if ((user == “phong” && pass == “123456” ) || (user == “anh” && pass == “123456789” ))

if ((user_a == “phong” && pass_a == “123456”) || (user_a == “anh” && pass_a == “123456789” ))
chỉ cần thêm “” là được.
try again

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