• 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 :) ?

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+1 głos
576 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 (278,710 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 (278,710 p.)
spoko napisałem przykład z while
komentarz 30 lipca 2021 przez Uczen12345 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 (278,710 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 (278,710 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 (278,710 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 (256,320 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 (278,710 p.)
nie piszę w cpp, więc to przykład na szybko.

Podobne pytania

0 głosów
3 odpowiedzi 464 wizyt
0 głosów
3 odpowiedzi 652 wizyt
0 głosów
1 odpowiedź 404 wizyt

93,187 zapytań

142,203 odpowiedzi

322,021 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2169p. - Marcin Putra
  9. 2164p. - Adrian Wieprzkowicz
  10. 2006p. - Michal Drewniak
  11. 1950p. - Anonim 3619784
  12. 1909p. - Dawid128
  13. 1901p. - Mikbac
  14. 1744p. - rafalszastok
  15. 1487p. - Michał Telesz
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...