Estou com uma dúvida no programa em c++
Preciso fazer um menu iniciar, mas para isso preciso usar repetições para fazer a margem em volta do menu, usando void linha consegui fazer a repetição até o número determinado de linhas na horizontal, mas não consigo fazer a mesma função na vertical, tentei usar \n repetindo mas só piorou. ME AJUDEEEEM????
OBS: PRECISO USAR REPETIÇÃO POIS O PROGRAMA FICARÁ MUITO GRANDE...
include <iostream>
#include <windows.h>
using namespace std;
void gotoxy();
void linha();
void menu();
void vertical();
void gotoxy(int x,int y)
{
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),(COORD){x-1,y-1});
}
void linha(int n, char c)
{
for(int i=1; i<=n; i++)
{
cout<<c;
}
}
void vertical(int n,char c)
{
for(int i=1; i<=n; i++) // NAO CONSIGO USAR ESSA FUNCAO COMO REPETICAO NA VERTICAL
{
cout<<c;
}
}
int main()
{
int opcao;
gotoxy(37,2);
vertical(10,'.'); // AQUI ESTÁ A FUNÇÃO VERTICAL QUE NÃO CONSIGO ALINHAR COM A HORIZONTA
// O GOTOXY NAO ESTÁ FUNCIONANDO PARA ALINHAR
gotoxy(38,19);
linha(45,'.');
gotoxy(38,1);
linha(45,'.');
gotoxy(54,2);
cout<<"MENU PRINCIPAL ";
gotoxy(38,4);
linha(45,'.');
gotoxy(40,7);
cout<<"1- ESTRUTURA SEQUENCIAL ";
gotoxy(40,9);
cout<<"2- ESTRUTURA CONDICIONAL ";
gotoxy(40,11);
cout<<"3- ESTRUTURA DE REPETICAO ";
gotoxy(40,13);
cout<<"4- VARIAVEIS COMPOSTAS HOMOGENEAS ";
gotoxy(40,15);
cout<<"5- ENCERRAR ";
gotoxy(40,17);
cout<<"ESCOLHA UMA DAS opções: [ ]";
gotoxy(65,17);
cin>>opcao;
}