podatki.doc

(30 KB) Pobierz
przyklad pliku wejsciowego:

przyklad pliku wejsciowego:

 

Jan Biedacz;33001.45

Anna Normalna;42345

Wojciech Bogaty;54321.33

Jozef Mistake;56934.3f

}

 

program podatki_plik;

uses crt;

const kw_prog1 = 35000;

      kw_prog2 = 50000;

      prog1 = 0.19;

      prog2 = 0.30;

      prog3 = 0.40;

 

var plik_wej,plik_wyj:text;

    imie_i_nazwisko,sciezka,sciezka_wyj,wiersz,prog:string;

    kwota_brutto,kwota_netto,podatek:real;

    blad:boolean;

    kod_bledu:integer;

 

begin

  repeat

    repeat

      blad:=false;

      clrscr;

      write('Podaj lokalizacje pliku z danymi wejsciowymi : ');

      readln(sciezka);

      assign(plik_wej,sciezka);

      {$i-}

      reset(plik_wej);

      {$i+}

      if ioresult<>0 then

        begin

          writeln('Nie znalieziono pliku w ',sciezka);

          writeln;

          writeln('N - nowa lokalizacja     K - Koniec programu');

          case upcase(readkey) of

            'K':halt;

            'N':blad:=true;

          else blad:=true;

          end;

        end;

    until not blad;

    clrscr;

    {umieszczenie pliku z wynikiem w tej samej lokalizacji co pliku z danymi}

    while pos('\',sciezka)>0 do

      begin

        sciezka_wyj:=sciezka_wyj+copy(sciezka,1,pos('\',sciezka));

        delete(sciezka,1,pos('\',sciezka));

      end;

    sciezka_wyj:=sciezka_wyj+'wynik.txt';

    assign(plik_wyj,sciezka_wyj);

    rewrite(plik_wyj); {plik z wynikami zawsze jest nadpisywany}

    {obliczanie podatkow dla kazdego wiersza}

    while not eof(plik_wej) do

      begin

        readln(plik_wej,wiersz);

        imie_i_nazwisko:=copy(wiersz,1,pos(';',wiersz)-1);

        delete(wiersz,1,pos(';',wiersz));

        val(wiersz,kwota_brutto,kod_bledu);

        if kod_bledu<>0 then

           writeln(plik_wyj,imie_i_nazwisko,';niepoprawna kwota brutto')

        else

          begin

            if kwota_brutto<=kw_prog1 then

               begin

                 podatek:=kwota_brutto*prog1;

                 kwota_netto:=kwota_brutto-podatek;

                 prog:='19%';

               end;

            if (kwota_brutto>kw_prog1)and(kwota_brutto<=kw_prog2)then

               begin

                 podatek:=kwota_brutto*prog2;

                 kwota_netto:=kwota_brutto-podatek;

                 prog:='30%';

               end;

            if (kwota_brutto>kw_prog2)then

               begin

                 podatek:=kwota_brutto*prog3;

                 kwota_netto:=kwota_brutto-podatek;

                 prog:='40%';

               end;

            writeln(plik_wyj,imie_i_nazwisko,';',kwota_brutto:1:2,';',kwota_netto:1:2,';',podatek:1:2,';',prog);

          end;

      end;

    {zamkniecie plikow}

    close(plik_wej);

    close(plik_wyj);

    writeln('Wyniki zostaly zapisane w pliku : ',sciezka_wyj);

    writeln('K - koniec programu');

    writeln;

  until upcase(readkey)='K';

 

end.

Zgłoś jeśli naruszono regulamin