C/Visual C - Cuadro de caracteres

 
Vista:

Cuadro de caracteres

Publicado por JUAN PABLO (3 intervenciones) el 27/09/2019 00:50:36
Hola, mi problema es que quiero hacer un cuadro completo, pero que el usuario ponga base y altura, ya llevo 3/4 partes del mismo, pero no logro que se complete lo que falta, si alguien me puede ayudar,, lo agradeceria mucho llevo esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include<stdio.h>
#include<stdlib.h>
 
int main() {
    int j, i, alt, base;
    char  esi=201, esd=187, eid=188, eii=200;
    char vert= 186, hor=205;
 
    printf("Programa que hace un cuadro\n");
    printf("Dame la base de tu cuadro:");
    scanf("%d", &base);
    printf("Dame el ancho de tu cuadro:");
    scanf("%d", &alt);
    printf("\n");
    printf("%c",esi);
 
    for (int i=0; i<base; i++)
    {
 
        printf("%c", hor);
            }
     printf("%c", esd);
    for (int i=0; i<alt; i++)
    {
        printf("\n");
        printf("%c", vert);
    }
    printf("\n");
    printf("%c", eii);
    for (int i=0; i<base; i++)
    {
        printf("%c", hor);
            }
    printf("%c", eid);
 
    printf("\n");
    system("PAUSE");
 
}

lo cual me hace esto:
el usuario: 5 enter 5, y sale asi
╔═════╗





╚═════╝
por favor si me puedenn ayudar se los agradeceria muchooo, si me urge
(sin los espacios que hay en el lateral, si pueden probarlo graciass)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 21
Ha aumentado su posición en 2 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Cuadro de caracteres

Publicado por Cesar (6 intervenciones) el 27/09/2019 01:10:43
Hola.

No repitas preguntas.

Te conteset en otro hilo.

Tienes que usar For anidados.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro de caracteres

Publicado por JUAN PABLO (3 intervenciones) el 27/09/2019 01:13:32
Ya lo intente, pero no pude hacerlo como tu lo dijiste, ademas te habia preguntado en que parte va, pero no me contestaste, no me digas que hacer, yo hare la pregunta repetida si yo quiero, gracias, no seas grosero :) ten buen dia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil
Val: 21
Ha aumentado su posición en 2 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Cuadro de caracteres

Publicado por Cesar (6 intervenciones) el 27/09/2019 01:31:19
Si no te conteste antes, es poque obvio no estaba en linea. Aqui habemos gente de muchos paises, y las zonas horarias son distintas, y en mi caso particular, trabajo.

Si leiste bien mi mensaje anterior, nunca fui grosero.

Contestando la pregunta, ¿En que parte va?, si viste el codigo que publique, hay claramente se ven los 2 For anidados (y lo de las X que imprime, fue solo un ejemplo, para que se apreciara el rectangulo, ya que no quise emplear los codigos Ascii en ese ejemplo).

Resumiendo. Como dije antes, tu programa facilmente se puede reducir a 2 For anidados.

En un par de horas que llegue a mi domicilio, publico tu codigo modificado.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cuadro de caracteres

Publicado por JUAN PABLO (3 intervenciones) el 27/09/2019 01:40:10
ESTA BIEN, muchas gracias, ya habia visto tu mensaje de los for anidados, pero mi idea es cerrarlo con los simbolos del codigo ascii, no puedo hacer que cierre, y creo que tu idea es rellenar el cuadro, para despues a un lado poner el resto del cuadro, es buena idea, pero he intentado tanto, que no puedo hacerlo, deberia quedar asi;

╔═════╗
║xxxxxxxxxx║
║xxxxxxxxxx║
║xxxxxxxxxx║
║xxxxxxxxxx║
║xxxxxxxxxx║
╚═════╝
sin relleno
lo imprime mal aqui, pero no debe tener el relleno de las x, y no deberia tener los espacios en los laterales, un cuadro perfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 21
Ha aumentado su posición en 2 puestos en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Cuadro de caracteres

Publicado por Cesar (6 intervenciones) el 27/09/2019 05:25:10
Hola.

Creo que no entendiste mi respuesta. Dije claramente, "Las X solo eran un ejemplo", obviamente no las tenias que imprimir.

Acabo de llegar a mi domicilio, y ya me siento cansado para rehacer tu programa desde cero, por lo que solo lo modifique para que te imprima bien el cuadro, y marque en negrita donde van los For Anidados (que como dije, tu programa se puede simplificar aun mas).

No obstante, cabe mencionar que tienes un problema de indices, ya que las esquinas tambien cuentan, y por eso en el For interno sumo 2.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include<stdio.h>
#include<stdlib.h>
 
int main() {
int j, i, alt, base;
	char esi = 201, esd = 187, eid = 188, eii = 200;
	char vert = 186, hor = 205;
 
	printf("Programa que hace un cuadro\n");
	printf("Dame la base de tu cuadro:");
	scanf("%d", &base);
	printf("Dame el ancho de tu cuadro:");
	scanf("%d", &alt);
	printf("\n");
	printf("%c", esi);
 
	for (int i = 0; i < base; i++)
	{
		printf("%c", hor);
	}
	printf("%c", esd);
	printf("\n");
	for (int i = 0; i < alt; i++)
	{
		for (int j = 0; j < base+2; j++)
		{
			if (j == 0 || j == base+1)
				printf("%c", vert);
			else
				printf(" ");
		}
		printf("\n");
	}
	printf("%c", eii);
	for (int i = 0; i < base; i++)
	{
		printf("%c", hor);
	}
	printf("%c", eid);
 
	printf("\n");
	system("PAUSE");
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar