Colocar Resposta 
 
Avaliação do Tópico:
  • 0 votos - 0 Média
  • 1
  • 2
  • 3
  • 4
  • 5
Ajuda em .C
21-05-2012, 23:50
Mensagem: #1
Ajuda em .C
Boa noite gente,
sou novato aqui neste forum, meu nome é Daniel e preciso de uma ajudinha.

Faço engenharia na faculdade cefet, o professor me passou um trabalho que o foco principal era a criação de um programa em .C que seja similar a um elevador.

Com as seguintes condições :
O elevador deve funcionar em um prédio de 10 andares.
O elevador deve se deslocar para o andar em que foi solicitado seguindo a ordem em que os usuários o chamaram.
Entretanto o elevador pode ser chamado em diversos andares em um intervalo de tempo.
A entrada do programa é composta por dois números, correspondentes ao andar em que o elevador se encontra e o andar para onde o elevador deve ir. O programa encerra quando receber as entradas 0 e 0.
O programa deve imprimir a ordem de andares em que o elevador parou.
Quando o programa for chamado para o andar 10 ele deve voltar ao primeiro andar e depois retornar ao andar 10.

Segue abaixo um exemplo de entrada e saída do programa

Exemplo de entrada
1 8
4 6
5 9
8 1
8 9
9 10
0 0
Saída para o exemplo de entrada
6
8
9
1
10


=====================================================
Eu comecei a fazer mas não estou conseguindo achar o porque que o programa nem se quer compila.
Por favor me ajudem!
Creio que a função principal é um tentar ajudar ao outro aqui no forum, mas quem conseguir fazer primeiro este programa se o moderador do fórum permitir gostaria de presentear quem conseguir fazer este programa com o valor simbólico de 30 reais. Depositados no banco caixa.

abaixo segue o que eu comecei a fazer:
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
int andar_atual,andar_destino, destelevador,parada=0,teste[15];
int sod=0;
int y,x;
x=0;
do{
printf("Digite o andar em que o elevador se encontra e para onde se pre tende ir:\n");
scanf("%d %d",&andar_atual,&andar_destino);
if(sod==0)
{
if(andar_atual<andar_destino)
sod=1;
else if(andar_atual>andar_destino)
sod=-1;

destelevador=andar_destino;
parada=andar_destino;

}else{
if(sod==1)
{
if(andar_atual>=destelevador){
printf("bParou no andar: %d\n",destelevador);
teste[x]=destelevador; }
else
{
if(andar_destino <= andar_atual)
{
printf("aParou no andar: %d\n",destelevador);
parada=andar_destino;
teste[x]=destelevador;
}
}

if(andar_destino<destelevador)
{
if(andar_atual<andar_destino)
printf("cParou no andar: %d\n",andar_destino);
x++;
teste[x]=andar_destino;
}
if(andar_destino>destelevador)
{
printf("dParou no andar: %d\n",destelevador);
x++;
teste[x]=andar_destino;
destelevador=andar_destino;
}
if(andar_atual==destelevador)
{

sod=0;
x++;
destelevador = andar_destino;
}
}

else if(sod==-1)
{
if(andar_atual<=destelevador||andar_atual>destelevador)
printf("eParou no andar: %d\n",destelevador);
x++;
teste[x]=andar_destino;
if(andar_atual==destelevador)
sod=0;
}

}

printf("destelevador: %d\n",destelevador);
}while(andar_atual!=0&&andar_destino!=0);




for(x = 0; x < 6; x++)
{
printf ("mostrar os andares :%d\n ",teste[x]);

}


system("PAUSE");
return 0;
}




Ass.: Daniel
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
22-05-2012, 13:25
Mensagem: #2
RE: Ajuda em .C
Dois pormenores:
1) Mete o codigo entre tags 'code' para ficar mais legível
2) Mostra os erros que te dá ao compilares

Pedidos de ajuda via PM serão ignorados
Acordo ortográfico? Desconheço, obrigado Wink
Agradeço ao Chrome o facto de os meus posts nao terem acentos Evil
Procurar todas as mensagens deste utilizador
Citar esta mensagem numa resposta
Colocar Resposta 


Saltar Fórum:


Utilizadores a ver este tópico: 2 Visitante(s)