Strona 1 z 1

[C++] Struktury, tablice dynamiczne

: 22 cze 2012, o 12:14
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ść:    

[C++] Struktury, tablice dynamiczne

: 22 cze 2012, o 19:56
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);