Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
#include <stdio.h> #include <stdlib.h> typedef struct { int ori, dest; } pessoa; int botao(int Nandares, pessoa* vet, int i, int* tam) { char chamada; printf("Digite S para chamar elevador e N para sair: "); fflush(stdin); scanf("%c",&chamada); if(chamada=='n' || chamada=='N') return i; else if(chamada=='s'|| chamada=='S') { i++; if(i>=0 && i<6) { *tam++; vet=(pessoa *)realloc(*tam,sizeof(pessoa)); } printf("Insira o andar de origem: "); scanf("%d",&(vet[i].ori)); while(vet[i].ori<0 || vet[i].ori>Nandares) { printf("Insira um andar valido: "); scanf("%d", &vet[i].ori); } printf("Insira o andar destino: "); scanf("%d", &vet[i].dest); while(vet[i].dest<0 || vet[i].dest>Nandares || vet[i].dest==vet[i].ori) { printf("Insira um destino valido: "); scanf("%d",&vet[i].dest); } } return i; } int main() { int i=-1, tam=0, tempo=-1, Nandares=15, pose1=0, sob=0, desc=0; int j, k; pessoa *vet; vet=(pessoa *)calloc(tam,sizeof(pessoa)); while(1) { tempo++; printf("i=%d\n",i); printf("ori=%d dest=%d\n",vet[i].ori, vet[i].dest); if(tam==1) { pose1=vet[0].ori; if(vet[0].ori<vet[0].dest) { sob=1; desc=0; } else if(vet[0].ori>vet[0].dest) { sob=0; desc=1; } } if(tam>1) { if(sob==1) { for(j=0; j<tam; j++) { //conferir o destino maior for(k=pose1; k<vet[i].ori; k++) { if(k==vet[j].dest) { pose1=vet[j].dest; } } } } } } }
Compartilhar