kandrad 0 Denunciar post Postado Outubro 26, 2006 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
NorTheR 0 Denunciar post Postado Outubro 26, 2006 Posso te adiantar que tudo que é relacionado a tempo, cronometro, data, é a biblioteca time.h http://www.cplusplus.com/ref/ctime/ Compartilhar este post Link para o post Compartilhar em outros sites
The Jack 0 Denunciar post Postado Outubro 26, 2006 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
skimo-solar 0 Denunciar post Postado Outubro 26, 2006 (...) 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