Estudante

384 palavras 2 páginas
Considere as estruturas definidas abaixo para armazenar as informações sobre um robô andando em um mundo plano com origem (0,0) no canto superior esquerdo. struct Coord { float x, y; }; struct Robo{ Coord p; int passos;
};
O robô anda de acordo com as ordens dadas pelo usuário através do teclado. O mundo é quadrado de tamanho igual a 80 por 80, ou seja, o robô não pode ir para coordenadas negativas nem maiores que 79. Uma ordem que faça o robô se mover além destes limites faz com que ele fique parado no mesmo lugar. A variável “passos” da estrutura ROBO armazena quantos passos o robô realmente andou, portanto somente ordens que o façam andar aumentam o número de passos.
Escreva um programa que obedeça às ordens dadas por um usuário. Uma ordem é dada pelo jogador através de caracteres que podem ser letras maiúsculas ou minúsculas. As seguintes ordens são possíveis:
N: anda na direção norte
S: anda na direção sul L: anda na direção leste
O: anda na direção oeste
Entrada e saída:
A entrada consiste de várias linhas de caracteres contendo o conjunto de ordens que o robô deve obedecer. Para cada linha, considerar que o robô começa na posição (39,39) do mundo. Nenhum conjunto pode ter mais de 80 caracteres. Os caracteres podem ser letras maiúsculas ou minúsculas. Após a leitura de cada linha, o programa deve gerar como saída a posição onde o robô está no momento e quantos passos ele andou. O programa termina quando uma linha vazia for lida.
Resposta:

#include
#include

struct Coord { float x,y; };

struct Robo { Coord p; int passos;
};

int main(){ Robo rob1; char comandos[80]; gets(comandos); int tamanho = strlen(comandos); while (tamanho != 0){ rob1.p.x = 39; rob1.p.y = 39; rob1.passos = 0; for (int i = 0; i < tamanho; i++) { if (comandos[i] == 'N'|| comandos[i] == 'n') { if (rob1.p.y > 0) { rob1.passos++; rob1.p.y--; } } else

Relacionados

  • Estudante
    4061 palavras | 17 páginas
  • Estudante
    5203 palavras | 21 páginas
  • estudante
    1826 palavras | 8 páginas
  • Estudante
    1976 palavras | 8 páginas
  • estudante
    4108 palavras | 17 páginas
  • Estudante
    4793 palavras | 20 páginas
  • estudantes
    7348 palavras | 30 páginas
  • estudante
    16461 palavras | 66 páginas
  • estudante
    1462 palavras | 6 páginas
  • Estudante
    1075 palavras | 5 páginas