Você está na página 1de 4

Relatório

Disciplina: Algoritmos

Alunos e nº de aluno:
Breno Marques nº 29107
João Freitas nº30362

Curso: Engenharia de Redes e Sistemas de Computadores

1º Ano

Introdução

Este projeto foi feito no âmbito da disciplina de Algoritmos e estruturas


de dados com o objetivo de criar um programa em C.
Neste projeto criamos uma máquina capaz de gerir e armazenar
informações de viagens efetuadas por táxis de uma empresa de táxis
como a referência da viagem (número que é único), número do táxi que
efetuou a viagem, valor recebido (em €) pelo percurso e tipo de viagem.
Decidimos fazer este programa pois parecia algo acessível e
interessante de fazer, para além das ideias que nos veio imediatamente
à cabeça ao ler o enunciado.

Desenvolvimento

Nesta primeira parte do código inserimos as bibliotecas, atentando ao


facto de que colocamos a "locale.h", que faz com que possamos usar
acentuações nos printfs. Depois colocamos algumas variáveis e em
seguida apresentamos os printfs do "Painel Inicial", que basicamente é
a nossa tela inicial do programa.

Agora, implementamos o nosso comando "switch", onde o programa


ganha forma com os cases. Sendo assim, iniciamos com o case 0, mas
logo depois um break para seguir para outro.
Temos então o case 1, que usamos para fazer as perguntas principais
como N° do taxi, tipo de viagem, valor da viagem e a referência da
viagem.

Case 2, verifica se temos alguma viagem efetuada se houver, é feito um


printf com todas as viagens registadas, se não é dito que não há
nenhuma.

Case 3 e 4, o codigo deles são muito parecidos, sendo diferente apenas


as variaveis. Assim, eles servem para fazer a filtragem de taxis utilizados
e de viagens efetuadas, se o "type[a]" for igual ao "filtro_" é mostrado
os dados pedidos, caso o "ref" ou "tipo_v" for igual a 0 é mostrado que
não há nada.

Case 5, um código simples para mostrar o total recebido em todas as


viagens, usamos a variavel "v" e um ciclo "for" para trazer esse valor
total à tela do utilizador.

Case 6, onde é feito a média dos preços das viagens, bem parecido com
o Case 5.

Case 7, usamos a variável "menor" e dois ciclos "for", com um "if" em


cada um, é impresso o preço da viagem mais barata e os dados dessa
corrida.

Case 8 é como Case 5 ou Case 6, onde nele é feito a filtragem de


referência das viagens feitas. Caso não tenha nenhuma registada é
mostrada uma mensagem de que não há nenhum dado.

Case 9, começa por um "if" e depois um "else" para que seja verificado
se existe algum dado, depois caso haja, é feito um calculo da "media",
que é a média do preço das viagens sendo "total=0" em seguida é
adicionado o valor de "v[a]" e é dividido esse resultado pelo tanto de
viagens feitas.

Case 10, temos um comando feito por principalmente um "switch",


onde é necessário para serem apresentados o número de viagens de
cada variação(Local, Nacional, Internacional, Outras).

Case 10 é praticamente igual ao 11, porém nele é mostrado o total


recebido de cada tipo de viagem, mas fora isso é quase a mesma lógica.

Case 12, usado para ver o preço mais alto de um determinado táxi, nele
temos 2 verificações: se há viagem registada e se há viagem registada
naquele táxi. Sendo assim, primeiro é feito uma filtragem dos táxis,
após isso é possivel ver o preço mais alto desse veiculo.

Case 13, é um dos mais simples, consiste em basicamente mostrar o


valor total das viagens, em seguida é feito o cálculo desse valor total
com os 23% de IVA e assim é impresso o total que a empresa precisa
pagar ao estado em IVA.

Conclusão

Embora tenhamos feito o trabalho corretamente, sentimos que faltou


um pouco de criatividade da nossa parte.
Para além disso, acabamos por não implementar algumas das ideias
pensadas no início.
Ainda assim, ficamos satisfeitos com o resultado final, conseguimos
aplicar o que aprendemos nesta disciplina e temos o objetivo de
continuar a melhorar.

Você também pode gostar