• 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ą.

0 głosów
178 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 (22,600 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 736 wizyt
pytanie zadane 10 października 2015 w Inne języki przez niewiem17 Początkujący (480 p.)
0 głosów
1 odpowiedź 126 wizyt
0 głosów
0 odpowiedzi 196 wizyt
pytanie zadane 31 grudnia 2023 w Offtop przez LordRegner Nowicjusz (180 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...