Trust Temat założony przez niniejszego użytkownika |
» 2012-04-14 18:33:18 Jak widać w piszrwszym poście, nie umieszczałem w każdej instrukcji return, bo to raczej nie potrzebne. |
|
jankowalski25 |
» 2012-04-14 18:55:13 |
|
Trust Temat założony przez niniejszego użytkownika |
» 2012-04-14 22:11:33 Gdy np chcę aby funkcja imię przekazała wpisane imię do funkcji poczatek to wywala mi błąd w cout << imie << " dzis grasz o milion !!!"; o treści no match for call to '(std::string {aka std::basic_string<char>}) ()' . Niby to rozumiem, ale jak mam napisać coś skomplikowanego (przynajmniej dla mnie) to nie wychodzi mi. #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h> using namespace std;
string poczatek( string imie ) { cout << imie << " dzis grasz o milion !!!"; return poczatek; }
string imie() { string imie; cout << "Podaj imie :"; cin >> imie; return imie; } string przekazywanieimie() { }
int gwiazdki() { int i = 0; for( i = 1; i <= 25; i++ ) { cout << "*"; } }
int wstep() { cout << gwiazdki() << endl; cout << "Wjtaj w Milionerach !!!" << endl; cout << gwiazdki() << endl << endl; }
int main() { srand( time( NULL ) ); cout << wstep(); cout << imie(); cout << poczatek(); getch(); return 0; }
|
|
Stefek |
» 2012-04-15 00:27:41 Masz problem ze zrozumieniem tego, co to jest wartość zwracana przez funkcję i jak odbywa się sterowanie programu. Twoja funkcja wstep() zwraca wartość całkowita(przynajmniej powinna z return) oraz wypisuje coś tam na ekran. Gdy napiszesz tak : to najpierw wykona się funkcja, czyli zrobi to, co zawarte jest w jej ciele(tutaj wypisanie na ekran(cout w funkcji)), potem zwróci jakąś liczbę, a na końcu wypisze to , co zostało zwrócone(cout w main). Inne błędy są analogiczne do tego, poczytaj jeszcze o zwracaniu void, tutaj się przyda. Mam nadzieję że pomogłem :), oraz że poprawnie wstawiłem kod itp, to mój pierwszy post na tym forum :) |
|
jankowalski25 |
» 2012-04-15 12:46:23 string poczatek( string imie ) { cout << imie << " dzis grasz o milion !!!"; return poczatek; }
Co ty tutaj zwracasz? string imie() { string imie; cout << "Podaj imie :"; cin >> imie; return imie; }
Lepiej nie tworzyć nazw funkcji i zmiennych o takich samych nazwach. string przekazywanieimie() { }
Do czego służy ta funkcja? int gwiazdki() { int i = 0; for( i = 1; i <= 25; i++ ) { cout << "*"; } }
Ta funkcja nie wypisuje 25 gwiazdek (jeśli o to ci chodziło). int wstep() { cout << gwiazdki() << endl; cout << "Wjtaj w Milionerach !!!" << endl; cout << gwiazdki() << endl << endl; }
Jakie dane zwraca ta funkcja? Nie ma tu instrukcji return. |
|
Schulze13 |
» 2012-04-15 14:44:06 Kod trochę zmodyfikowany, ale i tak nie działa. Miałem problem z typem, ale prototypy funkcji są tu jak najbardziej wymagane (nie wszystkich) #include <iostream> #include <cstdlib> #include <ctime> #include <conio.h> using namespace std;
string poczatek( string imie ); string imie(); char przekazywanieimie(); int gwiazdki(); int wstep();
string poczatek( string imie ) { cout << imie << " dzis grasz o milion !!!"; }
string imie() { char imie; cout << "Podaj imie :"; return imie; }
string przekazywanieimie( string imie ) { cin << imie; return imie; }
int gwiazdki() { int i = 0; for( i = 1; i <= 25; i++ ) { cout << "*"; } return 0; }
int wstep() { gwiazdki(); cout << "\n"; cout << "Wjtaj w Milionerach !!!" << endl; gwiazdki(); cout << "\n"; return 0; }
int main() { char imie wstep(); cout << "\n"; imie(); cout << "\n"; char imie = przekazywanieimie( imie ); cout << "\n"; poczatek( imie ); getch(); return 0; }
Co do nazewnictwa zmiennych i funkcji. Większość programistów pisze funkcje z dużej litery np "PrzykladowaFunkcja", a zmienną z małej np "przykladowaZmienna" |
|
jankowalski25 |
» 2012-04-15 19:51:30 string poczatek( string imie ) { cout << imie << " dzis grasz o milion !!!"; }
Pamiętaj, że funkcja, która zwraca wartość musi zwracać ją zawsze. |
string imie() { char imie; cout << "Podaj imie :"; return imie; }
Funkcja jest typu string a zwraca typ char? int wstep() { gwiazdki(); cout << "\n"; cout << "Wjtaj w Milionerach !!!" << endl; gwiazdki(); cout << "\n"; return 0; }
W jakim celu ta funkcja zwraca 0? Jeśli nie musisz niczego zwracać, to nie zwracaj czegokolwiek na siłę. string imie()
char imie = przekazywanieimie( imie );
Lepiej nie tworzyć funkcji i zmiennych o takich samych nazwach. |
|
SeaMonster131 |
» 2012-04-15 20:52:15 string przekazywanieimie( string imie ) { cin << imie; return imie; }
cin << imie; ? I nie wiem po co to: string poczatek( string imie ); string imie(); char przekazywanieimie(); int gwiazdki(); int wstep();
? |
|
1 « 2 » 3 |