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

Problem z uzyskaniem pewnej wartości

Ostatnio zmodyfikowano 2014-10-30 21:26
Autor Wiadomość
Balttazarr
Temat założony przez niniejszego użytkownika
Problem z uzyskaniem pewnej wartości
» 2014-10-30 19:17:56
Witam.

Przygodę z c++ zacząłem miesiąc temu i dopiero ostatnio wprowadziłem do swoich pojęć "funkcja" ( np. void ).

Moim zadaniem jest napisać program wczytujący tekst z klawiatury i przekazujący go do funkcji, zwracającej
liczbę wyrazów.

Problem polega na tym , że ciągle otrzymuję "uśmiech", bo w funkcji ileSLOW() 'ilosc = 1' , a return to 'return  ilosc;'. W moim umyśle powstaje błędne koło , bo co ma wtedy zwrócić podprogram , jak nie liczbę podanych słów? Naprawdę nie potrafie tego wykonać

Poniżej kod  :
C/C++
[ code ]

#include <iostream>

using namespace std;

int ileSLOW( char z[ 100 ] )
{
   
    int ilosc = 1;
    for( int i = 0; i <= 100; i++ )
    {
        if( z[ i ] == 32 )
             ilosc++;
       
    }
    return ilosc;
}


int main()
{
    char w[ 100 ];
   
    cout << "Program oblicza ilosc slow w zdaniu." << endl;
    cout << "Podaj zdanie: " << endl;
    cin.getline( w, 100 );
    char wynik = ileSLOW( w );
    cout << wynik << endl;
   
    system( "pause" );
    return 0;
}
[ / code ]


Z góry dziękuje za pomoc.
Pozdrawiam :)
P-119699
Monika90
» 2014-10-30 19:46:40
funkcja zwraca int, to jest ok, ale przypisujesz ten int do zmiennej typu char, więc wyświetla Ci się znak o kodzie 1.

poza tym, ta pętla:
C/C++
for( int i = 0; i <= 100; i++ )
{
}
wychodzi poza zakres tablicy
P-119702
Balttazarr
Temat założony przez niniejszego użytkownika
» 2014-10-30 19:54:09
dobrze, ale co mam zrobic , aby dostać tą liczbę słów a nie znak o kodzie 1?
P-119703
Monika90
» 2014-10-30 20:00:00
Zmienna wynik jest typu char, a powinna być typu int.
P-119704
Balttazarr
Temat założony przez niniejszego użytkownika
» 2014-10-30 21:26:10
kurde.. faktycznie, dzięki wielkie :)
P-119708
« 1 »
  Strona 1 z 1