int Carrega(TItem **A) { int i, n; scanf("%d", &n); (*A) = Aloca(n); for (i = 0; i < n ; i++) scanf("%d", &(*A)[i].Chave); return n; }
void Leia(char MB[][N]) { int i, cont=0; printf("\nAlocacao dos Navios nas Posicoes:\n"); printf("\nMenu de Escolha das Embarcacoes:\n\n1 - Para o Navio do Tipo Porta Avioes (5 Posicoes)\n2 - Para o Navio do Tipo Encouracado (3 Posicoes)\n3 - Para o Navio do Tipo Embarcacao Comum (1 Posicao)\n"); do { if(cont==0) printf("\nEscolha o Tipo da Embarcacao: "); else printf("\nNumero Invalido, Tente Novamente: "); scanf("%d", &tipo); cont++; }while(tipo<1 || tipo>3); if(tipo!=3) { printf("\nComo Navio ficara Posicionado:\n\n1 - Verticalmente\n2 - Horizontalmente\n\n"); cont = 0; do { if(cont==0) printf("Informe: "); else printf("\nNumero Invalido, Tente Novamente: "); scanf("%d", &pos); cont++; }while(pos<1 || pos>2); printf("\nComo Navio ira ser Alocado:\n\n"); if(pos==1) printf("Vertical:\n1 - de Baixo para Cima\n2 - de Cima para Baixo\n\n"); else if(pos==2) printf("Horizontal:\n3 - da Esquerda para Direita\n4 - da Direita para a Esquerda\n\n"); cont = 0; do { if(cont==0) printf("Informe: "); else printf("\nNumero Invalido, Tente Novamente: "); scanf("%d", &aloc); cont++; }while(aloc<1 || aloc>4); if(tipo==1)//Navio do Tipo Porta Avioes { printf("\nNavio do Tipo Porta Avioes:"); Aloca(MB, 5, pos, aloc); } else if(tipo==2)//Navio do Tipo Encouracado { printf("\nNavio do Tipo Encouracado:"); Aloca(MB, 3, pos, aloc); } } else { printf("\nNavio do Tipo Embarcacao Comum:"); Aloca(MB, 1, 1, 1); } }