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

Poziom 3 Zadanie domowe rozdzial 26.

Ostatnio zmodyfikowano 2017-01-23 14:38
Autor Wiadomość
NukeeMann
Temat założony przez niniejszego użytkownika
Poziom 3 Zadanie domowe rozdzial 26.
» 2016-12-08 18:47:21
Nie rozumiem dlaczego w poniższym kodzie wyrzuca mi błędy przy stringu i jak wczytać 'i' do voida by w funkcji main nie trzeba było wczytywac osobno i przy wywołaniu voida.

#include<iostream>
#include<string>

using namespace std;

void wczytajOsobe(string im[],string naz[],string wi[], int rozmiar){
cin>>im[rozmiar];
}
void wypiszOsobe(string im[],string naz[],string wi[], int rozmiar){
cout<<im[rozmiar];
}
int main()
{
    string imie[ 2 ];
    string nazwisko[ 2 ];
    int wiek[ 2 ];
    for( int i = 0; i < 2; i++ )
         wczytajOsobe( imie, nazwisko, wiek , i);
   
    for( int i = 0; i < 2; i++ )
         wypiszOsobe( imie[ i ], nazwisko[ i ], wiek[ i ] , i);
   
    return 0;
}
P-154674
Gibas11
» 2016-12-08 18:53:35
W nagłówku twojej funkcji trzecia tablica przechowuje std::string a próbujesz do niej przekazać tablicę int.
//edit: O, teraz zobaczyłem że w sumie to nie jestem do końca pewny co tam robisz bo nie wstawiłeś kodu w tagi [cpp]…[/cpp], ale chyba próbujesz też przekazać jeden obiekt gdy funkcja chce przyjąć tablicę.
P-154675
kirito1996
» 2017-01-23 12:42:23
mam ten sam/podobny problem ;d link do kursu: http://cpp0x.pl/kursy/Kurs-C++/Poziom-3/Wczytywanie-tekstu-standardowy-strumien-wejscia/351
chodzi o zadanie ;D 

C/C++
#include <iostream>
#include <string>
using namespace std;

int wczytajosobe( string imie[], string nazwisko[], int wiek[] )
{
    int i = 0;
    cout << "Podaj imie: ";
    cin >> imie[ i ];
    cout << "Podaj nazwisko: ";
    cin >> nazwisko[ i ];
    cout << "podaj wiek: ";
    cin >> wiek[ i ];
}

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 ] ); // skoro tutaj wysyłam po jednej szufladce to jak odebrać to w funkcji żeby nie robić dodatkowej zmiennej, i w ogóle coś tu nie działa bo się nie kompiluje ;D błąd z kompilatora "|23|error: cannot convert 'std::string' to 'std::string*' for argument '1' to 'int wczytajosobe(std::string*, std::string*, int*)'|
   
    ||=== Build finished: 1 errors, 0 warnings === | "
   
   
    return 0;
}
P-156827
vhair
» 2017-01-23 14:11:06
C/C++
#include <iostream>
#include <string>
using namespace std;

//2. int wczytajosobe( string imie[], string nazwisko[], int wiek[] )  a tu próbujesz wczytać całe tablice
//więc to najprawdopodobniej jest nie tak.
//Wtedy walniesz referencje i powinno byc ok
//czyli

int wczytajosobe( string & imie, string & nazwisko itd.)
{
    //kod
}
int main()
{
    //kod
    for( int i = 0; i < 2; i++ )
         wczytajosobe( imie[ i ], nazwisko[ i ], wiek[ i ] ); //1. Tu wysylasz po jednym elemencie np imie[0] za pierwszym razem.
   
    return 0;
}
P-156828
kirito1996
» 2017-01-23 14:38:21
ok rozumiem, próbowałem coś takiego "string & imie[]" xD i nie wiedziałem czemu to nie idzie heh
P-156829
« 1 »
  Strona 1 z 1