Witam, zrobiłem bazę danych pracowników. Gdy chce wczyta np. 3 pracowników to program i tak wyświetla mi tylko pierwszego. Jak to naprawić by pokazywali się wszyscy? Proszę o pomoc. Kod wstawiam tutaj, jak także w załączniku.
#include <iostream>
#include <iomanip>
using namespace std;
const int dlugosc = 20;
int ile;
struct pracownicy
{
string imie;
string nazwisko;
int pesel;
int wynagrodzenie;
int suma;
int srednia;
};
int suma_pensji(pracownicy tab[])
{
int suma = 0;
for (int i = 0; i <= 12; i++)
{
suma = suma + tab[i].wynagrodzenie;
}
return suma;
}
float srednia_wynagrodzenie(pracownicy tab[]) /*Dlaczego nie mam zmiennoprzecinkowych?*/
{
float srednia;
srednia = suma_pensji(tab) / 12;
return srednia;
}
void wpisz(pracownicy tab[], int ile)
{
cout << "Podaj ilu chcesz wpisac pracownikow: ";
cin >> ile;
cout << endl;
for (int i = 0; i < ile; i++)
{
cout << "Podaj Imie: " << endl;
cin >> tab[i].imie;
cout << "Podaj Nazwisko : " << endl;
cin >> tab[i].nazwisko;
cout << "Podaj pesel (12 liczb): " << endl;
cin >> tab[i].pesel;
for (int j = 1; j <= 12; j++)
{
cout << "Podaj wynagrodzenie w miesiacu " << j << " : " << endl;
cin >> tab[j].wynagrodzenie;
}
cout << "Suma wynosi: " << suma_pensji(tab) << endl;
cout << "Srednie wynagrodzenie wynosi: " << srednia_wynagrodzenie(tab) << endl;
/*
cout<<"Podaj wynagrodzenie w Styczen: "<<endl;
cin>>tab[i].wynagrodzenie;
cout<<"Podaj wynagrodzenie w Luty: "<<endl;
cin>>tab[i].wynagrodzenie;
cout<<"Podaj wynagrodzenie w Marzec: "<<endl;
cin>>tab[i].wynagrodzenie;
*/
}
}
void wywal(pracownicy tab[], int ile)
{
cout << "Imie"
<< " | "
<< "Nazwisko"
<< " | "
<< "Pesel"
<< " | "
<< "Roczne wynagrodzenie"
<< " | "
<< "Srednie wynagrodzenie" << endl;
for (int i = 0; i <= ile; i++)
{
cout << tab[i].imie << setw(5) << "|" << tab[i].nazwisko << " | " << tab[i].pesel
<< " | " << suma_pensji(tab) << " | " << srednia_wynagrodzenie(tab) << endl;
}
}
int main()
{
pracownicy tab[dlugosc];
wpisz(tab, ile);
wywal(tab, ile);
/*cout<<"Suma wynosi: "<<suma_pensji(tab);*/
return 0;
}