Escolar Documentos
Profissional Documentos
Cultura Documentos
1
2022/2023
Índice
Introdução ................................................................................................................................ 3
Objetivos: ................................................................................................................................. 4
Pseudocódigo ....................................................................................................................... 6
Fluxograma ......................................................................................................................... 19
Código em C ........................................................................................................................ 28
Conclusão ............................................................................................................................... 34
2
2022/2023
Introdução
Este projeto visa reconhecer os conhecimentos adquiridos sobre estruturas, arrays, instruções
de decisão e de repetição, ficheiros e como também funções e procedimentos, isto tanto na
vertente de Pseudocódigo, como em fluxogramas e também na vertente de linguagem C.
3
2022/2023
Objetivos:
O parque de estacionamento do IPCA pretende implementar um sistema de gestão de
Para cada veículo será guardado a matrícula, a quem pertence o carro, hora de
entrada,
da aplicação.
o Matrícula;
o Marca do carro;
o Gasolina/gasóleo/gás/elétrico
o Ficha do aluno/docente/funcionário
o Nome do aluno/docente/funcionário
o Número do aluno/docente/funcionário
o NIF
o Tipo de carro
4
2022/2023
• Pesquisar carro pelo NIF do dono: esta funcionalidade deve estar disponível
aluno/docente/funcionário.
5
2022/2023
Pseudocódigo
Criar estrutura "Veiculo" com campos:
matricula[10]
marca[20]
tipoCombustivel[10]
nomeDono[50]
numeroDono[10]
NIF[15]
matricula[10]
lugar
VARIÁVEIS:
inicio_InserirVeiculo()
ler matricula
ler marca
ler tipoCombustivel
6
2022/2023
ler nomeDono
ler numeroDono
ler NIF
incrementar numVeiculos
fim_InserirVeiculo()
inicio_procurarVeiculoPorNumero()
matricula[10]
Ler(NIF)
Limpar a tela
found = 0
7
2022/2023
Escrever("****************************************\n")
Escrever("***********Veiculo Encontrado***********\n")
Escrever("\n")
Senão
Fim se
Fim enquanto
fim_procurarVeiculoPorNumero()
inicio_procurarVeiculoPorMatricula()
matricula[10]
Ler(matricula)
Limpar a tela
found = 0
8
2022/2023
Escrever("****************************************\n")
Escrever("***********Veiculo Encontrado***********\n")
Escrever("\n")
Senão
Fim se
Fim enquanto
Fim_procurarVeiculoPorMatricula()
inicio_procurarVeiculoPorNIF()
matricula[10]
Ler(NIF)
Limpar a tela
found = 0
9
2022/2023
Escrever("****************************************\n")
Escrever("***********Veiculo Encontrado***********\n")
Escrever("\n")
Senão
Fim se
Fim enquanto
Fim_procurarVeiculoPorNIF()
inicio_listaVeiculos
retornar
10
2022/2023
fim-se
char line[100]
Escrever linha
fim-enquanto
fim_listaVeiculos
inicio_atualizarVeiculo()
matricula[10]
Ler matricula
found <- 0
linha[256]
found <- 1
break
fim_se
fim_enquanto
retornar
fim_se
int i
11
2022/2023
break
fim_se
fim_para
Ler veiculos[numVeiculos].marca
Ler veiculos[numVeiculos].tipoCombustivel
Ler veiculos[numVeiculos].nomeDono
Ler veiculos[numVeiculos].numeroDono
Ler veiculos[numVeiculos].NIF
"Matrícula: veiculos[numVeiculos].matricula\n"
"Marca: veiculos[numVeiculos].marca\n"
"NIF: veiculos[numVeiculos].NIF\n"
fim_para
fim_atualizarVeiculo()
12
2022/2023
inicio_removerVeiculo()
char matricula[10]
Ler("%s", matricula)
int i, j
se(strcmp(veiculos[numVeiculos].matricula, matricula) == 0)
found <- 1;
fim_para
numVeiculos--;
break;
fim_se
fim_para
se (found)
"Matrícula: veiculos[numVeiculos].matricula\n"
"Marca: veiculos[numVeiculos].marca\n"
"NIF: veiculos[numVeiculos].NIF\n"
fim_para
senão
fim_senão
13
2022/2023
fim_removerVeiculo()
inicio_darEntradaVeiculo()
se numLugaresOcupados == MAX_LUGARES
returnar
char matricula[10];
Ler("%s", matricula);
se (file == NULL)
returnar
fim_se
char linha[100];
found <- 1
break;
fim_se
se (!found)
returnar
fim_se
Escrever("\t\t\tVeículo encontrado!\n")
numLugaresOcupados++
14
2022/2023
fim_darEntradaVeiculo()
inicio_darSaidaVeiculo()
se numLugaresOcupados == MAX_LUGARES
returnar
char matricula[10];
Ler("%s", matricula);
se (file == NULL)
retorne
fim_se
char linha[100];
found <- 1
break;
fim_se
se (!found)
retorne
fim_se
Escrever("\t\t\tVeículo encontrado!\n")
numLugaresOcupados--
fim_darSaidaVeiculo()
15
2022/2023
incio_nrLugaresDisponiveis
retorne
fim-se
char linha[100]
decremente nrLugares
fim-se
fim-enquanto
fim_nrLugaresDisponiveis
inicio_reservarLugar()
se (numLugaresOcupados == MAX_LUGARES)
retorne
fim-se
char matricula[10];
retorne
fim-se
16
2022/2023
char linha[100]
found <- 1
break
fim-se
fim-enquanto
feche o arquivo
se found é igual a 0
retorne
fim-se
Ler matricula
feche o arquivo
incremente numLugaresOcupados
fim_reservarLugar()
inicio
int opcao
Escrever "***************************************"
Escrever "***************************************"
Escrever "MENU"
17
2022/2023
Escrever "***************************************"
Ler opcao
Escolha opcao
fim
18
2022/2023
Fluxograma
19
2022/2023
20
2022/2023
21
2022/2023
22
2022/2023
23
2022/2023
24
2022/2023
25
2022/2023
26
2022/2023
27
2022/2023
Código em C
28
2022/2023
29
2022/2023
30
2022/2023
31
2022/2023
32
2022/2023
33
2022/2023
Conclusão
Este trabalho projeto final foi uma excelente forma e oportunidade de concretizar conteúdos
aprendidos nas aulas e metendo-os em prática para assim também ao mesmo tempo termos
34