私が学んでいるC++を生成し、私は「発電用パスワード」を作成しようとしてきたと私はいくつかの問題を持っている:ここ (int型メイン)ソースです:はランダムなパスワード[C++]
//Declaring Variables
int PasswordNumbers, PasswordChar;
char alphabet[26] = { 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z' };
string * passwords;
string password;
//Message and Input
cout << "How Many Passwords Should Generate ?" << endl;
cin >> PasswordNumbers;
cout << "How Many Letters/Numbers Should be in each Passowrd ?" << endl;
cin >> PasswordChar;
passwords = new string[PasswordNumbers];
for (int j = 0; j < PasswordNumbers; j++) { //How Many Passwords?
for (int i = 0; i < PasswordChar; i++) { //How Many Letters/Numbers?
int randomBool = rand() % 2;
if (randomBool == 1) {
int random = rand() % 10;
password.append(to_string(random));
}
else {
int random = rand() % 26;
string randomLetter = to_string(alphabet[random]);
password.append(randomLetter);
}
}
passwords[j] = password;
}
for (int i = 0; i < passwords->length(); i++) {
printf("Random Number: %s \n", passwords[i].c_str());
}
delete[] passwords;
問題:
- 数字のみを生成します。
- ユーザーが選択した文字数を生成しません。
- 同じ番号を生成しています。
コードは、私には正常に見える、私は間違って何かを参照してくださいカント...
これに最も適したツールは、デバッガです。 – Charles
私はあなたが 'to_string'に' char'を渡すと、あなたが思っていることをしないと思います。 –
srand()を使用して乱数をシードします。そうしないと、実行時に同じ番号が表示されます。擬似乱数を調べる。 – sBanda