Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal]Расчет заработной платы преподавателя


Автор: Margaritka 26.4.2009, 19:24
Здравствуйте!!!
Мне необходимо составить программу заработной платы преподавателя школы на языке Turbo Pascal.
Расчет производится по следующим параметрам:

-категория (В программе должен производиться выбор из списка);
-количество отработанных часов (В программе должен производиться ввод данных);
-наличие классного руководства (В программе должен производиться выбор из списка);
-предмет, по которому проверяются тетради (В программе должен производиться выбор из списка);
-количество учеников в классе (В программе должен производиться ввод данных).

В приведенном ниже тексте программы работает все, кроме Расчета по наличию классного руководства.

Код

program kursovaya;
uses crt;
label
      kategor,vik, rez;
var
    predmet, kategoriya, klruk: char;
    uchenik, dety, klplat, metlit: integer;
    chasy, kat, predm, kl, zplat, nalzpl:real;
begin
     clrscr;
     writeln ('Viberite Kategoriu');
     readln (kategoriya);
     case kategoriya of
          '0': begin
             kat:=7500;
             goto kategor;
             end;
          '1': begin
             kat:=7000;
             goto kategor;
             end;
          '2': begin
             kat:=6500;
             goto kategor;
             end;
    end;
    kategor:
            begin
            writeln ('Vvedite kol-vo chasov');
            readln (chasy);
            chasy:=kat/18*chasy;
            writeln ('Viberite predmet');
            readln (predmet);
            case predmet of
                 '5': begin
                    predm:=kat*5/100;
                    goto vik;
                    end;
                '6': begin
                    predm:=kat*10/100;
                    goto vik;
                    end;
                '7': begin
                    predm:=kat*15/100;
                    goto vik;
                    end;
                '8': begin
                    predm:=kat*30/100;
                    goto vik;
                    end;
           end;


           vik:                                    {Вот здесь не работает}
               begin
               writeln ('Est Klruk ?');
               readln (klruk);
             CASE KLRUK OF
             'Y': begin
             kl:=kat*20/100;
             writeln ('Vvedite kol-vo detey');
             readln (dety);
             if dety<25 then begin
             for dety:=1 to 24 do klplat:=1000-40;
             end;
             goto rez;
             end;
             else
             begin klplat:=1000;
             goto rez;
             end;
             'N': goto rez;
             end;


               rez:
              begin
              clrscr;
              metlit:=100;
              zplat:=kat+chasy+predm+kl+klplat+metlit;
              nalzpl:=zplat*13/100;
              writeln ('kategorya:        ');
              writeln (kat:0:0);
              writeln ('pochasovaya stavka:       ');
              writeln (chasy:0:2);
              writeln ('predmet:        ');
              writeln   (predm:0:2);
              writeln ('klassnoe rukovodstvo:   ');
              writeln (kl:0:2);
              writeln ('klplat: ');
              writeln (klplat);
              writeln ('zarplata:       ');
              writeln (zplat:0:2);
              writeln ('zarplata s nalogom:     ');
              writeln (nalzpl:0:2);
              readkey;
              end;
              end;
              end;
              end.


Также необходимо сделать автоматическую нумерацию полученных записей, их сохранение, просмотр и удаление,  и световое меню в текстовом режиме.

ПОМОГИТЕ ПОЖАЛУЙСТА!!!
ЭТО ВОПРОС ЖИЗНИ И СМЕРТИ!!!
ЗАРАНЕЕ СПАСИБО!!!


 

Автор: Margaritka 27.4.2009, 16:33
Ну хоть ошибку исправить помогите!!!
Пожалуйста!!!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)