Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

c++ bład w funkcji która korzysta ze struktury

Ostatnio zmodyfikowano 2016-01-11 03:42
Autor Wiadomość
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;
}
P-143360
mateczek
» 2016-01-11 03:42:10
C/C++
//wstawiaj kod między znaczniki [cpp][/cpp]
#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 ]; //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[ 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;
}
P-143361
« 1 »
  Strona 1 z 1