Quantcast
Channel: LexCastillo.com » Lex Castillo
Viewing all articles
Browse latest Browse all 20

Uso de Switch en C

$
0
0

Programa que simula el comportamiento de una entidad que se mueve al azar en el plano.


#include <stdio.h>

#include <stdlib.h>
#include <time.h>
#define IZQUIERDA 0
#define DERECHA 1
#define ARRIBA 2
#define ABAJO 3
#define QUIETO 4
#define NUM_PASOS 10
int main() {
 int PosX = 0; /* Posisión X */
 int PosY = 0; /* Posición Y */
 int Contador, D;
 double distancia;
 srand(time(NULL)); /* Inicializa generador aleatorio */
 D=rand()/(RAND_MAX/10);
 for(Contador = 0; Contador < NUM_PASOS; Contador++) {
 switch(rand()/(RAND_MAX/5)) /* Sortea una dirección */ {
 case IZQUIERDA:
 PosX=PosX-D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY);
 break;
 case DERECHA:
 PosX=PosX+D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY);
 break;
 case ARRIBA:
 PosY=PosY+D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY);
 break;
 case ABAJO:
 PosY=PosY-D; printf("Posicion X: %d, Posicion Y: %d \n\n",PosX, PosY);
 break;
 }
 }
 distancia = sqrt(PosX*PosX+PosY*PosY);
 printf("PosX: %d, PosY: %d\n", PosX, PosY);
 printf("Distancia: %lf\n", distancia);
 return 0;
}


Viewing all articles
Browse latest Browse all 20

Trending Articles