Forum Pplware

Versão Completa: Ajuda em .C
Está de momento a ver uma versão reduzida do nosso conteúdo. Ver versão completa com o formato adequado.
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
Dois pormenores:
1) Mete o codigo entre tags 'code' para ficar mais legível
2) Mostra os erros que te dá ao compilares
URL's de Referência