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

[C++]Struktury ( Programowanie Obiektowe)

Ostatnio zmodyfikowano 2014-03-14 00:52
Autor Wiadomość
DaiGyakusatsu
» 2014-03-12 19:34:55
Możesz zrobić to na zmiennej globalnej lub w każdej funkcji podawać tą tablice jako argument i na niej operować( dużo wygodniej i praktyczniej użyć std::vector ). Jest dużo możliwości aby tego dokonać ;>
P-106206
BatuIron
Temat założony przez niniejszego użytkownika
» 2014-03-12 19:44:11
Dobra, udało mi się zrobić program, co prawda nie zrobiłem Tablicy struktur w Main() ale wszystko pozostałe działa, więc bardzo dziękuje za pomoc : ).
P-106209
BatuIron
Temat założony przez niniejszego użytkownika
» 2014-03-13 23:01:54
Jednak dalej mam problem, ale tym razem tylko z funkcjami:

C/C++
double suma()
{
    wpisz();
    for( int i = 0; i < 2; i++ )
    {
        sw = sw + robotnicy[ i ].wynagrodzenie;
    }
    cout << "Suma wynagrodzenia :" << sw;
   
    return sw;
}
double srednia()
{
    double sredniaw;
    for( int i = 0; i < 2; i++ )
    {
        sredniaw = sw / 2;
        cout << "Srednia wynagrodzenia pracownikow :" << sredniaw;
    }
    return sredniaw;
}
int max()
{
    int max = 0;
    for( int i = 0; i < 2; i++ )
    {
        if( robotnicy[ i ].wynagrodzenie < robotnicy[ i + 1 ].wynagrodzenie )
        {
            max = robotnicy[ i + 1 ].wynagrodzenie;
            cout << max;
        }
       
    }
    cout << "najwyzszy zarobek" << max;
    return max;
}
int najstarszy()
{
    int stary = 0;
    for( int i = 0; i < 2; i++ )
    {
        if( robotnicy[ i ].pesel < robotnicy[ i + 1 ].pesel )
        {
            stary = robotnicy[ i + 1 ].pesel;
        }
    }
    cout << "najstarszy pracownik" << stary;
    return stary;
}

z tablicy struktur w danych funkcjach odczytuje tylko 2 pracownika:

C/C++
struct pracownicy
{
    string imie;
    string nazwisko;
    long long pesel;
    long long wynagrodzenie;
} robotnicy[ 2 ];

void wpisz()
{
    for( int i = 0; i < 2; i++ )
    {
        cout << "Podaj Imie " << " " << i + 1 << "Pracownika :";
        cin >> robotnicy[ i ].imie;
        cout << "Podaj Nazwisko " << " " << i + 1 << "Pracownika :";
        cin >> robotnicy[ i ].nazwisko;
        cout << "Podaj Pesel " << " " << i + 1 << "Pracownika :";
        cin >> robotnicy[ i ].pesel;
        cout << "Podaj Wynagrodzenie " << " " << i + 1 << "Pracownika :";
        cin >> robotnicy[ i ].wynagrodzenie;
    }
}

co powinienem zmienić żeby jednak wczytywało 1 oraz 2 pracownika do tych funkcji?
P-106334
michal11
» 2014-03-13 23:12:04
P-106335
BatuIron
Temat założony przez niniejszego użytkownika
» 2014-03-13 23:51:53
w żaden sposób wskaźniki nie pomogą mi wczytać dane pierwszej osoby do fukcji albo jestem na tyle głupi i nie potrafie sobie z tym poradzić(stawiam na drugie...), problem wystepuje tylko w fukcjach a nie w wczytaniu danych w int main() program wypisze ich wszystkie dane, ale nie wykona poszczegółnych funkcji poprawnie czyli jeżeli podałem wynagrodzenie dla 1 pracownika = 2000 a dla  2=3000 to w fukcji suma() zostanie dodane 1+3000 zamiast 2000+3000.
P-106336
michal11
» 2014-03-14 00:52:42
Jest już późno więc to co napisze może być trochę bez sensu ale ja bym zrobił tak. Stworzył sobie tablice pracowników w main i przesyłał ją do funkcji razem z jej rozmiarem, i w tych funkcjach robił to co maja robić. Jak przesyłać tablicę do funkcji już ci napisałem.
P-106339
1 « 2 »
Poprzednia strona Strona 2 z 2