Program wyświetla błędną wartość.
Ostatnio zmodyfikowano 2013-02-06 21:44
poliocertes Temat założony przez niniejszego użytkownika |
Program wyświetla błędną wartość. » 2013-02-06 20:51:43 Witam. Stawiam pierwsze kroki w C++. Udało mi się sklecić coś co się nawet ku memu zdzwieniu skopilowało i uruchomiło. Niestety nie działa tak jak powinno. Poniżej kod: #include <stdlib.h> #include <iostream>
using namespace std;
class zamiana1 { public: string slowo; string n_slowo; int i; void pobierz(); void zmien(); void pokaz(); };
void zamiana1::pobierz() { cout << "podaj slowo" << endl; cin >> slowo; }; void zamiana1::zmien() { for( i = 0; i < slowo.length(); i++ ) if( slowo[ i ] > 64 && slowo[ i ] < 91 ) slowo[ i ] = slowo[ i ] + 32; }; void zamiana1::pokaz() { cout << slowo << endl; };
int main() { zamiana1 obiekt; obiekt.pobierz(); obiekt.zmien(); obiekt.pokaz(); return 0; }; Jak widać w moi komentarzu wydaje mi się, ze we wskazanym miejscu nie jest tak jak powinno i stąd wyświetla to, co wpisałem bez przekonwertowania. Będę wdzięczny za pomoc. |
|
pekfos |
» 2013-02-06 21:34:20 Co Ci tu nie działa? |
|
Wasilek |
» 2013-02-06 21:37:53 if( slowo[ i ] > 64 && slowo[ i ] < 91 ) Nie wykona się (przykład "kot") każdy znak w tym wyrazie jest z innego przedziału. |
|
pekfos |
» 2013-02-06 21:40:38 Prawda, twój kod zamienia duże litery na małe. W "kot" nie ma dużych liter. |
|
Wasilek |
» 2013-02-06 21:44:02 A więc wychodzi na to, że n_slowo jest niepotrzebne (chyba, że do czegoś później) i po prostu nie wiesz co ma ten kod robić (zresztą sam nie wiedziałem o co dokładnie chodziło póki pekfos nie napisał) ;P |
|
« 1 » |