Escolar Documentos
Profissional Documentos
Cultura Documentos
TP 2: SISTEMA DE CADASTROS
FRANCIELLY MUNIQUE DA SILVA RODRIGUES UFSJ UNIVERSIDADE FEDERAL DE SO JOO DEL-REI DCOMP DEPARTAMENTO DE CINCIA DA COMPUTAO
TP 2: SISTEMA DE CADASTROS
Segundo trabalho prtico a ser entregue para obteno de nota parcial no curso de Cincia da computao na disciplina Algoritmos e Estruturas de Dados (AEDS 1) sob orientao do prof. Alan de Freitas
ndice:
1. Introduo......................................................................................................................3 2. Problema Proposto.........................................................................................................4 3. Descrio dasoluo......................................................................................................5 3.1. Descrio do cdigo fonte.....................................................................................5 4. Concluso....................................................................................................................16
1. Introduo
Sistemas de cadastro so muito teis hoje em dia e so utilizados em todos os lugares. So imprescindveis em lojas para o cadastro de clientes e produtos, empresas para o controle de servios e funcionrios, escolas para a organizao de livros da biblioteca, alunos, professores, etc. Esse trabalho tem por objetivo a implementao de um sistema de cadastro til e funcional.
2. Problema Proposto
Neste trabalho dever ser desenvolvido um sistema de cadastro que contenha:
1) Um menu que se repita at que o usurio escolha encerrar o programa 2) Estruturas de vetores e matrizes para guardar as informaes 3) Sub-rotinas que faam a ao escolhida pelo usurio 4) Dados armazenados em registros durante a execuo do programa 5) Salvar os dados cadastrados em um arquivo externo. O programa abre o arquivo e o l quando o programa inicia. O programa salva a informao no arquivo e o fecha quando o programa encerra.
Criar um problema prprio para resolver com o sistema de cadastro. O aluno pode escolher fazer um programa com qualquer tarefa que j lhe seja til.
O programa deve ter obrigatoriamente opes de mostrar, inserir e remover dados convenientemente, alm das outras funes convenientes ao contexto do problema.
3. Descrio da Soluo
O programa desenvolvido apresenta uma planilha de gastos mensal com um menu inicial onde so apresentadas 10 opes para cadastrar e manipular os dados da planilha.
Procedure edicao_receitas(var vetorganhos: saldo; var posicao, cadastro_receitas: integer); Var menu_edit, i: integer; confirma: char; Begin inicio := 2; writeln('Manipulacao de receitas: '); {menu de edio} writeln; writeln('Digite 1 para editar.'); writeln('Digite 2 para excluir.'); writeln('Digite 0 para voltar ao menu principal.'); readln (menu_edit); clrscr; Case menu_edit of 0: inicio := 1; 1: Begin write('Novo nome da receita: '); readln(vetorganhos[posicao].nome_do_ganho); {sobrescreve os dados do vetor na posio} write('Novo valor: '); readln(vetorganhos[posicao].valor_do_ganho); writeln('Receita editada com sucesso! '); writeln('Pressione qualquer tecla para voltar ao menu principal.'); end; 2: Begin writeln('Tem certeza que deseja excluir? (s/n)'); readln(confirma); {confirma a excluso} If (confirma = 's') then begin For i:= posicao+1 to cadastro_receitas do {percorre o vetor jogando todos os elementos para a posio anterior} vetorganhos[i-1] := vetorganhos[i]; cadastro_receitas := cadastro_receitas - 1; {diminui em 1 o tamanho do vetor} writeln('Receita excluida com sucesso! '); writeln('Pressione qualquer tecla para voltar ao menu principal.'); end else inicio:= 2; end; end; end; 9
10
2: Begin writeln('Digite a categoria da despesa'); readln(buscacateg_d); For i:= 1 to cadastro_despesas do {busca categoria digitada} begin If (buscacateg_d = vetorgastos[i].categ_gasto) then {se for igual} begin writeln('Nome da despesa: ', vetorgastos[i].nome_do_gasto); writeln('Categoria: ', vetorgastos[i].categ_gasto); writeln('Valor: ', vetorgastos[i].valor_do_gasto:0:2); writeln('Parcelas: ', vetorgastos[i].parcelas); writeln; posicao := i; achou := 'v'; end; end; If (achou = 'v') then {se achou} edio_despesas(vetorgastos, posicao, cadastro_despesas) {chamar o procedimento de edio de despesas} else begin {se no achou} writeln('Desculpe, nao foram encontradas despesas na categoria ', buscacateg_d, ', Tente novamente!'); readkey; end; end; end; end; Procedure busca_receitas(var vetorganhos: saldo; var cadastro_receitas: integer); Var i: integer; busca_r: string[15]; achou: char; Begin writeln('Digite o nome da receita para realizar a busca'); readln(busca_r); For i:=1 to cadastro_receitas do Begin If (busca_r = vetorganhos[i].nome_do_ganho) then begin writeln('Nome da receita: ', vetorganhos[i].nome_do_ganho); writeln('Valor: ', vetorganhos[i].valor_do_ganho:0:2); writeln; posicao := i; achou := 'v'; end; end; If (achou = 'v') then begin edicao_receitas(vetorganhos, posicao, cadastro_receitas); {chama o procedimento} 11 end;
else begin writeln('Desculpe, nao foram encontradas receitas com esse nome. Tente novamente!'); readkey; end; end;
12
13
writeln('Planilha mensal de gastos'); {exibe o menu} writeln; inicio := 1; {atribui valor 1 a varivel incio} If (inicio = 1) then begin repeat writeln('Bem vindo a sua tabela de gastos!'); {continuao do menu} writeln('Entre com o numero correspondente a opcao desejada:'); writeln; writeln('1: Cadastrar uma despesa (Ex: Compras, contas, etc)'); writeln; writeln('2: Cadastrar uma receita (Ex: Salario, recebimento de aluguel, etc)'); writeln; writeln('3: Visualizar todas as despesas'); writeln; writeln('4: Visualizar todas as receitas'); writeln; writeln('5: Exibir, editar ou remover despesas'); writeln; writeln('6: Exibir, editar ou remover receitas'); writeln; writeln('7: Visualizar valor total das despesas'); writeln; writeln('8: Visualizar Valor total das receitas'); writeln; writeln('9: Calcular saldo do mes'); writeln; writeln('0: Para sair'); readln(menu_1); clrscr; Case menu_1 of 1: nova_despesa(vetorgastos, cadastro_despesas); {chama o procedimento de cadastro de despesas} 2: nova_receita(vetorganhos, cadastro_receitas); {chama o procedimento de cadastro de receitas} 3: mostrar_despesas(vetorgastos); {chama o procedimento de mostrar despesas cadastradas} 4: mostrar_receitas(vetorganhos); { chama o procedimento de mostrar receitas cadastradas} 5: busca_despesas(vetorgastos, cadastro_despesas); { chama o procedimento de buscar despesas cadastradas} 6: busca_receitas(vetorganhos, cadastro_receitas); {chama o procedimento de buscar receitas cadastradas} 14
7: Begin writeln('Valor Total das Despesas Cadastradas: ', total_gastos(vetorgastos):0:2); {chama a funo que calcula total das despesas e mostra na tela} writeln('Pressione qualquer tecla para voltar ao menu principal.'); readkey; end; 8: Begin writeln('Valot Total das Receitas Cadastradas: ', total_ganhos(vetorganhos):0:2); {chama a funo que calcula total das receitas e mostra na tela} writeln('Pressione qualquer tecla para voltar ao menu principal.'); readkey; end; 9: Begin writeln('Saldo Final Parcial (Receitas - Despesas cadastradas ate agora): ', saldo_final(vetorgastos, vetorganhos):0:2); {chama a funo que calcula o saldo e mostra na tela} writeln('Pressione qualquer tecla para voltar ao menu principal.'); readkey; end; end; CLRSCR; until (menu_1 = 0); {mostra o menu at ser selecionada opo sair} end; rewrite(arquivo_debitos); {reescrever arquivo de despesas} for i:=1 to cadastro_despesas do {para i de 1 at o nmero de cadastros, escreva no vetor} write(arquivo_debitos, vetorgastos[i]); close(arquivo_debitos); {fecha o arquivo} rewrite(arquivo_saldo); {reescrever arquivo de receitas} for j:=1 to cadastro_receitas do {para i de 1 at o nmero de cadastros, escreva no vetor} write(arquivo_saldo, vetorganhos[j]); close(arquivo_saldo); {fecha o arquivo} end. {fim do programa} 15
4. Concluso
Nesse trabalho prtico foi implementado um sistema de cadastro utilizando registros, arranjos, sub-rotinas e arquivos. O programa trata-se de uma planilha digital para o controle de despesas e receitas do ms, e possui as seguintes finalidades: Cadastro de novas despesas e receitas, visualizao dos dados j cadastrados, busca e edio desses dados, clculo do total de despesas do ms, clculo do total de receitas do ms, e clculo do saldo parcial (receitas despesas).
16