battlecry [Moderador]
Número de Mensagens : 87 Idade : 35 Data de inscrição : 26/02/2008
| Assunto: programa de controle de um estacionamento em C ++ Sáb 15 Mar 2008, 3:22 pm | |
| Kon nichi wa minna ! Galera elaborei o programa para fazer o controle de um estacionamento ( demorei um pouco mas consegui XD , mas valeu o esforço, é gratificante você ficar tentando implementar algo e depois conseguir compilá-lo em digamos, 2 depurações *_* ) ai está o código em C ++ : - Código:
-
/* eu tive que dar digamos, uma improvisada lá embaixo no objeto Apagar XD pois ele stava retornando 2 ao invés de um, porém a lógica do cálculo está certa, e fiquei mais intrigado ainda pois inicializei o objeto com 0 então não havia motivo para começar contando como se fosse um static ( do 1 ) mas com o improviso, o programa ficou legal ! Se, alguém puder exclarecer o por quê de se tirar o -1 de Apagar retorna 2 mesmo com a lógica do método cálculo certa e com a inicialização em zero, agradeço muito ! */
#include <iostream> #include <cstring> using namespace std; const int MAX=30; const float VALOR=1.00; class Carros { private: int num_placa,hora_ent,mins_ent,segs_ent,hora_sai,mins_sai,segs_sai, hora_tot; char carro_marca[MAX]; float Apagar; public: Carros(char marca[]) { marca[0] = ' \0'; } Carros() : num_placa(0), hora_ent(0), mins_ent(0), segs_ent(0), hora_sai(0), mins_sai(0), segs_sai(0),Apagar(0.0) {} Carros(int n_placa, int h_ent, int m_ent, int s_ent, int h_sai, int m_sai, int s_sai, float paga) { num_placa= n_placa; hora_ent= h_ent; mins_ent= m_ent; segs_ent= s_ent; hora_sai= h_sai; mins_sai= m_sai; segs_sai= s_sai; Apagar=paga; } void init(char marca[]) { strcpy(carro_marca,marca); } void getinfo() { cout << "Informe o numero do carro: "; cin >> num_placa; cout << "Informe a marca do mesmo: "; cin >> carro_marca; cout << "Informe a hora de entrada: "; cin >> hora_ent >> mins_ent >> segs_ent; cout << "Informe a hora de saida: "; cin >> hora_sai >> mins_sai >> segs_sai; } float calculo(Carros veiculo); void showinfo() const; void pagamento() const; };
float Carros::calculo( Carros veiculo) { Apagar=((veiculo.hora_sai * 60) + (veiculo.mins_sai) - (veiculo.hora_ent * 60) + (veiculo.mins_sai)); Apagar/=60; Apagar*=VALOR; return(Apagar); } void Carros::showinfo() const { cout << "\n\nNumero do carro: " << num_placa; cout << "\nMarca do carro: " << carro_marca; cout << "\nHorario de entrada: " << hora_ent << " : " << mins_ent << " : " << segs_ent; cout << "\nHorario de saida: " << hora_sai << " : " << mins_sai << " : " << segs_sai; } void Carros::pagamento() const { cout << " A pagar em R$ " << Apagar-1; } int main() { Carros veiculo,Total; veiculo.getinfo(); Total.calculo(veiculo); cout << "**********Relatorio**********"; veiculo.showinfo();Total.pagamento(); cout << '\n'; system("Pause"); }
| |
|