[C++] Struktury, tablice dynamiczne

Awatar użytkownika
Sebastiano
Użytkownik
Użytkownik
Posty: 29
Rejestracja: 9 kwie 2010, o 11:20
Płeć: Mężczyzna
Lokalizacja: Tychy
Podziękował: 7 razy
Pomógł: 2 razy

[C++] Struktury, tablice dynamiczne

Post autor: Sebastiano »

Witam kolegów i koleżanki
Mam troche rozbudowane zadanie i proszę o pomoc, mianowicie mam problem z utworzeniem tablicy dynamicznej (w kodzie stworzyłem statyczną), do tego za bardzo nie mam pojęcia jak zabrać się za podpunkty w których wyszukuje się pracownika i przyznaje podwyżkę 10 i 5 proc.
Poniżej zamieszczam całe zadanie i kod który udało mi się stworzyć.
Pozdrawiam!
----------------------------------------------------------------------

1. Utworzyć DYNAMICZNĄ tablicę struktur, zawierających dane
pracowników (nazwisko, stawkę, numer miesiące, godziny przepracowane w
tymże miesiącu)

2. Odczytać dane z pliku i umieścić w w/w strukturze. W pliku dane
mają nastepujący format:

KOWALSKI
21.50
7
212

MALINIAK
15.45
8
145

ZAWADZKI
18.20
8
122

OLECHOWSKI
11.22
4
199

WOJCIECHOWSKI
9.30
4
134

itd kolejne rekordy w kolejności nazwisko, stawka, miesiąc, godziny.
Nazwiska moga się powtarzać, oznaczają wtedy tego samego pracownika.
Nie powtarzają się pary: nazwisko+nr_miesiąca

3. W wypełnionej tablicy znaleźć pracownika, którzy w całym roku
przepracował najwięcej godzin (czyli suma godzin ze wszystkich
miesięcy dla danego pracownika)

3a. W wypełnionej tablicy znaleźć pracownika, który dostał najwyższą
jednorazową wypłatę.

3b W wypełnionej tablicy znaleźć pracownika, który w danym roku zarobił najmniej

3c Obliczyć średnią wypłatę pracownika tej firmy

4. Wszystki pracownikom o nazwisku zaczynającym się na literę "N" dać
10% podwyzki (zwiększenie stawki godzinowej)

4a Wszystkim pracownikom, którzy zarabiają mniej niż średnia stawka za
godzinę w firmie - dać 5% podwyżki

5 Zmodyfikowane dane zapisać na dysku w takim samym formacie jak przy odczycie

5a. Zmodyfikowane dane zapisać na dysku. Pominąć pracownika o nazwisku
"Zwolniony"

6. Usunąć dynamicznie przydzieloną tablicę z pamięci


-----------------------------------------------------------------------------------------
KOD PROGRAMU:
Ukryta treść:    
Ostatnio zmieniony 22 cze 2012, o 16:40 przez Anonymous, łącznie zmieniany 1 raz.
Powód: Poprawa wiadomości.
bartek118
Użytkownik
Użytkownik
Posty: 5974
Rejestracja: 28 lut 2010, o 19:45
Płeć: Mężczyzna
Lokalizacja: Toruń
Podziękował: 15 razy
Pomógł: 1251 razy

[C++] Struktury, tablice dynamiczne

Post autor: bartek118 »

Dlaczego to jest w main?

Kod: Zaznacz cały

   struct pracownicy         //deklaracja struktury STATYCZNA
   {    
   char nazwisko [40];
   float stawka;
   int numer_miesiaca;
   int godziny_przepracowane;
   };
I czemu korzystasz ze starej biblioteki stdio.h i takiego wczytywania zamiast strumieni?:

Kod: Zaznacz cały

   FILE * Plik;          //otwarcie pliku tekstowego w trybie do odczytu
   Plik = fopen ("pracownicy.txt" , "rt");
   if (Plik == NULL) cout << "Blad!" ;
   for (int i=0; i<5; i++)

{
fscanf(Plik, "%d", &tab[i].nazwisko); //odczyt do struktury zmiennych
fscanf(Plik, "%s", tab[i].stawka);
fscanf(Plik, "%s", tab[i].numer_miesiaca);
fscanf(Plik, "%f", tab[i].godziny_przepracowane);
}
fclose (Plik);
ODPOWIEDZ