Problemy z warunkiem if
Ostatnio zmodyfikowano 2008-03-20 20:27
pg Temat założony przez niniejszego użytkownika |
Problemy z warunkiem if » 2008-02-13 20:48:28 Dopiero się uczę, ale już staram się coś kombinować i niestety nie zawsze mi wychodzi. Pierwszy problem: #include<iostream> #include<conio.h> using namespace std; int main() { char wyraz[ 100 ]; char tak = tak; cout << "Czy jestes x??(wpisz tak lub nie, w innym przypadku program zostanie zamkniety): " << endl; gets( wyraz ); if( wyraz = tak ) { cout << "wszystkiego najlepszego z okazji walentynek walenty" << endl; } else { cout << "Przekaz x zyczenia" << endl; } getch(); return( 0 ); } a mianowicie polega on na tym, że chciałbym aby po napisaniu "tak" wykonała mi się instrukcja z warunku. Wiem, że trochę zagmatwałem, ale jak by co topytać. Jakbym miał jakieś problemy to będę umieszczał w tym temacie |
|
DejaVu |
Poprawna postać kodu » 2008-02-13 21:28:04 #include<iostream> #include<conio.h> using namespace std; int main() { char wyraz[ 100 ]; cout << "Czy jestes x\?\?(wpisz tak lub nie, w innym przypadku program zostanie zamkniety): " << endl; gets( wyraz ); cout << "odp:" << wyraz << endl; if( strcmp( wyraz, "tak" ) == 0 ) { cout << "wszystkiego najlepszego z okazji walentynek walenty" << endl; } else { cout << "Przekaz x zyczenia" << endl; } getch(); return( 0 ); } |
|
sierazaa |
» 2008-03-20 20:27:49 Ja bym proponował naprawić to trochę inaczej. Wytłumaczę Ci wszystkie popełnione błędy: #include<iostream> #include<conio.h> using namespace std; int main() { char wyraz[ 100 ]; char tak = tak; cout << "Czy jestes x??(wpisz tak lub nie, w innym przypadku program zostanie zamkniety): " << endl; gets( wyraz ); if( wyraz = tak ) { cout << "wszystkiego najlepszego z okazji walentynek walenty" << endl; } else { cout << "Przekaz x zyczenia" << endl; } getch(); return( 0 ); }
Teraz pokaze Ci jak powinienes ten kod napisac: #include <iostream> #include <conio.h> #include <string> using namespace std; int main() { string wyraz; cout << "Czy jestes x??(wpisz tak lub nie, w innym przypadku program zostanie zamkniety): " << endl; cin >> wyraz; if( wyraz == "tak" ) { cout << "wszystkiego najlepszego z okazji walentynek walenty\n" << endl; } else { cout << "Przekaz x zyczenia\n" << endl; } getch(); return 0; }
Nie używaj do przetrzymywania 'słów' tablic char. Tak było w C. C++ posiada bibliotekę STRING w której o wiele łatwiej zapisuje się 'słowa'. Np. string text; string text = "jakis tekst'; Do sprawdzania (przy IF) czy zmienna wyraz to 'tak' nie używaj innej zmiennej, bo po prostu tylko marnujesz pamięć. Lepiej wpisać if(wyraz=="tak"). Jeśli masz jakieś pytania to wal śmiało :-) PS: Jak by program po kompilacji nie czakał na naciśnięcie dowolnego klawisza ( getch(); ) wpisz po cin >> wyraz; cos takiego: cin.ignore(); |
|
« 1 » |