Open edyguilherme opened 5 years ago
///criar este arquivo apos criar o ecra.h
// Arquivo com codigo das funcoes da biblioteca ECRA.h
// Limpar tela
void clear(void) { HANDLE TELA; DWORD ESCRITA = 0; COORD POS; TELA = GetStdHandle(STD_OUTPUT_HANDLE); POS.X = 0; POS.Y = 0; FillConsoleOutputCharacter(TELA, 32, 80 * 25, POS, &ESCRITA); SetConsoleCursorPosition(TELA, POS); return; }
// Posicionar cursor
void position(int LINHA, int COLUNA) { HANDLE TELA; COORD POS; TELA = GetStdHandle(STD_OUTPUT_HANDLE); POS.X = COLUNA - 1; /// COLUNA 0 POS.Y = LINHA - 1; /// LINHA 0 SetConsoleCursorPosition(TELA, POS); return; }
// Limpar linha
void clearline(void) { HANDLE TELA; COORD POS; CONSOLE_SCREEN_BUFFER_INFO VIDEO; DWORD ESCRITA = 0; TELA = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(TELA, &VIDEO); POS.Y = VIDEO.dwCursorPosition.Y; POS.X = VIDEO.dwCursorPosition.X; FillConsoleOutputCharacter(TELA, 32, 80 - POS.X , POS, &ESCRITA); return; }
// Cor de texto e fundo
void color(int COR_FUNDO, int COR_TEXTO) { HANDLE TELA; int COR; TELA = GetStdHandle(STD_OUTPUT_HANDLE);
if (COR_FUNDO<0 and COR_FUNDO>15 and COR_TEXTO<0 and COR_TEXTO>15) COR = 15; else COR = COR_TEXTO + COR_FUNDO * 16; SetConsoleTextAttribute(TELA, COR); return; }
///salvar como BIBLIO_ECRA.CPP
///agora o programa calculadora
// Programa Calculadora
using namespace std;
float R, A, B;
void rotadicao(void); void rotsubtracao(void); void rotmultiplicacao(void); void rotdivisao(void); void entrada(void); void saida(void); void pausa(void);
int main(void) { int OPCAO = 0; while (OPCAO != 5) { cout << setprecision(2); cout << setiosflags(ios::right); cout << setiosflags(ios::fixed); clear(); position( 1, 1); cout << "--------------------"; position( 2, 1); cout << "Programa Calculadora"; position( 3, 1); cout << " Menu Principal "; position( 4, 1); cout << "--------------------"; position( 6, 1); cout << "[1] - Adicao"; position( 7, 1); cout << "[2] - Subtracao"; position( 8, 1); cout << "[3] - Multiplicacao"; position( 9, 1); cout << "[4] - Divisao"; position(10, 1); cout << "[5] - Fim de Programa"; position(12, 1); cout << "Escolha uma opcao: "; cin >> OPCAO; cin.ignore(80, '\n'); if (OPCAO != 5) { switch (OPCAO) { case 1: rotadicao(); break; case 2: rotsubtracao(); break; case 3: rotmultiplicacao(); break; case 4: rotdivisao(); break; } } } return 0; }
void entrada(void) { position( 5, 1); cout << "Entre um valor para a variavel [A]: "; cin >> A; cin.ignore(80, '\n'); position( 6, 1); cout << "Entre um valor para a variavel [B]: "; cin >> B; cin.ignore(80, '\n'); return; }
void saida(void) { position( 9, 1); cout << "O resultado entre A e B = "; cout << setw(8); cout << R << endl; position(11, 1); pausa(); return; }
void rotadicao(void) { clear(); position( 1, 1); cout << "Rotina de Adicao"; position( 2, 1); cout << "----------------"; entrada(); R = A + B; saida(); return; }
void rotsubtracao(void) { clear(); position( 1, 1); cout << "Rotina de Subtracao"; position( 2, 1); cout << "-------------------"; entrada(); R = A - B; saida(); return; }
void rotmultiplicacao(void) { clear(); position( 1, 1); cout << "Rotina de Multiplicacao"; position( 2, 1); cout << "-----------------------"; entrada(); R = A * B; saida(); return; }
void rotdivisao(void) { clear(); position( 1, 1); cout << "Rotina de Divisao"; position( 2, 1); cout << "-----------------"; entrada(); if (B == 0) { position( 9, 1); cout << "Erro de divisao"; position(11, 1); pausa(); } else { R = A / B; saida(); } return; }
void pausa(void)
{
cout << "Tecle
///salvar como programa.cpp
Com todos os arquivos salvos no mesmo diretorio, agora abrir o CMD no diretorio dos arquivos e usar o comando g++ -std=c++17 PROGRAMA.CPP BIBLIO_ECRA.CPP -o PROGRAMA
/// apos isto sera gerado o programa.exe
// ECRA.H // Arquivo de cabecalho para controle do video modo // windows.h
// Constantes para as cores de texto e fundo
define black 0 // Preto
define blue 1 // Azul
define green 2 // Verde
define cyan 3 // Ciano
define red 4 // Vermelho
define magenta 5 // Magenta
define brown 6 // Marrom
define lgray 7 // Cinza claro
define dgray 8 // Cinza escuro
define lblue 9 // Azul claro
define lgreen 10 // Verde claro
define lcyan 11 // Ciano claro
define lred 12 // Vermelho claro
define lmagenta 13 // Magenta claro
define yellow 14 // Amarelo
define white 15 // Branco
void clear(void); void position(int LINHA, int COLUNA); void clearline(void); void color(int COR_FUNDO, int COR_TEXTO);
///salvar com o nome ECRA.H