Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

kandrad

Programação C Básico

Recommended Posts

Bom Dia!!

Sou novo neste forum!!

Amigos(as) estou com uma dúvida. Presciso fazer um programa para a escola. Este programa e sobre o funcionamento de um estacionamento.

O programa deve informar o valor a pagar com base no tempo de permanencia do veiculo no estacionamento.

A minha dúvida é esta: Existe alguma função no C que extraia a data e a hora do sistema??

Caso existir como eu faço para calcular o valor a pagar??

Segue abaixo o codigo do programa:

OBS: o compilador usado é o Turbo C++ 4.5

 

Obrigado a todos!!

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

#include <iostream.h>

#include <stdlib.h>

#include <string.h>

#include <conio.h>

#include <stdio.h>

 

struct estac {

char placa[15];

char data_entrada[10];

char hora_entrada[6];

int registro;

};

 

//Funçao que cria o menu de consultas

void menu ( int &op );

 

void main ()

{

//Declaraçao de variaveis

int num_vagas, opcao, controle, pos_atual;

float vlr_hora;

char proc_placa[15], hora_saida[6], data_saida[10];

//Declaraçao das variaveis do tipo ponteiro

estac *p, *inicio, *fim;

 

//Armazena o tamanho da estacionamento

cout << "\n\nInforme o tamanho do estacionamento: ";

cin >> num_vagas;

 

//Armazena o valor da frasao da hora

cout << "\n\nInforme o valor da fraçao da hora: R$ ";

cin >> vlr_hora;

 

 

p = ( estac * ) malloc ( num_vagas * sizeof ( estac ) );

 

for ( int x = 0; x < num_vagas; x ++ )

{

if ( x == 0 )

{

inicio = p;

fim = p;

}

 

//Mostra a tela de opçoes

menu( opcao );

 

//Realiza o cadastro de veiculos

if ( opcao == 1 )

{

if ( p < fim )

{

p = fim;

 

p ++;

}

 

//Limpa a tela

clrscr();

 

//Cadastro de veiculos

cout << "\n\tCadastro de veiculos!!";

cout << "\nInforme os dados do " << x + 1 << "ª veiculo: ";

p -> registro = x + 1;

 

cout << "\n\nNumero da placa: ";

cin >> p -> placa;

 

cout << "\n\nInforme a data (no formato dd/MM/aa) de entrada: ";

cin >> p -> data_entrada;

 

cout << "\n\nInforme a hora de entrada: ";

cin >> p -> hora_entrada;

 

 

//Incrementa o ponteiro

p ++;

 

//Armazena o posiçao do ultimo veiculo cadastrado

pos_atual = x;

 

}

 

//Realiza a retirada dos veiculos

if ( opcao == 2 )

{

 

p = fim;

 

//Limpa a tela;

clrscr();

 

cout << "\n\tRetirar Veiculo: \n";

 

p = inicio;

 

controle = 0;

 

cout << "\nNumero da placa: ";

cin >> proc_placa;

 

for ( int y = 0; y < x; y ++ )

{

 

 

if ( (strcmpi ( proc_placa, p -> placa ) ) == 0 )

{

cout << "\n\nVeiculo encontrado: " ;

cout << "\nNumero do Controle: " << p -> registro;

cout << "\nNumero da placa: " << p -> placa;

cout << "\nData de Entrada: " << p -> data_entrada;

cout << "\nHora de Entrada: " << p -> hora_entrada;

cout << "\nInforme a data (no formato dd/MM/aa) de saida: ";

cin >> data_saida;

cout << "\nInforme a hora de saida: ";

cin >> hora_saida;

 

controle ++;

 

//Realiza uma pausa na execuçao do programa

cout << "\nTecle <Enter> para continuar!!";

getch();

 

break;

 

}

//Incrementa o ponteiro

p ++;

 

 

}

 

if ( controle == 0 )

{

cout << "\n\tVeiculo nao localizado!!\n";

 

//Realiza uma pausa na execuçao do programa

cout << "\n\tTecle <Enter> para continuar!!";

getch();

 

}

 

//X recebe a posiçao do ultimo veiculo cadastrado

x = pos_atual;

}

 

//Finaliza o programa

if ( opcao == 0 )

x += num_vagas;

 

if ( opcao > 2 )

{

//limpa a tela

clrscr();

 

cout << "\n\tDigite a opçao correta!!";

//Realiza uma pausa na execuçao do programa

cout << "\n\tTecle <Enter> para continuar!!";

getch();

 

//Retorna x para a ultima posiçao preenchida

x = pos_atual;

 

}

 

 

}

 

//Exibe uma mensagem de saida

clrscr();

cout << "\n\nObrigado por usar o nosso sistema!!";

cout << "\n\nTenha um bom dia!!";

}

 

void menu ( int &op )

{

 

//limpa tela

clrscr();

 

cout << "\n";

cout << "----------------------------------------------" << endl;

cout << " " << endl;

cout << " SISTEMA DE CONTROLE DE " << endl;

cout << " ESTACIONAMENTO " << endl;

cout << " " << endl;

cout << "----------------------------------------------" << endl;

cout << "\n";

cout << "\n\t 1 - Incluir ";

cout << "\n\t 2 - Retirar ";

cout << "\n\t 0 - Sair: ";

cin >> op;

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

BOm utiliza-se mesmo a biblioteca TIME.HEu utilizo em C++ estas duas variáveis que pegam automaticamente a data e a hora do sistema.char dateStr [9]; // Para Data automaticachar timeStr [9]; //Para Hora automaticadeclare ela como vairáveis normais...E para mostrar um exemplo abaixo. printf("\n - Data: %s Hora: %s",_strdate(dateStr),_strtime(timeStr));Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

(...) Presciso fazer um programa para a escola. Este programa e sobre o funcionamento de um estacionamento. (...) O programa deve informar o valor a pagar com base no tempo de permanencia do veiculo no estacionamento.

Tem certeza que seu professor quer que você pegue o horário do sistema e tal. Vai ficar meio complicado pra ele corrigir os trabalhos se for assim :PNão sei o nível que vocês estão no seu curso mas o que eu imaginaria inicialmente é que o programa deveria receber o horário que o sujeito entrou no estacionamento, o horário que o sujeito saiu e apartir disso você calcularia o tempo que ele ficou estacionado e o custo. Só isso. Sem mais complicações.Talvez eu esteja interpretando o exercício errado já que você que eu não sei como vocês estão aí, mas o que eu deduzi do que você me falou foi isso. :)Se eu estiver errado o horário do sistema está na biblioteca time.h como já foi dito acima.

(...) como eu faço para calcular o valor a pagar??

Aí você tem que ver como vai ser a fórmula para calcular o preço. Quanto custa por hora etc.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.