¿Como crear un cuadrado de asterisco por medio de coordenadas?

Si eres principiante y tienes alguna consulta entra en este foro.
Responder
Mensaje
Autor
Adair_2001
Mensajes: 2
Registrado: 28/11/2019 1:00 pm

¿Como crear un cuadrado de asterisco por medio de coordenadas?

#1 Mensaje por Adair_2001 » 28/11/2019 1:44 pm

Hola muy buenos dias o tardes, lo que pasa esque en la universidad me dejaron un trabajo de crear un cuadrado de asteriscos por medio de coordenadas utilisando el gotoxy, he intentado de todo y solo logro conectar dos lados del cuadrado y la verdad ya me desespere, mas que aun soy nuevo programando, no entiendo muchas cosas de la programacion, y en internet no hay mucha informacion de gotoxy asi que agradeceria que me explicaran como hacerlo, por lo que he investigado esque en el lenguaje c que es el que utilizamos en la universidad no agarra solo asi el comando gotoxy se tiene que poner:

Código: Seleccionar todo

void gotoxy(int x,int y){  
      HANDLE hcon;  
      hcon = GetStdHandle(STD_OUTPUT_HANDLE);  
      COORD dwPos;  
      dwPos.X = x;  
      dwPos.Y= y;  
      SetConsoleCursorPosition(hcon,dwPos);  
 }
 
Para poder reconocerlo y tambien se que debo de manejar 4 variables de tipo entero que son x1, y1, x2 y y2, agradeceria muchisimo que de verdad me explicaran.
Última edición por mollok el 28/11/2019 3:21 pm, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

mollok
Mensajes: 519
Registrado: 30/01/2018 9:47 am
Ubicación: Mallorca, España

Re: ¿Como crear un cuadrado de asterisco por medio de coordenadas?

#2 Mensaje por mollok » 28/11/2019 3:29 pm

gotoxy es una función de la librería de Borland, que es privativa. Lo que has encontrado es una forma de emularla bajo terminal de windows, para *nix se hace de otra forma.

Lo que debes hacer para posicionarte en vertical es usar un bucle desde 0 hasta el número de filas que te digan.
Para posicionarte en horizontal debes usar un bucle anidado desde 0 hasta las columnas que te digan.
Por cada iteración del bucle interno escribes un asterisco.
while(is_alive(yourself)) {
    make_true(yourself, yourdreams);
}

Adair_2001
Mensajes: 2
Registrado: 28/11/2019 1:00 pm

Re: ¿Como crear un cuadrado de asterisco por medio de coordenadas?

#3 Mensaje por Adair_2001 » 28/11/2019 4:42 pm

mollok escribió:
28/11/2019 3:29 pm
gotoxy es una función de la librería de Borland, que es privativa. Lo que has encontrado es una forma de emularla bajo terminal de windows, para *nix se hace de otra forma.

Lo que debes hacer para posicionarte en vertical es usar un bucle desde 0 hasta el número de filas que te digan.
Para posicionarte en horizontal debes usar un bucle anidado desde 0 hasta las columnas que te digan.
Por cada iteración del bucle interno escribes un asterisco.
Lo de usar bucles para hacer las filas ya lo sabia pero la verdad aun me falta mucho para entenderlo, hice este código pero solo logro conectar dos filas con las coordenadas y=10,x=20,y2=20,x2=10 y las otras dos no puedo conectarlas no se cual sea mi error y de ahí no paso

Código: Seleccionar todo

#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

void gotoxy(int x,int y){  
      HANDLE hcon;  
      hcon = GetStdHandle(STD_OUTPUT_HANDLE);  
      COORD dwPos;  
      dwPos.X = x;  
      dwPos.Y= y;  
      SetConsoleCursorPosition(hcon,dwPos);  
 }  
 main(){
 	int x,y,a,b,x2,y2;
 	printf("\t\t\t\tintroduce y: ");
 	scanf("%d",&y);
 	printf("\t\t\t\tintroduce x: ");
 	scanf("%d",&x);
 	printf("\t\t\t\tintroduce y2: ");
 	scanf("%d",&y2);
 	printf("\t\t\t\tintroduce x2: ");
 	scanf("%d",&x2);
 		for(b=1;b<=x;b++){
 	 		gotoxy(x2,b);
 		    printf("*");}
 	 	for(b=1;b<=y;b++){
 	 		gotoxy(b,y2);
 		    printf("*");}
 		for(a=1;a<=x2;a++){
 	 		gotoxy(x,a);
 		    printf("*");}
 	 	for(a=1;a<=y2;a++){
 	 		gotoxy(a,y);
 		    printf("*");}
 	getch();
 }
este es el codigo que hice se que estoy mal pero no se porque y la verdad he tratado con todo y no puedo.
Última edición por mollok el 29/11/2019 1:51 am, editado 1 vez en total.
Razón: Los códigos deben ir entre etiquetas 'code', botón </>

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: Bing [Bot], Majestic-12 [Bot] y 3 invitados