practica dibujo de marco dev c++
TRANSCRIPT
#include <stdlib.h>
#include <stdio.h>
/*
Realizar un programa que dibuje un marco del tamaño que el usuario determine.
El programa deberá
utilizar funciones y leer 2 coordenadas, la primera es la esquina superior izquierda y la segunda la
esquina inferior derecha.
Comprobar que las coordenadas sean válidas.
*/
//Este de aqui se dedicara ha sacar las distancias entre x-x/y-y
int distancia(int p1,int p2);
int main(){
int dx,dy,x1,x2,y1,y2,conta1=0,conta2=0,conta3=0,conta4=0;
//bienvenida
printf("\n\n \t ** DIBUJO POR SISTEMA DE COORDENADAS ** \n");
//Pedimos nuestras coordenadas
printf("\n\n \t Ingrese x de la primera coordenada: \n");
scanf("%d",&x1);
printf("\n\n \t Ingrese y de la primera coordenada: \n");
scanf("%d",&y1);
printf("\n\n \tIngrese x de la segunda coordenada: \n");
scanf("%d",&x2);
printf("\n\n \t Ingrese y de la segunda coordenada: \n");
scanf("%d",&y2);
dx=distancia(x1,x2);
dy=distancia(y1,y2);
//Crea el espacio entre el el bloque de texto y el recuadro
while(dy>=conta4){
printf("\n");
conta4++;
}
conta4=0;
//Aqui empieza la impresion de la primera linea
while(dx>=conta1){
//Crea el espacio entre el inciio de consola y la primera cordenada x
while(dx>=conta4){
printf(" ");
conta4++;
}
printf("*");
conta1++;
}
//Aqui termina la impresion de la primera linea
//Aqui empieza la impresion de la linea vertical
while((dy-2)>=conta3){
printf("\n");
//Reinicia conta4
conta4=0;
//Crea el espacio entre el inciio de consola y la linea
while(dx>=conta4){
printf(" ");
conta4++;
}
printf("*");
conta2=0;
//Aqui la empieza la impresion de los espacios necesarios dentro ddel cuadrado
while((dx-2)>=conta2){
printf(" ");
conta2++;
}
//Cerramos el cuadrado del lado derecho
printf("*");
conta3++;
//Recorrer cada linea
printf("\n");
conta1=0;
}
//Reiniciamos conta4 para implementar los esapcios
conta4=0;
//Impresion de la ultima linea
//Crea el espacio entre el inciio de consola y la ultima linea
while(dx>=conta4){
printf(" ");
conta4++;
}
while(dx>=conta1){
printf("*");
conta1++;
}
printf("\n");
system("PAUSE");
return 0;
}
int distancia(int p1,int p2){
int d;
d=p2-p1;
//Por si acaso ponen algo muy pequeño
if(d<2){
printf("\t Espacio muy chico, no se puede ** \n");
d=1;
}
return d;
}