Ir ao conteúdo
  • Cadastre-se
Junior Anjos

Algoritmo do estacionamento - listar

Recommended Posts

Boa noite pessoal, minha professora de LP passou um algoritmo que simulasse o funcionamento de um estacionamento. Segue o enunciado:

● Você foi contratado para fazer um programa para gerir um estacionamento rotativo. Em entrevista o contratante te disse que as informações relevantes são: marca, modelo, cor predominante, placa, data e hora da entrada, data e hora da saída do veículo. Com estas informações é calculado o valor a ser pago pelo estacionamento, sendo 2 reais/h, 40 reais o dia e frações: 50 cent de 1 a 15 min, 1 reais de 16 a 30 min, 1,50 reais de 31 a 45 min. Faça um programa que faça estes cálculos e imprima na tela todas as informações do carro por placa e o valor a ser pago.

Eu já iniciei, só que estou com dificuldades em listar os veiculos já cadastrados. Segue o algoritimo:

 

Estacionamento.pdf

 

Ele está incompleto ainda, estou trabalhando no menu 1 e 4, se puderem dar uma força agradeço. Valeu.

Compartilhar este post


Link para o post
Compartilhar em outros sites
9 minutos atrás, vangodp disse:

Mas que força você quer? :atirador:

Tipo eu não estava conseguindo listar os veículos já cadastrados. Mas era um erro "simples" no for. Daí consegui resolver. Só que esse algoritmo ainda vai me dá muita dor de cabeça, se puderem ver, no menu 4, ele vai pegar a data e hora de entrada. Gostaria de saber se tem como pegar esses dados do sistema e armazena-las como struct. Obrigado. O arquivo com o for funcionando segue: Estacionamento.pdf

Compartilhar este post


Link para o post
Compartilhar em outros sites
14 minutos atrás, Junior Anjos disse:

Gostaria de saber se tem como pegar esses dados do sistema e armazena-las como struct.

Claro que sim...

Usa o ERA UNIX e as funções da biblioteca time.h.
O era unix é uma data fixada em 1 de janeiro de 1970 às 00:00:00(meia noite). Em teoria podemos obter um tempo em segundos desde a data era unix até o momento atual em segundos, usando uma função chamada time e um tipo de variável especial do tipo time_t que nada mais é que um tipo de long int sem signo, que serve para armazenar um numero que representa os segundos que passaram desde a meia noite de 1 de janeiro de 1970, conhecido por também unix timestamp.

Vamos ver um exemplo:
 

#include <stdio.h>
#include <time.h>
#include <locale.h>

int main () {
    setlocale(LC_ALL, "Spanish");
    time_t entrada;  // Variavel que vai guardar o tempo em segundos desde 1 de janeiro de 1970 a meia noite até a hora que o carro entrou
    time_t saida;   // Variavel que vai guardar o tempo em segundos desde 1 de janeiro de 1970 a meia noite até a hora que o carro entrou
    
    //Para obter o tempo atual desde 1 de janeiro de 1970 a meia noite até agora você precisa usar a 
    //função time(); na qual devemos passar "POR REFERENCIA" uma das variaveis anterior do tipo time_t(sempre). 
    //Como primeiro queremos saber a hora que o carro entrou, usaremos a variavel entrada. 
    time(&entrada);
    
    //Agora time ja possui o tempo desde era unix até agora em segundos. 
    //Vamos comprovar:
    printf("Segundos que passaram desde 1 de janeiro de 1970 a meia noite: %ld\n\n", entrada);

    
    //Agora vamos fazer uma pausa que vai simular o tempo que o carro passou no estacionamento
    printf("Pulse uma tecla para terminar a simulacao e calcular o tempo de permanencia do carro.");
    scanf("%*c");
    
    //tomamos o tempo para saida
    time(&saida);
    printf("Segundos que passaram desde 1 de janeiro de 1970 a meia noite: %ld\n\n", saida);
    
    int tempo = saida - entrada;
    
    printf("O carro pemaneceu %d segundos no estacionamento", tempo);
    
    
    return 0;
}

Nesse exemplo você pode ver a diferença em segundos que o carro levou dentro do estacionamento. imaginamos que o carro levou dentro do estacionamento 5 minutos, isso em segundos seriam 300 segundos, para passar de segundos a minutos você somente teria que dividir 300/60, o 60 são a quantidade de segundos que formam 1 minuto, você teria 5 minutos, você poderia converter de segundos para qualquer medida de tempo que quiser.

Aprenda sobre a biblioteca time.h.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×