Backup proyecto Joyfe - Borland
This commit is contained in:
177
CPP/PROG6.CPP
Normal file
177
CPP/PROG6.CPP
Normal file
@ -0,0 +1,177 @@
|
||||
// Prog6
|
||||
//
|
||||
// Programadores:
|
||||
//
|
||||
// Juan L<>pez Fern<72>ndez
|
||||
// Mois<69>s Virumbrales Cuenca
|
||||
// DAI 1<>A
|
||||
//
|
||||
// Imprime una pir<69>mide de asteriscos seg<65>n las opciones tecleadas
|
||||
// por el usuario.
|
||||
//
|
||||
// Descripci<63>n de las variables:
|
||||
// num: N<>mero de asteriscos de la base.
|
||||
// altura: N<>mero de filas de la pir<69>mide.
|
||||
// posx, posy: Posici<63>n del cursor para imprimir asteriscos.
|
||||
// conposx: Contador que lleva el n<>mero de asteriscos imprimidos por fila.
|
||||
// conposy: Contador que lleva el n<>mero de filas imprimidas.
|
||||
// color, color2, colorg: Guarda colores introducidos por usuario.
|
||||
// conveces: Cuenta las veces que se introduce un color
|
||||
// nveces: Marca las veces que se realiza el bucle dependiendo si es
|
||||
// Monocolor o Bicolor.
|
||||
// tipo: Tipo de pir<69>mide (normal o invertida)
|
||||
// pausa: Para hacer una pausa al final del programa.
|
||||
// ncolores: Guarda si es Monocolor o Bicolor.
|
||||
// tipocolor: Forma de colorearlo (por filas o asteriscos).
|
||||
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <conio.h>
|
||||
|
||||
int num;
|
||||
int altura;
|
||||
int posx,posy;
|
||||
int conposx,conposy;
|
||||
int color,color2,colorg;
|
||||
int conveces,nveces;
|
||||
char tipo,pausa,ncolores,tipocolor;
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
do
|
||||
{
|
||||
clrscr();
|
||||
gotoxy (17,13);
|
||||
printf ("Introduce el N<> de asteriscos de la base: ");
|
||||
fflush (stdin);
|
||||
scanf ("%d",&num);
|
||||
}
|
||||
while (num %2!=0 || num<1 || num>50);
|
||||
|
||||
do
|
||||
{
|
||||
clrscr();
|
||||
gotoxy(20,12);
|
||||
printf (" Tipo de pir<69>mide (Normal o Invertida): ");
|
||||
fflush (stdin);
|
||||
scanf ("%c",&tipo);
|
||||
}
|
||||
while (tipo!='n' && tipo!='i');
|
||||
|
||||
do
|
||||
{
|
||||
clrscr();
|
||||
gotoxy (20,12);
|
||||
printf (" Monocolor o Bicolor: ");
|
||||
fflush (stdin);
|
||||
scanf ("%c",&ncolores);
|
||||
}
|
||||
while (ncolores!='m' && ncolores!='b');
|
||||
|
||||
if (ncolores=='m')
|
||||
{
|
||||
nveces=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
nveces=2;
|
||||
|
||||
do
|
||||
{
|
||||
clrscr();
|
||||
gotoxy(20,12);
|
||||
printf (" Colorear por Filas o por Asteriscos: ");
|
||||
fflush(stdin);
|
||||
scanf ("%c",&tipocolor);
|
||||
}
|
||||
while (tipocolor!='f' && tipocolor!='a');
|
||||
}
|
||||
|
||||
conveces=1;
|
||||
|
||||
do
|
||||
{
|
||||
if (nveces==2)
|
||||
{
|
||||
color2=color;
|
||||
}
|
||||
|
||||
clrscr();
|
||||
gotoxy (25,8); printf (" 1.- Azul");
|
||||
gotoxy (25,9); printf (" 2.- Verde");
|
||||
gotoxy (25,10); printf (" 3.- Cyan");
|
||||
gotoxy (25,11); printf (" 4.- Rojo");
|
||||
gotoxy (25,12); printf (" 5.- Morado");
|
||||
gotoxy (25,13); printf (" 6.- Marr<72>n");
|
||||
gotoxy (25,14); printf (" 7.- Gris claro");
|
||||
gotoxy (25,15); printf (" 8.- Gris oscuro");
|
||||
gotoxy (25,16); printf (" 9.- Azul claro");
|
||||
gotoxy (25,17); printf ("10.- Verde claro");
|
||||
gotoxy (25,18); printf ("11.- Cyan claro");
|
||||
gotoxy (25,19); printf ("12.- Rojo claro");
|
||||
gotoxy (25,20); printf ("13.- Morado claro");
|
||||
gotoxy (25,21); printf ("14.- Amarillo");
|
||||
gotoxy (25,22); printf ("15.- Blanco");
|
||||
gotoxy (20,6);
|
||||
printf (" Elige color %d<>: ",conveces);
|
||||
fflush(stdin);
|
||||
scanf ("%d",&color);
|
||||
conveces++;
|
||||
}
|
||||
while (color<1 || color>15 || conveces<=nveces);
|
||||
|
||||
altura=(num/2);
|
||||
posx=((80-num)/2);
|
||||
|
||||
if (tipo=='n')
|
||||
{
|
||||
posy=(25-((25-altura)/2));
|
||||
}
|
||||
else
|
||||
{
|
||||
posy=((26-(altura-1))/2);
|
||||
}
|
||||
|
||||
clrscr();
|
||||
textcolor(color);
|
||||
|
||||
for (conposy=1;conposy<=altura;conposy++)
|
||||
{
|
||||
gotoxy(posx,posy);
|
||||
|
||||
if (tipocolor=='f')
|
||||
{
|
||||
colorg=color;color=color2;color2=colorg;
|
||||
textcolor(colorg);
|
||||
}
|
||||
|
||||
for (conposx=1;conposx<=num;conposx++)
|
||||
{
|
||||
if (tipocolor=='a')
|
||||
{
|
||||
colorg=color;color=color2;color2=colorg;
|
||||
textcolor (colorg);
|
||||
}
|
||||
|
||||
cprintf ("*");
|
||||
}
|
||||
|
||||
if (tipo=='n')
|
||||
{
|
||||
posy--;
|
||||
}
|
||||
else
|
||||
{
|
||||
posy++;
|
||||
}
|
||||
num=num-2;
|
||||
posx++;
|
||||
}
|
||||
|
||||
textcolor(7);
|
||||
gotoxy(80,25);
|
||||
fflush (stdin);
|
||||
scanf ("%c",&pausa);
|
||||
}
|
||||
Reference in New Issue
Block a user