Logo Hardware.com.br
J_Paulo
J_Paulo Novo Membro Registrado
1 Mensagem 0 Curtidas

Onde está o problema nesse programa?

#1 Por J_Paulo 18/11/2014 - 12:25
Olá Pessoal!
Sou novato na área e preciso entregar um programa para estacionar carros feito em linguagem C++
Após algumas pesquisas encontrei um, mas não funciona corretamente!
Alguém poderia me ajudar na correção? Grato desde já!

O programa segue logo abaixo!
[code=C++]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#include[/HASHTAG]
[HASHTAG]#define[/HASHTAG] VAGAS 50
[HASHTAG]#define[/HASHTAG] LIVRE 0
int estacionamento[VAGAS];
//estaciona o carro com a placa informada
//caso exista uma vaga livre.
int estaciona(int placa){
int i=0, estacionado=0;

printf("\nProcurando vaga");
for(i=0;i if(estacionamento[I]==LIVRE){
estacionamento[I]=placa;
printf("\nO carro foi estacionado na vaga: %02d\n",i+1);
estacionado=1;
break;
}else if(estacionamento[I]==placa){
printf("\n\n!!!Opa um dos dois carros, e um clone.\n\n");
estacionado=0;
break;
}else{
printf(".");
}
}
return estacionado;
}
//retira o carro do estacionamento
//liberando a vaga
int retira(int placa){
int i=0, estacionado=0;

printf("\nProcurando carro");
for(i=0;i if(estacionamento[I]==placa){
printf("\nVaga liberada...\n");
estacionamento[I]=LIVRE;
estacionado=1;
break;
}else{
printf(".");
}
}

if(estacionado==0){
printf("nao encontrado");
}

return estacionado;
}
//tá com tempo livre!!!
//então organiza o estacionamento
int organiza(void){
int i=0, m=0, aux=0;
for(i=0;i if(estacionamento[I]==LIVRE){
for(m=(i+1);m if(estacionamento[m]!=LIVRE){
estacionamento[I]=estacionamento[m];
estacionamento[m]=LIVRE;
break;
}
}
}
}
return 0;
}
//verifica como está o estacionamento
int verifica(void){
int i=0;
for(i=0;i if(estacionamento[I]==LIVRE){
printf("\nVAGA[%02d]->Livre", i+1);
}else{
printf("\nVAGA[%02d]->carro:[%04d]", i+1, estacionamento[I]);
}
}
return 0;
}

int main(void){
int placa=0, opcao=0;

//loop principal
while(1){
//ação
printf("\n\n***** Menu principal *****\n");
printf("[1]para estacionar o carro.\n");
printf("[2]para retirar o carro.\n");
printf("[3]verificar o estado das vagas.\n");
printf("[4]organizar o estacionamento.\n");
printf("[0]para sair do programa.\n\n");
printf("Informe a opcao: ");
scanf("%d", &opcao);

//sai sem fazer nada
if(opcao==0){ break; }

//verica a ação a ser tomada
switch(opcao){
case 0:
return 0;
case 1:
printf("\nInforme a placa do carro:");
scanf("%d",&placa);
estaciona(placa);
break;
case 2:
printf("\nInforme a placa do carro:");
scanf("%d",&placa);
retira(placa);
break;
case 3:
verifica();
break;
case 4:
organiza();
break;
}
}
return 0;
}
[/code]
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal