c++ bład w funkcji która korzysta ze struktury
Ostatnio zmodyfikowano 2016-01-11 03:42
PawelN95 Temat założony przez niniejszego użytkownika |
c++ bład w funkcji która korzysta ze struktury » 2016-01-11 00:33:07 Witam mam problem z błedem który wystepuje w funkcji w której wywoływany jest parametr ze struktury: 24 17[Error] no match for 'operator[]' (operand types are 'T_pracownik' and 'int'). Funkcja ma obliczac sume pensji kobiet . #include <iostream> using namespace std; struct T_data_kalen {int dzien, miesiac, rok;}; struct T_pracownik { string nazwisko; string imie; int pensja; string plec; T_data_kalen data_q; }; int suma_pensji_kobiet( struct T_pracownik pracownik, int suma_kobiet ) { for(int i=0;i<10;i++) { if((pracownik .plec)==("k")) //tu wystepuje bład { suma_kobiet=suma_kobiet+(pracownik.pensja); } } return suma_kobiet; }
int main() {
T_pracownik pracownik[100];//tworzenie 100 pol dla pracownikow pracownik[0].nazwisko=("Marcinkow"); pracownik[0].imie=("Pawel"); pracownik[0].pensja=(1700); pracownik[0].plec="m"; pracownik[0].data_q ={27,11,2006}; pracownik[1].nazwisko=("Nowak"); pracownik[1].imie=("Pawel"); pracownik[1].pensja=(2185); pracownik[1].plec="m"; pracownik[1].data_q ={12,1,2015}; pracownik[2].nazwisko=("Klein"); pracownik[2].imie=("Dorota"); pracownik[2].pensja=(1254); pracownik[2].plec="k"; pracownik[2].data_q ={1,2,2001}; pracownik[3].nazwisko=("Osiol"); pracownik[3].imie=("Patryk"); pracownik[3].pensja=(4142); pracownik[3].plec="m"; pracownik[3].data_q ={1,03,2006}; pracownik[4].nazwisko=("Nowak"); pracownik[4].imie=("Aleksandra"); pracownik[4].pensja=(3210); pracownik[4].plec="k"; pracownik[4].data_q ={12,05,2015}; pracownik[5].nazwisko=("Smok"); pracownik[5].imie=("Adela"); pracownik[5].pensja=(1545); pracownik[5].plec="k"; pracownik[5].data_q ={6,9,2015}; //wypisywanie for(int i=0;i<10;i++) { cout<<"Nazwisko "<<pracownik.nazwisko<<endl<<"Imie "<< pracownik.imie<<endl<<"Wysokosc pensj "<< pracownik.pensja<<endl<<"Plec "<< pracownik.plec<<endl<<"Data przyjecia"<<endl<<"dzien "<< pracownik.data_q.dzien <<endl<< "Miesiac "<< pracownik.data_q.miesiac<<endl<< "Rok "<<pracownik.data_q.rok<<endl; }
return 0; } |
|
mateczek |
» 2016-01-11 03:42:10 #include <iostream>
using namespace std;
struct T_data_kalen { int dzien, miesiac, rok; };
struct T_pracownik { string nazwisko; string imie; int pensja; string plec; T_data_kalen data_q; };
int suma_pensji_kobiet( struct T_pracownik pracownik ) { int suma_kobiet; for( int i = 0; i < 10; i++ ) { if( pracownik.plec == "k" ) suma_kobiet = suma_kobiet + pracownik.pensja; } return suma_kobiet; }
int main() { T_pracownik pracownik[ 100 ]; pracownik[ 0 ].nazwisko = "Marcinkow"; pracownik[ 0 ].imie = "Pawel"; pracownik[ 0 ].pensja = 1700; pracownik[ 0 ].plec = "m"; pracownik[ 0 ].data_q = { 27, 11, 2006 }; pracownik[ 1 ].nazwisko = "Nowak"; pracownik[ 1 ].imie = "Pawel"; pracownik[ 1 ].pensja = 2185; pracownik[ 1 ].plec = "m"; pracownik[ 1 ].data_q = { 12, 1, 2015 }; pracownik[ 2 ].nazwisko = "Klein"; pracownik[ 2 ].imie = "Dorota"; pracownik[ 2 ].pensja = 1254; pracownik[ 2 ].plec = "k"; pracownik[ 2 ].data_q = { 1, 2, 2001 }; pracownik[ 3 ].nazwisko = "Osiol"; pracownik[ 3 ].imie = "Patryk"; pracownik[ 3 ].pensja = 4142; pracownik[ 3 ].plec = "m"; pracownik[ 3 ].data_q = { 1, 03, 2006 }; pracownik[ 4 ].nazwisko = "Nowak"; pracownik[ 4 ].imie = "Aleksandra"; pracownik[ 4 ].pensja = 3210; pracownik[ 4 ].plec = "k"; pracownik[ 4 ].data_q = { 12, 05, 2015 }; pracownik[ 5 ].nazwisko = "Smok"; pracownik[ 5 ].imie = "Adela"; pracownik[ 5 ].pensja = 1545; pracownik[ 5 ].plec = "k"; pracownik[ 5 ].data_q = { 6, 9, 2015 }; for( int i = 0; i < 10; i++ ) { cout << "Nazwisko " << pracownik[ i ].nazwisko << endl << "Imie " << pracownik[ i ].imie << endl << "Wysokosc pensj " << pracownik[ i ].pensja << endl << "Plec " << pracownik[ i ].plec << endl << "Data przyjecia" << endl << "dzien " << pracownik[ i ].data_q.dzien << endl << "Miesiac " << pracownik[ i ].data_q.miesiac << endl << "Rok " << pracownik[ i ].data_q.rok << endl; } return 0; }
|
|
« 1 » |