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

Lekcja 26 zadanie 1

Ostatnio zmodyfikowano 2012-04-06 16:00
Autor Wiadomość
czosnek17
Temat założony przez niniejszego użytkownika
Lekcja 26 zadanie 1
» 2012-04-06 14:42:12
Na razie mam taki kod:
C/C++
#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.
P-53962
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
P-53964
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.
P-53967
DejaVu
» 2012-04-06 15:40:58
No to chyba dobrze no nie? :P Tekstem może być wszystko :)
P-53969
czosnek17
Temat założony przez niniejszego użytkownika
» 2012-04-06 16:00:04
Ok zamykam ponownie :)
P-53971
« 1 »
  Strona 1 z 1