Problem z uzyskaniem pewnej wartości
Ostatnio zmodyfikowano 2014-10-30 21:26
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 : [ 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 :) |
|
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: for( int i = 0; i <= 100; i++ ) { }
wychodzi poza zakres tablicy |
|
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? |
|
Monika90 |
» 2014-10-30 20:00:00 Zmienna wynik jest typu char, a powinna być typu int. |
|
Balttazarr Temat założony przez niniejszego użytkownika |
» 2014-10-30 21:26:10 kurde.. faktycznie, dzięki wielkie :) |
|
« 1 » |