Witam mam takie zadanie, że muszę stworzyć bazę danych. Mam problem z tablicami. Chciałabym by w funkcji kobietki program zliczał kobiety za pomocą ostatniej litery w imieniu. Do tego użyłam lenght() i zadeklarowałam w strukturze tablice string imie. Niestety wywala mi cały czas błąd i już sama nie wiem dlaczego?
#include <iostream>
#include<string>
using namespace std;
int pracownicy;
struct pracownik{
string imie[10];
char nazwisko[20];
char pesel[9];
int pensja_netto;
int ilosc_czlonkow_rodziny;
};
pracownik tablica[10];
void menu()
{
cout<<"[0] Wpisz pracownika do bazy"<<endl;
cout<<"[1] Wyswietl konkretnego pracownika"<<endl;
cout<<"[2] Wyswietl ilosc kobiet w firmie"<<endl;
cout<<"[3] Wyswietl pracownika, ktory ma w imieniu litere:"<<endl;
cout<<"[4] Wyswietl prcownikow, ktorym nalezy sie premia i w jakiej wysokosci"<<endl;
cout<<"[5] Wyswietl pracownikow starszych niz data urodzenia:"<<endl;
cout<<"[6] Wyswietl posortowanych pracownikow wzgledem wieku"<<endl;
cout<<"[7] Wyswietl srednia pensje kobiet"<<endl;
cout<<"[8] Wyswietl srednia pensje mezczyzn"<<endl;
cout<<"[9] Wyswietl pracownika z najwieksza iloscia czlonkow w rodzinie"<<endl;
cout<<"[10] Edycja danych konkretnego pracownika"<<endl;
cout<<endl;
}
int wpisz();
int drukuj();
int kobietki();
int wyszukaj();
int main()
{
int Wybor_Z_Menu;
cout << " BAZA DANYCH PRACOWNIKOW" << endl;
cout<<"----------------------------------------------------------------"<<endl;
menu();
cout<<"----------------------------------------------------------------"<<endl;
cout<<"Wybierz numer:"<<endl;
cin>>Wybor_Z_Menu;
switch(Wybor_Z_Menu)
{
case 0:
{
wpisz();
break;
}
case 1:
{
drukuj();
break;
}
case 2:
{
kobietki();
break;
}
default :
{
cout<<"Zla liczba, podaj jeszcze raz :("<<endl;
break;
}
}
return 0;
}
int wpisz()
{
cout<<"Ilu pracownikow chcesz wpisac?"<<endl;
cin>>pracownicy;
for(int i=0;i<pracownicy;i++)
{
cout<<"Podaj imie:"<<i+1<<" pracownika"<<endl;
cin>>tablica[i].imie;
cout<<"Podaj nazwisko:"<<i+1<<" pracownika"<<endl;
cin>>tablica[i].nazwisko;
cout<<"Podaj pesel:"<<i+1<<" pracownika"<<endl;
cin>>tablica[i].pesel;
cout<<"Podaj pensje netto:"<<i+1<<" pracowika"<<endl;
cin>>tablica[i].pensja_netto;
cout<<"Podaj ilosc czlonkow rodziny:"<<i+1<<" pracownika"<<endl;
cin>>tablica[i].ilosc_czlonkow_rodziny;
}
return main();
}
int drukuj()
{
int b;
cout<<"Podaj nr pracownika, ktorego dane chcesz wydrukowac"<<endl;
cin>>b;
cout<<"Dane pracownika nr: "<<b<<endl;
cout<<"************************"<<endl;
cout<<"Imie: "<<tablica[b].imie<<endl;
cout<<"Nazwisko: "<<tablica[b].nazwisko<<endl;
cout<<"Pesel: "<<tablica[b].pesel<<endl;
cout<<"Pensja netto: "<<tablica[b].pensja_netto<<endl;
cout<<"Ilosc czlonkow rodziny: "<<tablica[b].ilosc_czlonkow_rodziny<<endl;
return main();
}
int kobietki()
{
int pracownicy;
int nazwa=tablica[pracownicy].imie;
int ilosc_kobiet=0;
int dlugosc_imienia=nazwa.length();
for(int i=0;i=pracownicy;i++)
{
if(imie[dlugosc_imienia]=='a')
ilosc_kobiet++;
}
cout<<"W firmie pracuje "<<ilosc_kobiet<<" kobiet";
return main();
}
int wyszukaj()
{
int suma_pracownikow=0;
string litera;
int nazwa=tablica[pracownicy].imie;
cout<<"Podaj litere jaka powinno zawierac imie szukanego pracownika: "<<endl;
cin>>litera;
size_t pozycja=nazwa.find(litera);
for(int i=0; i<pracownicy;i++)
{
if(pozycja !=string::npos)
{
suma_pracownikow++;
cout<<"************************"<<endl;
cout<<"Dane pracownika nr. "<<suma_pracownikow<<endl;
cout<<"Imie: "<<tablica[suma_pracownikow].imie<<endl;
cout<<"Nazwisko: "<<tablica[suma_pracownikow].nazwisko<<endl;
cout<<"Pesel: "<<tablica[suma_pracownikow].pesel<<endl;
cout<<"Pensja netto: "<<tablica[suma_pracownikow].pensja_netto<<endl;
cout<<"Ilosc czlonkow rodziny: "<<tablica[suma_pracownikow].ilosc_czlonkow_rodziny<<endl;
cout<<"*******************************"<<endl;
}
return main ();
}
}
Bardzo dziękuję za jakiekolwiek wskazówki :)