Quick actions

cmd+k|ctrl+k

Navigation

Languages

dop1lec

Snippet info

Language

Cpp

Visibility

public

Author

skezze

Created

2020-03-03T19:01:57Z

Updated

2020-03-03T20:17:00Z

#include <iostream>
#include <string.h>
#include <limits>
using namespace std;
int main()
{
    setlocale(0, "");
    cout << "требования к паролю:\nдлина пароля от 8 символов\n\nналичие хотя бы одной прописной буквы,\nналичие хотя бы одной строчной буквы,\nналичие хотя бы одной цифры,\nналичие хотя бы одного символа пунктуации, " << endl;
    string password;
    int lengt;
    while (true)
    {
        cin >> password;
        cin.clear(); // на случай, если предыдущий ввод завершился с ошибкой
        cin.ignore(numeric_limits<streamsize>::max(), '\n');
        lengt = password.length();
        if (lengt > 8)
        {
            break;
        }
        cout << "плохой пароль" << endl;
        lengt = 0;
    }

    char big[26], small[26], special[15], a = 'a', b = 'A', c = '!',numbers[10],l='0';
    for (int i = 0; i < 26; i++)
    {
        small[i] = a;
        big[i] = b;
        a++;
        b++;
    }
    for (int i = 0; i < 15; i++)
    {
        special[i] = c++;
    }

    for (int i = 0; i < 10; i++)
    {
        numbers[i] = l++;
    }
   
        bool d = false, e = false, f = false, g = false;
        for (int j = 0; j < lengt; j++)
        {
            for (int i = 0; i < 26; i++)
            {
                if (password[j] ==big[i] )
                    d = true;
                if (password[j] ==small[i] )
                    e = true;
                if (i < 16)
                {
                    if (password[j] ==special[i] )
                        g = true;
                    if (i < 11)
                    {
                        if (password[j] == numbers[i])
                            f = true;
                    }
                }
               
            }

        }
        if (d == e == f == g == true)
            cout << "хороший пароль" << endl;
        else
            main();
   
    return 0;
}//done...
INFO