Witam mam za zadanie napisać książkę telefoniczną używając struktur. Napisałem kod ale niestety nie działa. Błąd pewnie jest w funkcjach ale nie wiem jak to naprawić i prosiłbym o pomoc w naprawieniu kodu.
#include<iostream>
using namespace std;
struct ksiazka
{
string imie;
string nazwisko;
int nr_tel;
};
void wczytaj_dane(int i)
{
ksiazka x[100];
cout<<"Podaj imie: ";
cin>>x[i].imie;
cout<<"Podaj nazwisko: ";
cin>>x[i].nazwisko;
cout<<"Podaj nr telefonu: ";
cin>>x[i].nr_tel;
}
void znajdz (int i)
{
ksiazka cos[100];
if(i==0)
{
cout<<"Aby wyszukac kontakt musisz miec wpisany chociaz jeden kontakt\n";
return;
}
string a;
cout<<"Podaj nazwisko ktore chcesz wyszukac:";
cin>>a;
for(int j=0; j<i; j++)
{
if(cos[i].nazwisko==a)
{
cout<<"Osoba zostala znaleziona\n";
cout<<"Jej dane: ";
cout<<"Imie: "<<cos[i].imie<<"\n";
cout<<"Nazwisko: "<<cos[i].nazwisko<<"\n";
cout<<"Numer telefonu: "<<cos[i].nr_tel<<"\n";
}
else
{
cout<<"Taki kontakt nie istnieje\n";
}
}
}
void wypisz(int i)
{
ksiazka y[100];
int licz=1;
if(i==0)
{
cout<<"Brak wpisow\n";
}
else
{
for(int j=0; j<i; j++)
{
cout<<"Kontakt numer "<<licz<<".\nImie:"<<y[i].imie<<"\n";
cout<<"Nazwisko:"<<y[i].nazwisko<<"\n";
cout<<"Numer telefonu:"<<y[i].nr_tel<<"\n";
licz++;
}
}
}
void info()
{
cout<<"Wybierz numer opcji ktora chcesz wykonac"<<"\n";
cout<<"1.Wpisz nowy kontakt"<<"\n";
cout<<"2.Znajdsz kontakt po nazwisku"<<"\n";
cout<<"3.Wypisz wszystkie kontakty"<<"\n";
cout<<"4.Zakoncz dzialanie"<<"\n";
cout<<"Twoj wybor:";
}
int main()
{
ksiazka in[100];
int i=0;
for(;;)
{
int nr_o;
info();
cin>>nr_o;
switch(nr_o)
{
case 1:
{
if(i>100)
{
cout<<"Osiagnales limit kontaktow(100). Nie mozesz juz dodawac kontaktow\n";
break;
}
wczytaj_dane(i);
i++;
break;
}
case 2:
{
znajdz(i);
break;
}
case 3:
{
wypisz(i);
break;
}
case 4:
{
cout<<"Program konczy dzialanie\n";
cout<<"Dziekuje za wspolprace";
return 0;
}
}
}
}