народ, помогите плиз решить задачу по паскалю!!!! курсовая горит!!!!
Добавлено: 09 май 2007, 13:48
Народ, помогите плиз решить задачу!!!
В бухгалтерии предприятия имеется ведомость сумм заработанных сотрудниками в течение месяца (суммы исчисляются в тыс. руб.). Подсчитать общий заработок каждого сотрудника за весь месяц. То есть вводишь с клавиатуры фамилия сотрудников, затем их зарплаты. И если встречаются несколько одинаковых фамилий, то их зарплаты надо суммировать. Как вот в этом примере:
Исходная ведомость:
Фамилия Заработок
Непейвода 800
Тарбеев 300
Тарбеев 425
Непейвода 250
Лесков 850
Тарбеев 100
Итоговая ведомость за месяц:
Фамилия Заработок
Непейвода 1050
Тарбеев 825
Лесков 850
Код:
program x_z;
uses crt;
Type MyRec = Record
surname:string;
money:integer;
end;
Const max = 4;
var ms:array [1..max] of MyRec;
a:array [1..max] of integer;
i,j,k,n,sum:integer;
b:string;
begin
clrscr;
for i:=1 to max do begin
writeln ('Vvedite phamiliiu ',i,' -ogo rabotnika');
readln (ms.surname);
writeln ('Vvedite z/p ',i,' -ogo rabotnika');
readln (ms.money);
n:=i;
for k:=1 to n do begin
if ms.surname=ms[k].surname then begin
sum:=ms[k].money+ms.money;
n:=n-1;
writeln ('Summa = ',sum);
end;
end;
end;
readln;
end.
Пытался сделать, но не получилось!!!!!!!!!! Работает неправлильно!!!!!!!!!!!!!! Заранее буду благодарен!!!!!!!!!!
В бухгалтерии предприятия имеется ведомость сумм заработанных сотрудниками в течение месяца (суммы исчисляются в тыс. руб.). Подсчитать общий заработок каждого сотрудника за весь месяц. То есть вводишь с клавиатуры фамилия сотрудников, затем их зарплаты. И если встречаются несколько одинаковых фамилий, то их зарплаты надо суммировать. Как вот в этом примере:
Исходная ведомость:
Фамилия Заработок
Непейвода 800
Тарбеев 300
Тарбеев 425
Непейвода 250
Лесков 850
Тарбеев 100
Итоговая ведомость за месяц:
Фамилия Заработок
Непейвода 1050
Тарбеев 825
Лесков 850
Код:
program x_z;
uses crt;
Type MyRec = Record
surname:string;
money:integer;
end;
Const max = 4;
var ms:array [1..max] of MyRec;
a:array [1..max] of integer;
i,j,k,n,sum:integer;
b:string;
begin
clrscr;
for i:=1 to max do begin
writeln ('Vvedite phamiliiu ',i,' -ogo rabotnika');
readln (ms.surname);
writeln ('Vvedite z/p ',i,' -ogo rabotnika');
readln (ms.money);
n:=i;
for k:=1 to n do begin
if ms.surname=ms[k].surname then begin
sum:=ms[k].money+ms.money;
n:=n-1;
writeln ('Summa = ',sum);
end;
end;
end;
readln;
end.
Пытался сделать, но не получилось!!!!!!!!!! Работает неправлильно!!!!!!!!!!!!!! Заранее буду благодарен!!!!!!!!!!