• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Czy mógłby mi ktoś napisać w jaki sposób mogę stworzyć petle w takim zadaniu :) ?

Object Storage Arubacloud
+1 głos
431 wizyt
pytanie zadane 30 lipca 2021 w C i C++ przez IgorS1 Początkujący (260 p.)
Witam wszystkich :)

Od 2 godzin męczę się i myślę w jaki sposób rozwiązać te zadanie w taki sposób aby powstały petle przed if'em. Sam kod już napisałem, brakuję mi jedynie tej etli 4 krotnej na tym if'ie. Mam nadzieję że ktoś mi pomoże. Napiszę treść zadania z ksiażki Alexa Alaina - "Napisz program służący do weryfikacji haseł, który daje użytkownikowi kilka szans na podanie poprawnego hasła, dzięki czemu łamanie hasła będzie trudniejsze."

Prosiłbym o poradę.

Pozdrawiam Igor S.

Mój prosty kod (ps. dopiero zaczynam naukę więc nie mówicie mi że jest to banalne, dla was tak, ale dla młodych osób nie ;) )

---------------------------------------

#include <iostream>

using namespace std;
string  haslo;
int main()
{

    cout << "Witaj, podaj haslo, masz 4 proby: "   << endl;
        cin >> haslo;

while (haslo == "1234");
{

        if (haslo != "1234")
        {
            cout << "Podales porpawne haslo "   <<endl;
        }

        else
        {

        cout << "Podales nie porpawne haslo, sporbuj ponownie "   <<endl;
        }
}

    return 0;
}
-----------------------
komentarz 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)
zadaj poprawnie pytanie, sformatuj kod do odpowiedniego bloku.
komentarz 30 lipca 2021 przez IgorS1 Początkujący (260 p.)
Już poprawiam pytanie :) i i czym jest formatowanie do odpowiedniego bloku?
komentarz 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)
spoko napisałem przykład z while
komentarz 30 lipca 2021 przez ITshnyk Obywatel (1,800 p.)

@IgorS1, 

https://forum.pasja-informatyki.pl/regulamin-forum

Zadając pytanie Pasjonat zobowiązany jest do przestrzegania następujących zasad:

  1. kod należy wstawić przy użyciu specjalnego bloczka do tego przeznaczonego. W przypadku jego większych ilości, można skorzystać z zewnętrznego serwisu hostującego tekst (np. gist.github.com czy pastebin.com) i w treści pytania umieścić link; dozwolone jest również podanie linka do strony internetowej, której dotyczy problem oraz umieszczenie kodu w serwisie GitHub (lub podobnych) czy serwisach oferujących pogląd działania kodu online, typu jsfiddle.net czy codepen.io,

https://forum.pasja-informatyki.pl/tips

  • Publikując kody źródłowe korzystaj ze specjalnego bloczku koloryzującego składnię (przycisk z napisem code w edytorze). Nie zapomnij o ustawieniu odpowiedniego języka z rozwijanego menu oraz czytelnym formatowaniu kodu
  • .Przycisk code

 

2 odpowiedzi

+1 głos
odpowiedź 30 lipca 2021 przez TOM_CPP Pasjonat (22,640 p.)

Użyj pętli for:

int main()
{
    string haslo;

    for( int licznik {4} ; licznik>0 ; --licznik )
    {
        cout << "Podaj haslo, masz jeszcze " << licznik << " proby: "   << endl;
        cin >> haslo;

        if( haslo == "1234" )
        {
            cout << "Podales poprawne haslo " << endl;
            break;
        }
        else cout << "Haslo niepoprawne ... " << endl;
    }
}

 

komentarz 30 lipca 2021 przez IgorS1 Początkujący (260 p.)
Dziękuję ci bardzo, tylko że pojawia mi się error

error stray '/240' in program

Co to może oznaczać i co powinien zrobić?
komentarz 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)
Ten błąd informuje głównie o kodowaniu niepoprawnym wiec to tego kwestia
komentarz 30 lipca 2021 przez IgorS1 Początkujący (260 p.)
Czyli mam jedynie dodać wstęp

#include <string>, tak?

Dobrze myślę?
0 głosów
odpowiedź 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)

Jeśli ma to być 4 razy możesz zrobić flagę ... dodać jakieś indeksowanie 
 

#include <iostream>
#include <string>

using namespace std;

int main ()
{
string password;
int counter= 0;

while ( counter < 4 )
{
cout << "Podaj hasło: " << endl;
cin >> password;

if ( password != "1234" )
{
    cout << "To haslo jest niepoprawne." << "\n" <<
    endl;

    counter++;
}
else
{
     cout << "To haslo jest poprawne." << "\n" <<
     endl;
    break;
}
}

cout << "Dostęp zablokowany za duża liczba prób." << endl;
}

 

komentarz 30 lipca 2021 przez IgorS1 Początkujący (260 p.)
O rany to Działa! Tak jak autor chciał, dziękuję ci niezmiernie, mam tylko 2 pytania:

Czym jest counter?

I dlaczego jest break? Przecież nie ma tutaj switcha?

Pozdrawiam

:)
komentarz 30 lipca 2021 przez IgorS1 Początkujący (260 p.)

@Wiciorny, Przepraszam, niezawuważyłem że counter to zwykły int, sorki :) Moje przeoczyenie

komentarz 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)

@IgorS1, wystarczy odpalić kod ^^. 
Zacznij analizować kody, bo widzę też twoje pytania wyżej a nie na pałę przeklejać... 

komentarz 30 lipca 2021 przez VBService Ekspert (252,660 p.)

@Wiciorny,   wink

#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
string password;
int counter= 0;
 
while ( counter < 4 )
{
cout << "Podaj hasło: " << endl;
cin >> password;
 
if ( password != "1234" )
{
    cout << "To haslo jest niepoprawne." << "\n" <<
    endl;
 
    counter++;
}
else
{
     cout << "To haslo jest poprawne." << "\n" <<
     endl;
    break;
}
}
 
cout << "Dostęp zablokowany za duża liczba prób." << endl;
}

komentarz 30 lipca 2021 przez Wiciorny Ekspert (269,590 p.)
nie piszę w cpp, więc to przykład na szybko.

Podobne pytania

0 głosów
3 odpowiedzi 344 wizyt
0 głosów
3 odpowiedzi 469 wizyt
0 głosów
1 odpowiedź 297 wizyt

92,538 zapytań

141,377 odpowiedzi

319,456 komentarzy

61,923 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...