#include <iostream>
#include <string>
#include <cctype> // Untuk fungsi isdigit, isupper, islower, isalpha
int main() {
std::string password;
int jumlahAngka = 0;
int jumlahHurufKapital = 0;
int jumlahHurufKecil = 0;
int jumlahSimbol = 0;
std::cout << "Masukkan kata sandi: ";
std::getline(std::cin, password);
for (char c : password) {
if (std::isdigit(c)) {
jumlahAngka++;
} else if (std::isupper(c)) {
jumlahHurufKapital++;
} else if (std::islower(c)) {
jumlahHurufKecil++;
} else {
jumlahSimbol++;
}
}
std::cout << "\nHasil analisis kata sandi:\n";
std::cout << "Jumlah angka : " << jumlahAngka << std::endl;
std::cout << "Jumlah huruf kapital : " << jumlahHurufKapital << std::endl;
std::cout << "Jumlah huruf kecil : " << jumlahHurufKecil << std::endl;
std::cout << "Jumlah simbol : " << jumlahSimbol << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y2N0eXBlPiAvLyBVbnR1ayBmdW5nc2kgaXNkaWdpdCwgaXN1cHBlciwgaXNsb3dlciwgaXNhbHBoYQoKaW50IG1haW4oKSB7CiAgICBzdGQ6OnN0cmluZyBwYXNzd29yZDsKICAgIGludCBqdW1sYWhBbmdrYSA9IDA7CiAgICBpbnQganVtbGFoSHVydWZLYXBpdGFsID0gMDsKICAgIGludCBqdW1sYWhIdXJ1ZktlY2lsID0gMDsKICAgIGludCBqdW1sYWhTaW1ib2wgPSAwOwoKICAgIHN0ZDo6Y291dCA8PCAiTWFzdWtrYW4ga2F0YSBzYW5kaTogIjsKICAgIHN0ZDo6Z2V0bGluZShzdGQ6OmNpbiwgcGFzc3dvcmQpOwoKICAgIGZvciAoY2hhciBjIDogcGFzc3dvcmQpIHsKICAgICAgICBpZiAoc3RkOjppc2RpZ2l0KGMpKSB7CiAgICAgICAgICAgIGp1bWxhaEFuZ2thKys7CiAgICAgICAgfSBlbHNlIGlmIChzdGQ6OmlzdXBwZXIoYykpIHsKICAgICAgICAgICAganVtbGFoSHVydWZLYXBpdGFsKys7CiAgICAgICAgfSBlbHNlIGlmIChzdGQ6OmlzbG93ZXIoYykpIHsKICAgICAgICAgICAganVtbGFoSHVydWZLZWNpbCsrOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGp1bWxhaFNpbWJvbCsrOwogICAgICAgIH0KICAgIH0KCiAgICBzdGQ6OmNvdXQgPDwgIlxuSGFzaWwgYW5hbGlzaXMga2F0YSBzYW5kaTpcbiI7CiAgICBzdGQ6OmNvdXQgPDwgIkp1bWxhaCBhbmdrYSAgICAgICAgIDogIiA8PCBqdW1sYWhBbmdrYSA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIkp1bWxhaCBodXJ1ZiBrYXBpdGFsIDogIiA8PCBqdW1sYWhIdXJ1ZkthcGl0YWwgPDwgc3RkOjplbmRsOwogICAgc3RkOjpjb3V0IDw8ICJKdW1sYWggaHVydWYga2VjaWwgICA6ICIgPDwganVtbGFoSHVydWZLZWNpbCA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgIkp1bWxhaCBzaW1ib2wgICAgICAgIDogIiA8PCBqdW1sYWhTaW1ib2wgPDwgc3RkOjplbmRsOwoKICAgIHJldHVybiAwOwp9Cg==