Dibuja un marco, con funciones

#include <conio.h>
#include <stdio.h>
#include <dos.h>
#include <graphics.h>
 
 
void menu(void);
int colormarco();
void imprimir(int x,int y,int ancho, int alto, int colormarco, int fondo);
void titulo(int x,int y,int colormarco);
 
 
int x,y,ancho,alto;
 
main()
{
 int i,lColor,lTexto,lFondo;
 char nombre[80];
 clrscr();
 textcolor(15);
 menu();
 gotoxy(2,10);
 printf("Nombre: ");
 scanf("%s",&nombre);
 
 clrscr();
 printf("Color del marco");
 lColor=colormarco();
 clrscr();
 printf("Color del titulo");
 lTexto=colormarco();
 clrscr();
 printf("Color del fondo");
 lFondo=colormarco();
 
 
 
 imprimir(x,y,ancho,alto,lColor,lFondo);
 textcolor(lTexto);
 gotoxy(x+2,y);
 cprintf("[%s]",nombre);
 getch();
 getch();
 return(0);
}
 
void menu(void)
{
 gotoxy(2,2);
 printf("Dame la coordenada X,Y");
 gotoxy(2,3);
 printf("X: ");
 scanf("%d",&x);
 gotoxy(2,4);
 printf("Y: ");
 scanf("%d",&y);
 gotoxy(2,6);
 printf("Tama¤o ancho y alto");
 gotoxy(2,7);
 printf("Ancho: ");
 scanf("%d",&ancho);
 gotoxy(2,8);
 printf("Alto: ");
 scanf("%d",&alto);
}
 
int colormarco()
{
 int color;
textcolor(15);gotoxy(5,4);cprintf("Color      Opcion");
textcolor(15);gotoxy(5,5);cprintf("==================");
textcolor(1);gotoxy(5,6);cprintf("Azul          1");
textcolor(2);gotoxy(5,7);cprintf("Verde         2");
textcolor(4);gotoxy(5,8);cprintf("Rojo          4");
textcolor(6);gotoxy(5,9);cprintf("Cafe          6");
textcolor(9);gotoxy(5,10);cprintf("Azul Cielo    9");
textcolor(14);gotoxy(5,11);cprintf("Amarillo     14");
textcolor(15);gotoxy(5,12);cprintf("Blanco       15");
textcolor(15);gotoxy(2,13);cprintf("Opcion: ");
cscanf("%d",&color);
 return(color);
}
 
void imprimir(int x,int y,int ancho, int alto, int colormarco, int fondo)
{
 int i,j;
 clrscr();
 textcolor(colormarco);
 gotoxy(x,y);
 cprintf("%c",201);//É
 gotoxy(x,alto);
 cprintf("%c",200);//È
 
 for (i=x+1;i<alto;j++)
   {
    textcolor(fondo);
    gotoxy(i,j);
    cprintf("%c",219);//Û
   }
  textcolor(colormarco);
  gotoxy(i,y);
  cprintf("%c",205);//�
  gotoxy(i,alto);
  cprintf("%c",205);//�
 }
 for (i=y+1;i<alto;i++)
 {
  gotoxy(x,i);
  cprintf("%c",186);//º
  gotoxy(ancho,i);
  cprintf("%c",186);//º
 
 }
  gotoxy(ancho,y);
  cprintf("%c",187);//»
  gotoxy(ancho,alto);
  cprintf("%c",188);//¼
}

¿Has encontrado algún error? ¿Tienes la solución? Dejame tu correción ;-)

Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.

Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:

  • Si es lenguaje C [c]Código en C[/c]
  • Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].

De esta manera el código coloreas el código.

Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:

Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.

¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)