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

Prośba o pomoc z pętlą.

Object Storage Arubacloud
0 głosów
127 wizyt
pytanie zadane 2 maja 2020 w C i C++ przez veron_v Obywatel (1,360 p.)

Witam. Na początek to jest kod który stworzyłem. 

#include <iostream>
#include <string>
#include "login.h"

using namespace std;

string login, pass;

int main()
{
  setlocale(LC_ALL, "");
  system ("cls");
    
    ///procedura
    logon(); 
  
    cout << " LOGIN Enter: ";
    cin >> login;
    cout << " Password: ";
    cin >> pass ;
  system ("cls");
  
    fun_login(); ///Funkcja odpowiadajaca za logowanie.
  
  
  
   system ("pause"); 
   return 0;
}
  
  
  ///Przywitanie
    void logon()
    {
    cout << "*********************************\n";
    cout << "*                               *\n";
    cout << "* Created by Veron R Verrazzano *\n";
    cout << "*                               *\n";
    cout << "*********************************" << endl << endl;
    }
      
    
///Logowanie
string fun_login()
{
  if ((login=="admin")&&(pass=="admin"))
    {
    cout << " >>> ACCES GRANTED <<< \n";
    cout << "    >>> WELCOME <<< " << endl;
    }
  else
    {  
      cout << " >> WRONG PASS <<\n";
      cout << "  >> TRY AGAIN << " << endl << endl;
      cout << " LOGIN Enter: ";
      cin >> login;
      cout << " Password: ";
      cin >> pass;
      system ("cls");

        if ((login=="admin")&&(pass=="admin"))
        {
          cout << " >>> ACCES GRANTED <<< \n";
          cout << "    >>> WELCOME <<< " << endl << endl;
        }

        else
        {
          cout << " >> WRONG PASS <<\n";
          cout << "  >> TRY AGAIN << " << endl << endl;
          cout << " LOGIN Enter: ";
          cin >> login;
          cout << " Password: ";
          cin >> pass;
          system ("cls");

          if ((login=="admin")&&(pass=="admin"))
          {
            cout << " >>> ACCES GRANTED <<< \n";
            cout << "    >>> WELCOME <<< " << endl << endl;
          }
          else
          {
            cout << " !! ACCESS DENIED !! " << endl << endl;
          }
        }
    }
}

I teraz moja prośba. Jak mogę skrócić ten kod a dokładnie funkcje logowania tak by osiągnąć ten sam efekt który jest w w/w kodzie czyli za pomocą if'ów? Był bym wdzięczny za opracowanie czegoś mądrego :) Z góry dziękuję i pozdrawiam. 

komentarz 2 maja 2020 przez overcq Pasjonat (21,730 p.)
Możesz użyć pętli i licznika.

1 odpowiedź

+1 głos
odpowiedź 2 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)
#include <iostream>

bool login (std::string nickname, std::string password) {
    if ((nickname == "admin") && (password == "admin")) {
        return true;
    } else {
        return false;
    }
}

int main ()
{
std::string log, pass;
int i = 0;
    do {
        std::cin >> log >> pass;
        if (login(log, pass) == false) {
            std::cout << " !! ACCESS DENIED !! ";
            i ++;
        } else {

        }
    } while (i < 3);
}

 

komentarz 2 maja 2020 przez veron_v Obywatel (1,360 p.)
Dziękuje serdecznie. Takiego kodu było mi trzeba. Teraz muszę zrozumieć to co napisałeś w tym kodzie :)
komentarz 3 maja 2020 przez DragonCoder Nałogowiec (36,500 p.)
Przyjmuje 2 parametry typu string: nickname i password.

Sprawdza czy czy odpowiadaja oba tadmin (moze tam stac cokolwiek), jesli tak to zwracaja true, jesli nie to false.

Pozniej w petli do while, czytasz wejscie ze strumienia i zapisujezs do zmiennych. W ifie przatrzysz, czy zwrocona wartosc jest false, jesli tsk to iterujesz i, jesli nie to mueisz zrobic najlrpiej break;

Podobne pytania

0 głosów
2 odpowiedzi 534 wizyt
pytanie zadane 10 października 2015 w Inne języki przez niewiem17 Początkujący (480 p.)
0 głosów
0 odpowiedzi 55 wizyt
pytanie zadane 31 grudnia 2023 w Offtop przez LordRegner Nowicjusz (180 p.)
0 głosów
0 odpowiedzi 160 wizyt
pytanie zadane 13 sierpnia 2022 w C i C++ przez Cixo Gaduła (4,070 p.)

92,615 zapytań

141,465 odpowiedzi

319,779 komentarzy

61,997 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!

...