01/10/2018, 00:41
Newbie hỏi về chương trình trong C++
Mình muốn tạo chương trình Generator Password, nói chung thì code có trên mạng rồi, mình muốn chỉnh sửa cho nó nhiều chức năng tí.
Ý tưởng là yêu cầu người dùng nhập vào chiều dài pass muốn tạo, max 30. nếu người dùng nhập quá số 30 thì chương trình báo lỗi và yêu cầu nhập lại. Mình đang bí chỗ nhập lại nên muốn nhờ mn giúp đỡ. Code trên mạng đã qua chỉnh sửa của mình:
#include <iostream>
#include <string>
#include <cstdlib>
#include <ctime>
using namespace std;
static const char alphanum[] =
"0123456789"
"!@#$%^&*"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz";
int stringLength = sizeof(alphanum) - 1;
char genRandom() // Random string generator function.
{
return alphanum[rand() % stringLength];
}
int main()
{
int i;
cout << "---------------------------------------------------------
";
cout << "Tool Generator Password
" << "Language: C++
";
cout << "
";
cout << "Type the length of your password (max 30): "; cin >> i; cout << "
";
if (i <= 30)
{
cout << "Your General Password is: ";
srand(time(0));
for (int z = 0; z < i; z++)
{
cout << genRandom();
}
cout << "
";
cout << "---------------------------------------------------------
";
cout << "
";
}
else
{
cout << "Error !!! The length of your password mustn't be over 30. Please try again
";
cout << "Type the length of your password (max 30): "; cin >> i; cout << "
";
}
return 0;
}
Cảm ơn mọi người nhiều
Bài liên quan
Bạn có thể dùng vòng lặp while, tạo ra 1 biến bool để check xem đã thỏa yêu cầu chưa, nếu chưa thì tiếp tục vòng lặp
mình hiểu bạn, nhưng mà mình vẫn chưa code được
Code của mình sửa từ code của bạn:
Bạn thêm vòng
do-while
để kiểm tra tính hợp lệ của độ dài (cụ thể ở đây là biếni
).Nếu
i > 30
thì vòngdo-while
tiếp tục xảy ra, thêm câu lệnh thông báo lỗi trongif
, và không cầnelse
nữa vì đã check hợp lệ ngay từ đầu.Chúc bạn học tốt!
dạng thế này nè
à mình hiểu rồi, cảm ơn bạn nha