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

Jeśli zmienna 1 jest równa zmiennej 2. (if else)

Ostatnio zmodyfikowano 2013-11-27 16:29
Autor Wiadomość
Tomasz95
Temat założony przez niniejszego użytkownika
Jeśli zmienna 1 jest równa zmiennej 2. (if else)
» 2013-11-19 21:50:47
Jak zapisać w kodzie źródłowym to co wypisałem w temacie?
If ( zmienna1?zmienna2 );
Co wpisać zamiast znaku ? żeby instrukcje z tej funkcji były wykonywane tylko kiedy zmienna1 jest równa zmiennej2.
Mi chodzi o zmienne tekstowe do stworzenia menu do gry z zadania domowego którejś z lekcji. (Nie pamiętam z której lekcji.)
P-96735
RazzorFlame
» 2013-11-19 22:04:08
Zależy jakiego naprawdę te zmienne tekstowe są typu. Jeśli to wskaźnik na tablice char-ów bądź tablica char-ów to możesz użyć funkcji strcmp(). Jeśli to zmienne typu std::string to wystarczy operator ==. Przykład:
C/C++
char * t1 = "aaa", * t2 = "aaa"; //te dwa teksty sa takie same
if( strcmp( t1, t2 ) )
{
    //teksty sa takie same
}
else
{
    //teksty sa inne
}
/*
DRUGI PRZYKLAD
*/
std::string str1 = "bbb", str2 = "bbb";
if( str1 == str2 )
{
    //teksty sa takie same
}
else
{
    //teksty sa inne
}
P-96739
Monika90
» 2013-11-20 08:58:34
C/C++
if( strcmp( t1, t2 ) )
{
    //teksty sa takie same
}
else
{
    //teksty sa inne
}
Odwrotnie.
P-96761
RazzorFlame
» 2013-11-20 19:10:28
Możliwe :P Nie sprawdziłem na wszelki wypadek kiedy zwraca jaką wartość. Dzięki za poprawke.
P-96825
Nitr0Skay
» 2013-11-21 00:12:58
A nie można skorzystać z Metody .compare() ?? Czym się to różni od strcmp() ??

C/C++
string odpowiedz;
string zwrotA[ 10 ][ 3 ];
string zwrotP[ 10 ][ 3 ];


zwrotA[ 7 ][ 0 ] = "confession";
zwrotP[ 7 ][ 0 ] = "spowiedz";
zwrotP[ 7 ][ 1 ] = "wyznanie";

cout << zwrotA[ 7 ][ 0 ] << " - ";
getline( cin, odpowiedz );

if(( odpowiedz.compare( zwrotP[ 7 ][ 0 ] ) == 0 ) ||( odpowiedz.compare( zwrotP[ 7 ][ 1 ] ) == 0 ) )
     cout << "prawda" << endl;
else
     cout << "falsz" << endl;

P-96878
RazzorFlame
» 2013-11-21 08:24:19
Kto ci powiedzial ze nie można. Po prostu te twoje rozwiązanie jest żmudne a na dodatek tylko dla std::string. Kolejną rzeczą jest to że tworzysz bez sensu 30 stringów...
P-96883
Nitr0Skay
» 2013-11-21 13:54:39
Zdaję sobie sprawę z tego, że tworzę bez sensu 30 Stringów. Ten program był tylko prostym prototypem, mającym za zadanie sprawdzić, w jaki sposób mogę ze sobą porównywać łańcuchy znaków, oraz w jaki sposób działa metoda .compare(), wszystko to pod kątem nieco większego projektu. Program ten spełnił swoje działanie, dlatego nie rozumiem, po co się czepiać ilości Stringów.
P-96915
Tomasz95
Temat założony przez niniejszego użytkownika
» 2013-11-22 23:31:15
Zadam od razu kolejne pytanie.
Co zrobić żeby, po wpisaniu tekstu do zmiennej tekstowej (Już w programie.) program nie szukał else? (Czyli tak że jest tylko if ale bez else.)
Oraz jak zrobić kilka razy if. (Np. jeśli liczba jest większa, jeśli liczba jest równa, jeśli liczba jest niższa, i else czyli nie spełnia żadnego warunku.)
Dziękuje za wszystkie odpowiedzi.
Dopisze jeszcze że jestem już w 4 poziomie kursu.
P-97093
« 1 » 2
  Strona 1 z 2 Następna strona