Mudanças entre as edições de "Mike Igor Camilo Domingues"
Ir para navegação
Ir para pesquisar
Linha 13: | Linha 13: | ||
*1º Margem superior; | *1º Margem superior; | ||
− | *2º | + | *2º Base superior, que é composta por: |
− | margem lateral + (caractere '#') | + | margem lateral + (caractere '#')* tamanho_da_base + margem lateral; |
*3º Meio do desenho, composto por: | *3º Meio do desenho, composto por: | ||
margem lateral + caractere '#' + espaços em branco + caractere '#' + margem lateral | margem lateral + caractere '#' + espaços em branco + caractere '#' + margem lateral | ||
− | + | ||
− | |||
− | |||
*4º Base inferior, que é igual a base superior; | *4º Base inferior, que é igual a base superior; | ||
Linha 31: | Linha 29: | ||
int desenhar_retang(int margem, int base, int altura) { | int desenhar_retang(int margem, int base, int altura) { | ||
− | // 1º Margem superior | + | // 1º Margem superior, um for para a quantidade de margens |
for (int i = 0; i < margem; ++i) { | for (int i = 0; i < margem; ++i) { | ||
printf("\n"); // Um simples "\n" para quebrar a linha | printf("\n"); // Um simples "\n" para quebrar a linha | ||
Linha 48: | Linha 46: | ||
printf(" "); | printf(" "); | ||
} | } | ||
− | printf("\n"); | + | printf("\n");// |
//Aqui temos um for para a quantidade de linhas repetidas e dentro dele a construção de cada linha! | //Aqui temos um for para a quantidade de linhas repetidas e dentro dele a construção de cada linha! | ||
Linha 56: | Linha 54: | ||
printf(" "); | printf(" "); | ||
} | } | ||
− | // 3.2° Meio do desenho - | + | // 3.2° Meio do desenho - Caractere '#' |
printf("#"); | printf("#"); | ||
// 3.3° Meio do desenho - Espaços em branco | // 3.3° Meio do desenho - Espaços em branco | ||
Linha 62: | Linha 60: | ||
printf(" "); | printf(" "); | ||
} | } | ||
− | // 3.4° Meio do desenho - | + | // 3.4° Meio do desenho - Caractere "#" |
printf("#"); | printf("#"); | ||
// 3.5° Meio do desenho - Margem lateral | // 3.5° Meio do desenho - Margem lateral | ||
Linha 86: | Linha 84: | ||
// 5º Margem superior | // 5º Margem superior | ||
for (int i = 0; i < margem; ++i) { | for (int i = 0; i < margem; ++i) { | ||
− | printf("\n"); | + | printf("\n"); |
} | } | ||
Edição das 12h17min de 3 de julho de 2021
Desenhando um retângulo no terminal utilizando C
Como estamos trabalhando com o terminal temos que programar a construção do retângulo pensando em linha por linha!
Exemplo de desenho
##### # # #####
Olhando para o exemplo acima e analisando linha por linha podemos desenhar ele em 5 etapas.
- 1º Margem superior;
- 2º Base superior, que é composta por:
margem lateral + (caractere '#')* tamanho_da_base + margem lateral;
- 3º Meio do desenho, composto por:
margem lateral + caractere '#' + espaços em branco + caractere '#' + margem lateral
- 4º Base inferior, que é igual a base superior;
- 5º Margem Inferior.
Código simples |
---|
#include <stdio.h>
int desenhar_retang(int margem, int base, int altura) {
// 1º Margem superior, um for para a quantidade de margens
for (int i = 0; i < margem; ++i) {
printf("\n"); // Um simples "\n" para quebrar a linha
}
// 2.1º Base superior - Margem lateral
for (int i = 0; i < margem; ++i) {
printf(" ");
}
// 2.2º Base superior - Linha de caracteres '#'
for (int i = 0; i < base; ++i) {
printf("#");
}
// 2.3º Base superior - Margem Lateral
for (int i = 0; i < base; ++i) {
printf(" ");
}
printf("\n");//
//Aqui temos um for para a quantidade de linhas repetidas e dentro dele a construção de cada linha!
for (int k = 0; k < altura - 2; ++k) {
// 3.1° Meio do desenho - Margem lateral
for (int i = 0; i < margem; ++i) {
printf(" ");
}
// 3.2° Meio do desenho - Caractere '#'
printf("#");
// 3.3° Meio do desenho - Espaços em branco
for (int i = 0; i < base - 2; ++i) {
printf(" ");
}
// 3.4° Meio do desenho - Caractere "#"
printf("#");
// 3.5° Meio do desenho - Margem lateral
for (int i = 0; i < margem; ++i) {
printf(" ");
}
printf("\n");
}
// 4.1º Linha superior - Margem lateral
for (int i = 0; i < margem; ++i) {
printf(" ");
}
// 4.2º Linha superior - Linha de caracteres
for (int i = 0; i < base; ++i) {
printf("#");
}
// 4.3º Linha superior - Margem Lateral
for (int i = 0; i < margem; ++i) {
printf(" ");
}
// 5º Margem superior
for (int i = 0; i < margem; ++i) {
printf("\n");
}
}
int main()
{
desenhar_retang(2,30,10);
return 0;
}
|