求大神指点!!!
#include<iostream>
#include<string>
using namespace std;
string a, b;
bool da = 0, xiao = 0, num = 0, te = 0;
bool check(string b)
{
if((b.size() >= 6) && (b.size() <= 12))
{
for(char d : b)
{
if((d >= 97 && d <= 122) || (d >= 65 && d <= 90) || (d >= 48 && d <= 57) || (d == '@') || (d == '!') || (d == '#') || (d == '$'))
{
if(d >= 97 && d <= 122) xiao = 1;
else if(d >= 65 && d <= 90) da = 1;
else if(d >= 48 && d <= 57) num = 1;
else if(d == '@') te = 1;
else if(d == '!') te = 1;
else if(d == '#') te = 1;
else if(d == '$') te = 1;
else return 0;
if(te == 1)
{
if((da == 1 && xiao == 1) || (da == 1 && num == 1) || (xiao == 1 && num == 1))
{
return 1;
}
else return 0;
}
}
else return 0;
}
}
else return 0;
}
int main()
{
cin >> a;
a += ',';
for(char c : a)
{
if(c != ',')
{
b += c;
}
else
{
if(check(b) == 1) cout << b << endl;
b = "";
}
}
return 0;
}