Lekcja 26 zadanie 1
Ostatnio zmodyfikowano 2012-04-06 16:00
czosnek17 Temat założony przez niniejszego użytkownika |
Lekcja 26 zadanie 1 » 2012-04-06 14:42:12 Na razie mam taki kod: #include <iostream> #include <string> using namespace std;
int wczytajOsobe( string imie[], string nazwisko[], int wiek[] ) { }
int wypiszOsobe( string imie[], string nazwisko[], int wiek[] ) { }
int main() { string imie[ 2 ]; string nazwisko[ 2 ]; int wiek[ 2 ]; for( int i = 0; i < 2; i++ ) wczytajOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); for( int i = 0; i < 2; i++ ) wypiszOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); return 0; }
Błędy są w wywołaniu funkcjii. cannot convert 'std::string' to 'std::string*' for argument '1' to 'int wczytajOsobe(std::string*, std::string*, int*) Podobny błąd dla drugiej. Problem leży w [ i ] Mógłbym przekazać licznik osobno do funkcji, ale nie mogę modyfikować funkcji głównej. |
|
DejaVu |
» 2012-04-06 14:49:11 Zastanów się co jest przekazywane do funkcji - Twoim problemem są bowiem funkcje, które utworzyłeś.
/edit:
Podpowiedź. Do funkcji przekazywana jest:
a) tablica
b) element tablicy |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2012-04-06 15:05:56 Element. Czyli tak: wczytajOsobe( string & imie, string & nazwisko, int & wiek ) Dzięki. edit: Otwietam temat. Mam problem ze sprawdzeniem poprawności wczytanych danych. W przypadku wieku (typ danych int) działa, ale gdy sprawdzam tekst cin.good() zawsze zwraca prawdę, a cin.fail() fałsz. |
|
DejaVu |
» 2012-04-06 15:40:58 No to chyba dobrze no nie? :P Tekstem może być wszystko :) |
|
czosnek17 Temat założony przez niniejszego użytkownika |
» 2012-04-06 16:00:04 Ok zamykam ponownie :) |
|
« 1 » |