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

Sprawdzenie długości tekstu w if'ie

VPS Starter Arubacloud
0 głosów
172 wizyt
pytanie zadane 26 grudnia 2016 w C i C++ przez xnangan Nowicjusz (150 p.)

Cześć. Mam pytanie, jak w if'ie pokazać, że jeśli długość PIN'u jest krótsza niż 4 znaki, to wykonują sie poszczególne operacje. Podam kod i będzie to myśle bardziej zrozumiałe

#include <iostream>

using namespace std;

string PIN;

int main()
{
    cout << "Witaj!" << endl;
    cout << "Podaj swoj PIN: ";
    cin >> PIN;


    if(PIN=="1729")
        {
            cout << "Poprawny PIN";
        }
    if(PIN.size<4)
        {
            cout << "Zbyt krotki PIN";
        }
    else
        {
            cout << "Niepoprawny PIN";
        }


    return 0;
}

 

komentarz 26 grudnia 2016 przez Chess Szeryf (76,710 p.)
 if(PIN.size<4)
        {
            cout << "Zbyt krotki PIN";
            // (...) Twoje operacje
           // 
        }

Musisz po prostu pod tym cout'em napisać jakieś instrukcje?

komentarz 26 grudnia 2016 przez xnangan Nowicjusz (150 p.)
chodzi jedynie, żeby odsyłało do tego if'a, kiedy PIN, podany przez użytkownika będzie krótszy niż 4 znaki i wtedy ma wyświetlić ze PIN jest zbyt krótki, nic więcej

1 odpowiedź

+1 głos
odpowiedź 26 grudnia 2016 przez Fenix Nałogowiec (26,750 p.)
wybrane 26 grudnia 2016 przez xnangan
 
Najlepsza
Dokumentacja, Twój pin jest stringiem, wpisujesz w dokumentacji string, szukasz wybranej przez Ciebie metody w tym wypadku length().

 

http://www.cplusplus.com/reference/string/string/length/

 

Oprócz tego napisałeś 2 warunki if, zamiast zagnieździć wszystko w jednym (else if(warunek)). Dlatego gdy pin jest dłuższy od 3, a jest niepoprawny nie wyskakuje komunikat.
komentarz 26 grudnia 2016 przez unknown Nałogowiec (39,560 p.)
Lepiej jest używać metody size bo jest wspólna dla wszystkich kontenerów z STL.
komentarz 26 grudnia 2016 przez Fenix Nałogowiec (26,750 p.)
Nie do końca mogę się zgodzić do tego że size jest lepszym wyborem akurat w przypadku zwykłego tekstu. Człowiek myśląc o tekście nie myśli o jego wielkości tylko długości, przez co kod jest bardziej intuicyjny. Chyba że mnie zaskoczysz, i udowodnisz mi że to ma również znaczenie wydajnościowe. W innym wypadku jest to czysta konwencja.
komentarz 26 grudnia 2016 przez xnangan Nowicjusz (150 p.)
może inaczej jeszcze, chodzi mi po prostu o to, żeby kiedy PIN jest krótszy niż 4 znaki program pokazywał komunikat "Zbyt krótki PIN", bo ogólnie to nie działa :/
komentarz 26 grudnia 2016 przez Fenix Nałogowiec (26,750 p.)
W linijce 18, przed if wstaw else.

Podobne pytania

0 głosów
5 odpowiedzi 715 wizyt
pytanie zadane 19 marca 2016 w C i C++ przez luparuwka Początkujący (400 p.)
0 głosów
0 odpowiedzi 454 wizyt
0 głosów
1 odpowiedź 255 wizyt
pytanie zadane 12 lipca 2022 w C i C++ przez cpp_lover Początkujący (290 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...