Witam, piszę książkę adresową, która może zapisywać, wyszukiwać i wyświetlać osoby. Kompilator wyrzuca mi taki błąd: "request for member 'nazwisko', 'imie' in 'osoby, which is a pointer type of daneOsob". Nie mam pojęcia, co mogę poprawić, aby zaczęło działać... Błąd jest w 37., 39., 50., 52. linijkach
Oto kod:
#include <iostream>
#include <windows.h>
using namespace std;
struct daneOsob
{
string imie;
string nazwisko;
string email;
string adres;
long long int numerTelefonu;
int id;
};
int zapisywanieOsoby (daneOsob osoby[], int iloscOsob)
{
string imie, nazwisko, email, adres;
long long int numerTelefonu;
int id;
osoby[iloscOsob].imie = imie;
osoby[iloscOsob].nazwisko = nazwisko;
osoby[iloscOsob].email = email;
osoby[iloscOsob].adres = adres;
osoby[iloscOsob].numerTelefonu = numerTelefonu;
osoby[iloscOsob].id = id;
}
string wyszukiwanieOsosbyPoImieniu (daneOsob osoby[], int iloscOsob)
{
string imie;
for (int i = 0; i < iloscOsob; i++)
{
if(osoby.imie[i] == imie)
{
cout << i << ". " << osoby.imie << endl;
}
}
}
string wyszukiwanieOsobyPoNazwisku (daneOsob osoby[], int iloscOsob)
{
string nazwisko;
for (int i = 0; i < iloscOsob; i++)
{
if(osoby.nazwisko[i] == nazwisko)
{
cout << i << ". " << osoby.nazwisko[i] << endl;
}
}
}
int main()
{
string imie, nazwisko, adres, email;
long long int numerTelefonu;
int ID, iloscOsob;
daneOsob osoby[10];
cout << "Witaj w ksiazce adresowej!" << endl;
cout << "Wybierz opcje: " << endl;
cout << "1. Zapisz osobe" << endl;
cout << "2. Wyszukuj osoby" << endl;
cout << "3. Wyswietl wszystie osoby" << endl;
cout << "4. Wyjdz z ksiazki" << endl;
int wybor;
while (true)
{
cin >> wybor;
switch (wybor)
{
case 1:
{
iloscOsob = zapisywanieOsoby (osoby, iloscOsob); //funkcja ma zapisywac osobe
break;
}
case 2:
{
cout << "Podaj imie lub nazwisko: ";
if (cin >> imie)
{
imie = wyszukiwanieOsosbyPoImieniu (osoby, iloscOsob);
}
else
{
cin >> nazwisko;
nazwisko = wyszukiwanieOsobyPoNazwisku (osoby, iloscOsob);
}
break;
}
case 3:
{
break;
}
case 4:
{
exit(0);
}
default:
break;
}
}
return 0;
}