Mimo tego, że wszystkie przykłady w zadaniu poprawnie się wykonują, to sędzia ma jakieś problemy. Nie mam siły już do tego zadania - jakaś podpowiedź co robię źle?
[Kod usunięto]
created
last reply
- 45
replies
- 2.8k
views
- 12
users
- 15
likes
- 9
links
Mimo tego, że wszystkie przykłady w zadaniu poprawnie się wykonują, to sędzia ma jakieś problemy. Nie mam siły już do tego zadania - jakaś podpowiedź co robię źle?
[Kod usunięto]
Nie, nie wszystkie przykłady, a właściwie to żaden - po prostu źle sprawdziłeś (jak należy poprawnie sprawdzać ?)
ale to prosty błąd, większym problemem jest, że nie przeczytałeś dokładnie treści zadania, więc wróć do treści zadania i uważnie przeczytaj
również przeczytaj punkty 1-5 z mojego innego postu
Rzeczywiście - wcześniej warunek, który sprawdzał hasła był zły, a właściwie go nie było. Teraz jak widać wszystkie przykłady są poprawnie wykonywane, a sędzia nadal odrzuca…
Login:
od 3 do 12 znaków - jest;
tylko litery oraz cyfry - jest.
Haslo:
od 5 do 15 znaków - jest;
co najmniej jedna wielka, mała, cyfra i znak specjalny - jest.
Reszta chyba prawie na pewno się zgadza…
[Kod usunięty]
@pwlnet17 mylisz się.
Login musi zawierać od 3 do 12 znaków:
if (lo.length() <= 3 && lo.length() >= 12) { // błędny warunek
Musisz dostosować się do kolejności podanej w zadaniu. W przypadku rejestracji gdy podany zostanie zajęty login i błędne hasło musisz wypisać “Blad”, a nie “Login zajety”.
PS. Spróbuj skrócić trochę kod i rozdziel warstwę logiki od operacji IO.
Proszę o podpowiedź dotyczącą tego zadania, już naprawdę mam mam dosyć a jestem zbyt uparty żeby sobie odpuścić. Mój kod https://pastebin.com/hEccTrmB20 oraz jeszcze zapytam czy tu może być problem z podawaniem wartości przez cin?
cout << "register ";
cin >> registerAttemps;
Na wejściu pojawi się nieokreślona liczba zestawów zawierająca słowa register/login - dlatego powinieneś wczytać stringa i wykonać podaną operację:
int attempts;
std::string command;
while (std::cin >> command >> attempts) {
if (command == "register") {/*register*/}
else if (command == "login") {/*login*/}
}
W funkcji main masz zdublowany fragment kodu. To wszystko