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

Program wyświetla błędną wartość.

Ostatnio zmodyfikowano 2013-02-06 21:44
Autor Wiadomość
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:

C/C++
#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; // << --- tu wg mnie trzeba przypisać wynik do wyśietlanej zmiennej ( np n_slowo)
   
};
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.
P-75842
pekfos
» 2013-02-06 21:34:20
Co Ci tu nie działa?
P-75862
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.
P-75864
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.
P-75865
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
P-75866
« 1 »
  Strona 1 z 1