//fpc 3.0.0//Thiago André Cardoso Silva//Git Hub: https://github.com/doctorwho1998
program funcionario;
uses crt;const
COL =2;
LIN =10;
var
matricula_nome:array[0..(LIN -1),0..(COL -1)] of String;
salario:array[0..9] of Real;
jornada:array[0..9] of integer;
matricula:String;
q_c,i,j,k,aux_alt,aux_exc,aux_mat:integer;
cont_cad:boolean;//-----Pesquisar funcionário-----
procedure pesquisar(mat:String);
begin
for i :=0 to 9do
begin
if mat = matricula_nome[i,0] then
begin
writeln;
writeln('Resultado da busca:');
writeln('Matricula: Nome: Salário: Jornada:');
write(matricula_nome[i][0],' ');
write(matricula_nome[i][1],' ');
write(salario[i]:00:02,' ');
write(jornada[i]);
writeln;
writeln;
end;
end;
end;//-----Pesquisar funcionário-----//-----Alterar funcionário-----
procedure alterar(mat:String; n:String; sal:real; jor:integer);
begin
for i :=0 to 9do
begin
if mat = matricula_nome[i,0] then
begin
matricula_nome[i,1]:= n;
salario[i]:= sal;
jornada[i]:= jor;
aux_alt := aux_alt +1;
writeln('Funcionário alterado com sucesso!');
end;
end;
writeln;if aux_alt =0 then
begin
writeln('Matricula ',mat,' não encontrada');
writeln;
end;
end;//-----Alterar funcionário-----//-----Cadastrar-----
procedure cadastrar(mat:String; n:String; sal:real; jor:integer);
begin
if q_c <10 then
begin
for i :=0 to 9do
begin
if mat = matricula_nome[i][0] then
begin
aux_mat := aux_mat +1;
end;
end;if aux_mat =0 then
begin
matricula_nome[q_c,0]:= mat;
matricula_nome[q_c,1]:= n;
salario[q_c]:= sal;
jornada[q_c]:= jor;
q_c := q_c +1;
writeln;
end
else
begin
writeln('Matricula ',mat,' já cadastrada');
end;
end
else
begin
writeln('Limite de cadastro atingido!');
writeln;
end;
end;//-----Cadastrar-----//-----Excluir-----
procedure excluir(mat:String);
begin
for i :=0 to 9do
begin
if mat = matricula_nome[i,0] then
begin
for j := i to q_c do
begin
for k :=0 to COL -1do
begin
matricula_nome[j][k]:= matricula_nome[j+1][k];
end;
salario[j]:= salario[j+1];
jornada[j]:= jornada[j+1];
end;
aux_exc := aux_exc +1;
end;
end;if aux_exc =0 then
begin
writeln('Matricula ',mat,' não encontrada');
end
else
begin
q_c := q_c -1;
end;
end;//-----Excluir-----//-----Listar-----
procedure listar;
begin
writeln('Matricula: Nome: Salário: Jornada:');for i :=0 to q_c -1do// for para listar matricula e nome
begin
for j :=0 to COL -1do
begin
write(matricula_nome[i][j],' ');
end;
write(salario[i]:00:02,' ');
write(jornada[i]);
writeln;
end;
end;//-----Listar-----//---------------------------------------------INÍCIO---------------------------------------------
begin
{
writeln('Digite a matricula do funcionário');
writeln('Digite o nome do funcionário');
writeln('Digite o salário');
writeln('Digite a jornada de trabalho');}
cadastrar('1010','José Sobrinho',5500,40);
cadastrar('1011','Jovem Célio ',2500,40);
cadastrar('1011','Jovem Thiago ',2500,40);
listar;
pesquisar('1011');
alterar('1011','Jovem Cesar ',2499,80);
listar;
excluir('1011');
listar;
end.
Pergunta
Thiago André Cardoso
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.