Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

rzutowanie za pomocą operatora static_cast

Ostatnio zmodyfikowano 2016-08-03 00:20
Autor Wiadomość
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-08-01 22:35:29
Ok, super. A czym właściwie różni się string od tablicy char (po zgaduje, że tym własnie jest?)?

Może przedstawie co chciałbym zrobić.

Chciałbym zrobić program w którym gracz wpisuję hasło składające się (póki co) tylko z liter. Po czym program wpisuje kolejno litery a,b,c... i porównuje z hasłem. Kiedy dojdzie do 'z' zaczyna się aa, ab, ac... Teraz tylko jak zrobić coś takiego?

int main()
{
char haslo[x] ;
cin>>haslo;
    return 0;
}


No właśnie... x. Wielkości tablicy nie można zmienić w trakcie działania programu więc instrukcja cin>>x; odpada. Ewentualnie można nadać jej wielkość np. 10 i z góry ustalić, że mogą być hasła max. 10 znaków, ale czy to dobre rozwiązanie? Załóżmy, że tak będzie:

int main()
{
    char haslo[10] ;
    cin>>haslo;

    char tabl[3]{'a','b','c'}  // dla uproszczenia na razie tylko te 3 litery
   
int numer_elementu=0;
while(numer_elementu<3)

     {
             cout<<tabl[numer_elementu];
             if(???)cout<<"haslo to: "<<tabl[numer_elementu]; // no właśnie. if co? co zrobić, żeby porównać tablice haslo z tablicą tabl
             numer_elementu++;
     }
          return 0;
}

kod napisany tylko do zobrazowania problemu i pominąłem w nim np. zatrzymanie programu po odgadnięciu hasła. Także proszę o jakieś instrukcję (mam na myśli porady, nie kod ;) ).
PS. przepraszam, że bez tej fajnej obramówki pt. C/C++ ale niestety nie wiem jak takową stworzyć.
P-150479
carlosmay
» 2016-08-02 00:35:41
Przeczytaj to bardzo uważnie!

To jest rozwiązanie:
C/C++
int main()
{
    char tabl[ 10 ] = { 'a', 'b', 'c', '\0' };
    char haslo[ 10 ];
    cin.getline( haslo, 10 ); // abc
   
    if( strcmp( tabl, haslo ) == 0 ) {
        cout << "haslo jest poprwane\n";
    }
}
string jest wygodniejsze.
P-150483
latajacaryba
Temat założony przez niniejszego użytkownika
» 2016-08-03 00:20:12
Wszystko jasne, przestudiowałem info o zakładaniu tematów, za pomoc wszystkim dziękuję, zamykam temat :)
P-150520
1 2 « 3 »
Poprzednia strona Strona 3 z 3