Wpisanie stringa do tablicy i wypisanie go

Odpowiedz Nowy wątek
2019-11-27 17:54

Rejestracja: 3 miesiące temu

Ostatnio: 2 miesiące temu

0

Cześ mam problem, treść zadania: Napisz prosty program, który wczyta imię, nazwisko i wiek dwóch osób.
W programie do wczytywania tekstu użyj std::cin.

W kodzie niżej jest podany main od zadania, trzeba tylko napisać te funkcje.
Mam 2 errory:error: cannot convert 'std::cxx11::string {aka std::cxx11::basic_string<char>}' to 'std::cxx11::string* {aka std::cxx11::basic_string<char>}' for argument '1' to 'std::cxx11::string wczytajOsobe(std::cxx11::string, std::cxx11::string*, std::cxx11::string*)'|

#include <iostream>
#include <limits>
#include <string>

using namespace std;

void wczytajOsobe( string imie[], string nazwisko[], string wiek[])
{
    for( int i = 0; i < 2; i++ )
        {
         cout << "Podaj imie: "; cin >> imie[i]; cout << "Podaj nazwisko: "; cin >> nazwisko[i]; cout << "Podaj wiek: "; cin >> wiek[i];
         cout << endl << endl;
         }
}
void wypiszOsobe( string imie[], string nazwisko[], string wiek[]){
    for( int i = 0; i < 2; i++ )
         {
         cout << "Dane " << i << "osoby: " << endl;
         cout << imie[i] << endl << nazwisko[i] << endl << wiek[i] << endl << endl;
         }}
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;

}
edytowany 1x, ostatnio: Dam Dam, 2019-11-27 17:55

Pozostało 580 znaków

2019-11-27 19:34

Rejestracja: 3 miesiące temu

Ostatnio: 2 miesiące temu

0
tajny_agent napisał(a):
Dam Dam napisał(a):

Tablica typu string o nazwie imie, tablica typu string o nazwie nazwisko i tablica typu int o nazwie wiek.

Nie tablica a element tablicy.

Racja, element tablicy o nazwie imie, nazwisko i wiek typu string, string i integer. Mimo wszystko nadal do tego nie doszedłem.

edytowany 1x, ostatnio: Dam Dam, 2019-11-27 19:34

Pozostało 580 znaków

2019-11-27 20:05

Rejestracja: 2 miesiące temu

Ostatnio: 2 miesiące temu

2

Te funkcje mogą wyglądać na przykład tak:

void wczytajOsobe(std::string &imie,std::string &nazwisko,int &wiek){
// kod
}

void wypiszOsobe(const std::string imie,const std::string nazwisko,int wiek){
//kod
}

Powinieneś przekazywać argumenty przez referencję (& - przed nazwą).
Poczytaj o przekazywaniu przez referencję, tak jak Tobie radzili.

Pozostało 580 znaków

2019-11-27 20:08

Rejestracja: 3 miesiące temu

Ostatnio: 2 miesiące temu

0

Przeczytałem, tak też zrobiłem, tylko wtedy jak w pętli for mam np cin>imie[i] to wyskakuje

error: invalid types 'int[int]' for array subscript|

Pozostało 580 znaków

kq
2019-11-27 20:08
kq
Moderator C/C++

Rejestracja: 6 lat temu

Ostatnio: 8 godzin temu

Lokalizacja: Szczecin

2

No to teraz zastanów się po co w tej funkcji robisz pętlę.


Pozostało 580 znaków

2019-11-27 20:15

Rejestracja: 3 miesiące temu

Ostatnio: 2 miesiące temu

0

Ok, już wszystko rozumiem, dziękuję bardzo :)

edytowany 2x, ostatnio: Dam Dam, 2019-11-27 20:26

Pozostało 580 znaków

Odpowiedz

1 użytkowników online, w tym zalogowanych: 0, gości: 0, botów: 1

Robot: CCBot