Programação Básica de Computadores Engenharia Mecânica Prof. Filipe Mutz 2016/1 Trabalho Computacional 2 Aplicativo para Gestão Financeira Data de Entrega: 06/07/2016. Pontuação: 10 pontos. Grupos: Os trabalhos devem ser feitos individualmente ou em duplas. Forma de Entrega: O código fonte (arquivo.c) deve ser enviado para o e-mail filipemtz@gmail.com até a data limite. Descrição do Trabalho: O trabalho consiste em desenvolver um programa para gestão de despesas. O programa deve prover as seguintes funcionalidades: Usuários podem se cadastrar ou fazer login. Os usuários possuem nome (no máximo 64 caracteres), e-mail (no máximo 64 caracteres), senha (no máximo 16 caracteres), e salário (double). Cada usuário deve poder registrar e visualizar seus gastos. Cada gasto possui nome (no máximo 64 caracteres), valor, tipo (no máximo 32 caracteres), e o número do usuário que registrou o gasto. Além disso, os usuários podem exibir um relatório que apresente na tela os gastos agrupados por tipo, o valor total dos gastos, o salário (informado no cadastro), e o saldo atual (salário total dos gastos). Os dados dos usuários cadastrados devem ser salvos em um arquivo chamado usuarios.txt. Estes dados devem ser carregados sempre que o programa for executado e devem ser atualizados quando novos cadastros forem feitos. Serão cadastrados no máximo 20 usuários. Os gastos devem ser salvos em um arquivo chamado despesas.txt. Estes dados devem ser carregados sempre que o programa for executado e devem ser atualizados quando novos gastos forem registrados. Serão cadastradas no máximo 100 despesas. A implicação dos dois itens anteriores é a seguinte: imagine que o programa foi executado duas vezes. Se na primeira execução, um usuário fez o cadastro e registrou 3 contas, na segunda execução o usuário deve ser capaz de fazer login e listar suas contas sem precisar cadastrar as informações novamente.
Seguem abaixo as restrições que o código deve obedecer e como elas serão pontuadas. Use-as como guia para desenvolver o trabalho. Nº Restrição Pontuação 1 Devem ser criadas estruturas para representar um Usuário e uma Despesa. 0.5 2 As listas de Usuários e Despesas devem ser armazenadas em vetores. O número de um usuário é dado por sua posição no vetor de Usuários. Ex.: Se o usuário que está na posição 2 do vetor registra N/A uma despesa, o campo número do usuário da despesa deve ser preenchido com valor 2. 3 Devem ser criadas funções para salvar a lista de usuários em arquivo, para salvar a lista de despesas em arquivo, para ler a lista de usuário do arquivo para um vetor, e para ler a lista de despesas de um arquivo para um vetor. OBS: O programa deve levar em 2.0 consideração que na primeira execução os arquivos não vão existir uma vez que não existirão usuários e despesas cadastradas. 4 Deve ser criada uma função que busque na lista de usuários se existe algum deles com um determinado e-mail e senha. Se sim, a função deve retornar o número do usuário (a posição dele no vetor de 1.0 usuários). Se não existe tal usuário, a função deve retornar -1. 5 O programa deve permitir o cadastro de novos usuários e realização de login (dica: use a função acima). Ao realizar o cadastro, o novo usuário deve ser adicionado ao final do vetor de usuários e o seu número passa a ser a posição em que ele foi adicionado. O arquivo 1.0 de usuários cadastrados deve ser atualizado sempre que um novo usuário for cadastrado. 6 Devem ser criadas funções para ler as informações de um usuário e de uma despesa do teclado. A função que lê as informações de uma despesa não deve pedir ao usuário que digite seu número. O 0.5 programa deve saber por si só o número do usuário logado. 7 O programa deve permitir que novas despesas sejam registradas. O arquivo de despesas deve ser atualizado sempre que uma nova 0.5 despesa for cadastrada. 8 Deve ser criada uma função para listar todos os gastos do usuário. 1.0 9 Deve ser criada uma função para exibir o relatório financeiro do usuário. 2.5 10 Ao executar o programa, o usuário deve escolher se deseja cadastrar um novo usuário ou fazer login. No login, o programa deve pedir que o usuário digite o e-mail e senha enquanto não for digitado um 0.5 valor válido. Para cada vez que um par e-mail/senha incorreto for digitado o programa deve mostrar uma mensagem de erro. 11 Após a realização do login ou o cadastro de um novo usuário, o programa deve exibir um menu dando quatro opções para o usuário: (1) cadastrar uma nova despesa, (2) listar suas despesas, (3) mostrar relatório financeiro ou (4) sair. Se o usuário escolher uma das 3 primeiras opções, após a realização da ação o programa deve voltar a exibir o menu e permitir que o usuário escolha novamente o que fazer. 0.5
-- Financeiro PBC Bem vindo! 1. Cadastrar usuário 2. Fazer login Exemplo de Uso do Programa Texto em preto: informações mostradas na tela pelo programa. Texto em azul: informações digitadas pelo usuário. Texto em vermelho: Observações (não fazem parte do programa) Nome: Filipe E-mail: filipe@teste.com Senha: 123 Salário: 1000 Cadastro realizado com sucesso! Nesse momento, o usuário deve ser adicionado ao vetor de usuários e o vetor deve salvo no arquivo. Nome: Almoco Despesa registrada com sucesso! Nesse momento, a dispesa deve ser adicionada ao vetor de usuários e o vetor deve salvo no arquivo. Nome: Cinema Valor: 10 Tipo: Lazer Despesa registrada com sucesso! Nome: Fast Food Despesa registrada com sucesso!
Opção: 2 Nome: Almoco Nome: Cinema Valor: 10 Tipo: Lazer Nome: Fast Food Opção: 4 Fim! Aqui o programa é fechado e executado novamente. Dessa vez, o programa carrega o usuário Filipe e as despesas que já haviam sido cadastradas. -- Financeiro PBC Bem vindo! 1. Cadastrar usuário 2. Fazer login Opção: 2 E-mail: filipe@teste.com Senha: 122 Dados Invalidos! Tente novamente. E-mail: filipe@teste.com Senha: 123 Usuario encontrado!
Opção: 3 -- RELATORIO -- Alimentacao: 40 Lazer: 10 Total: 50 Salario: 1000 Saldo: 950 Opção: 4 Aqui o programa é fechado e executado novamente. -- Financeiro PBC Bem vindo! 1. Cadastrar usuário 2. Fazer login Nome: Ana E-mail: ana@ana.com Senha: 456 Salário: 1200 Cadastro realizado com sucesso! Opção: 2 Nesse momento, o usuário deve ser adicionado ao vetor de usuários e o vetor deve salvo no arquivo. Observe que embora existam despesas registradas, nenhuma delas são de Ana.
Opção: 4