#include<stdio.h>
int mostrarmenu();
int calculrectangle(int,int,char);
int calculrectanglebuit(int,int,char);
int calculquadrat(int,char);
int calculquadratbuit(int,char);
int calcultriangle(int,char);
int calcultrianglebuit(int,char);
int main()
{
int fin=0;
int op,m,n;
char carac;
do
{
op = mostrarmenu();
switch(op)
{
case 1:
printf("Introdueix el tamany de un costat: n");
scanf("%d", &m);
printf("Introduiex el tamany de l'altre costat: n");
scanf("%d", &n);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calculrectangle(m,n,carac);
break;
case 2:
printf("Introdueix el tamany de un costat: n");
scanf("%d", &m);
printf("Introduiex el tamany de l'altre costat: n");
scanf("%d", &n);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calculrectanglebuit(m,n,carac);
break;
case 3:
printf("Introdueix el tamany del costat: n");
scanf("%d", &m);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calculquadrat(m,carac);
break;
case 4:
printf("Introdueix el tamany del costat: n");
scanf("%d", &m);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calculquadratbuit(m,carac);
break;
case 5:
printf("Introdueix l'alcada: n");
scanf("%d", &m);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calcultriangle(m,carac);
break;
case 6:
printf("Introdueix l' alcada: n");
scanf("%d", &m);
fflush(stdin);
printf("Introdueix el caracter per fer la figura: n");
scanf ("%c", &carac);
calcultrianglebuit(m,carac);
break;
case 7:
fin=1;
break;
default:
printf("Opcio incorrecten");
}
if (!fin)
{
printf("nn");
getchar();
getchar();
}
}while(!fin);
}
int mostrarmenu ()
{
int op;
printf("Programa que dibuixa la figura que has escollit: n");
printf("n");
printf("n");
printf("1) Rectangle: n");
printf("2) Rectangle buit: n");
printf("3) Quadrat: n");
printf("4) Quadrat buit: n");
printf("5) Triangle: n");
printf("6) Triangle buit: n");
printf("7) Salir: n");
do
{
printf("Escull una opcio: ");
scanf("%d", &op);
if ((op != 1) && (op !=2) && (op != 3) && (op != 4) && (op != 5) && (op != 6) && (op != 7))
{
printf("Opcio incorrecte n");
}
}while (op < 1 || op > 7);
return op;
}
int calculrectangle (int m, int n, char carac)
{
int i,j;
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
printf("%c",carac);
}
printf("n");
}
}
int calculrectanglebuit(int m, int n, char carac)
{
int i,j,espai;
for (i=1; i<=m;i++)
{
if((i==1) || (i==m))
{
for (j=1;j<=n;j++)
{
printf("%c",carac);
}
}
else
{
printf("%c",carac);
for (espai=1;espai<=n-2;espai++)
{
printf(" ");
}
printf("%c",carac);
}
printf("n");
}
}
int calculquadrat(int m, char carac)
{
int i,j;
for (i=1; i<=m;i++)
{
for (j=1;j<=m;j++)
{
printf("%c",carac);
}
printf("n");
}
}
int calculquadratbuit(int m, char carac)
{
int i,j,espai;
for (i=1; i<=m;i++)
{
if((i==1) || (i==m))
{
for (j=1;j<=m;j++)
{
printf("%c",carac);
}
}
else
{
printf("%c",carac);
for (espai=1;espai<=m-2;espai++)
{
printf(" ");
}
printf("%c",carac);
}
printf("n");
}
}
int calcultriangle(int m, char carac)
{
int i,j,espai;
for (i=1;i<=m;i++)
{
for(espai=1;espai<=m-i;espai++)
{
printf(" ");
}
for (j=1;j<=i*2-1;j++)
{
printf("%c",carac);
}
printf("n");
}
}
int calcultrianglebuit (int m, char carac)
{
int i,j,espai;
for (i = 1; i<=m; i++)
{
for (espai=1; espai<=m-i; espai++)
{
printf(" ");
}
if (i == 1 || i == m)
{
for (j = 1; j<=i*2-2; j++)
{
printf("%c",carac);
}
}
if (i != 1 || i != m)
{
printf("%c",carac);
for (j = 1; j<=i*2-1-2; j++)
{
printf(" ");
}
printf("%c",carac);
}
printf("n");
}
}