Codigos (C/C++) para Console
5 participantes
Página 1 de 1
O que vocês acharam do código?
Codigos (C/C++) para Console
O códigio abaixo foi desenvolvido para manipulação de efeitos estéticos em programas de console, onde pode-se alterar a cor da letra e a cor de fundo do programa, limpar alguma posição da tela, dentre outras funcionalidades.
Espero que gostem =]
// PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS (PUC-MINAS)
// Curso: Engenharia de Computação
// Desenvolvedor: Sérgio Otaviano Diniz Lopes
// OBJETIVO: Fornecer recursos graficos para programas feitos em console
// em linguagem C/C++
// Console's Interface - VERSÃO 2.0
// Utilizar no DEV-C++ 4.9.9.2 ou C++ Builder
// - Bibliotecas
#include "iostream.h"// - Para fluxo de dados
#include "fstream.h" // - Para uso de arquivos
#include "windows.h" // - Para uso de recursos graficos
#include "conio.h" // - Para uso da função [getch()]
// -----------------------------------------------
// - gotoxy( coluna, linha )
// -> Deixa o cursor na linha e na coluna desejada
void gotoxy( int coluna, int linha )
{
COORD coord;
coord.X = ( short )coluna;
coord.Y = ( short )linha;
SetConsoleCursorPosition( GetStdHandle(STD_OUTPUT_HANDLE), coord );
}
// -----------------------------------------------
// - clear( linha, coluna, tam )
// - > limpa (tam) caracteres da tela a partir da linha e coluna definida pelo usuario
// - OBS.: isso nao afeta alterações de cor feitas no programa.
// Pode ser combinado com a função color para que tenha o efeito desejado
void clear( int linha, int coluna, int tam )
{
gotoxy(linha,coluna);
for( int cn = 0; cn < tam; cn ++ )
{
cout << " ";
}
}
// -----------------------------------------------
// - color( cor de terxto, cor do fundo )
// -> define a cor do texto e a cor do fundo do console
void color( int text, int background )
{
bool erro;
HANDLE hConsole;
hConsole = GetStdHandle( STD_OUTPUT_HANDLE );
erro = (((text > 15)||(text < 0))||((background > 15)||(background < 0)));
if(erro)
{
system( "cls" );
SetConsoleTextAttribute( hConsole, 7 );
cout << "\n -----------------------------------------------------------";
cout << "\n ERRO: configuracao incorreta de cores !!!";
cout << "\n Local =\20 funcao: color(cor_de_texto , cor_de_fundo)";
cout << "\n\n Atributos de cor validos:\n";
cout << "\n 0 = Preto 8 = Cinza";
cout << "\n 1 = Azul 9 = Azul claro";
cout << "\n 2 = Verde 10 = Verde claro";
cout << "\n 3 = Verde-agua 11 = Verde-agua claro";
cout << "\n 4 = Vermelho 12 = Vermelho claro";
cout << "\n 5 = Roxo 13 = Lilas";
cout << "\n 6 = Amarelo 14 = Amarelo claro";
cout << "\n 7 = Branco 15 = Branco brilhante\n";
cout << "\n -----------------------------------------------------------\n ";
system( "pause" );
system( "cls" );
}
else
{
if( ( text == 0 ) && ( background == 0 ) )
{
SetConsoleTextAttribute(hConsole,0);
}
else
{
if( background != 0 )
{
int auxiliar = background;
background = background * 15;
background = background + auxiliar;
}
SetConsoleTextAttribute( hConsole, (text + background) );
}
}
}
// -----------------------------------------------
// - cgets( testo, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y )
// -> preenche um vetor de caracteres com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
void cgets( char frase[], int fim, int x, int y )
{
bool parar = false;
char letra;
int cn = 0;
gotoxy(x,y);
do
{
letra = getch();
if( letra == 13 )
{
parar = true;
}
if((cn < fim) && (letra != 8) && (letra != 9) && (letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8) && (cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8) && (cn == 0))
{
gotoxy(x,y);
}
}while( !parar );
frase[cn] = '\0';
gotoxy(1,(y + 1));
}
// -----------------------------------------------
// - igets( texto, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y)
// -> preenche um vetor de caracteres apenas com números (int) e com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
// -> OBS.: 1 - esta função retorna o valor digitado na forma de inteiro
// 2 - não deve ser passado uma quantidade de caracteres superior a (10)
// pois variáveis inteiras suportam números com apenas 10 digitos
// o valor nao pode ser menor que -2.147.483.648 e não pode ser maior que 2.147.483.647 !!!
int igets(char frase[],int fim,int x,int y)
{
bool parar = false,erro;
char letra;
int cn = 0,numero;
gotoxy(x,y);
do
{
letra = getch();
erro = ((letra != '-')&&(letra != '0')&&(letra != '1')&&(letra != '2')&&(letra != '3')&&(letra != '4')&&(letra != '5')&&(letra != '6')&&(letra != '7')&&(letra != '8')&&(letra != '9')&&(letra != 8)&&(letra != 13));
if(letra == 13)
{
parar = true;
}
if((cn < fim)&&(letra != 8)&&(!erro)&&(letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8)&&(cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8)&&(cn == 0))
{
gotoxy(x,y);
}
}while(!parar);
frase[cn] = '\0';
if(frase[0] != '\0')
{
fstream arquivo;
arquivo.open("dados.txt",ios::out);
arquivo << frase;
arquivo. close();
arquivo.open("dados.txt",ios::in);
arquivo >> numero;
arquivo.close();
system("del dados.txt");
return (numero);
}
else
{
return (0);
}
}
// -----------------------------------------------
// - fgets( texto, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y)
// -> preenche um vetor de caracteres apenas com números (float) e com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
// - > OBS.: esta função retorna o valor digitado na forma de número real (float)
float fgets(char frase[],int fim,int x,int y)
{
bool parar = false,erro;
char letra;
int cn = 0;
float numero;
gotoxy(x,y);
do
{
letra = getch();
erro = ((letra != '-')&&(letra != '0')&&(letra != '1')&&(letra != '2')&&(letra != '3')&&(letra != '4')&&(letra != '5')&&(letra != '6')&&(letra != '7')&&(letra != '8')&&(letra != '9')&&(letra != '.')&&(letra != 8)&&(letra != 13));
if(letra == 13)
{
parar = true;
}
if((cn < fim)&&(letra != 8)&&(!erro)&&(letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8)&&(cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8)&&(cn == 0))
{
gotoxy(x,y);
}
}while(!parar);
frase[cn] = '\0';
if(frase[0] != '\0')
{
fstream arquivo;
arquivo.open("dados.txt",ios::out);
arquivo << frase;
arquivo. close();
arquivo.open("dados.txt",ios::in);
arquivo >> numero;
arquivo.close();
system("del dados.txt");
return (numero);
}
else
{
return (0);
}
}
By Sérgio =]
Espero que gostem =]
// PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS (PUC-MINAS)
// Curso: Engenharia de Computação
// Desenvolvedor: Sérgio Otaviano Diniz Lopes
// OBJETIVO: Fornecer recursos graficos para programas feitos em console
// em linguagem C/C++
// Console's Interface - VERSÃO 2.0
// Utilizar no DEV-C++ 4.9.9.2 ou C++ Builder
// - Bibliotecas
#include "iostream.h"// - Para fluxo de dados
#include "fstream.h" // - Para uso de arquivos
#include "windows.h" // - Para uso de recursos graficos
#include "conio.h" // - Para uso da função [getch()]
// -----------------------------------------------
// - gotoxy( coluna, linha )
// -> Deixa o cursor na linha e na coluna desejada
void gotoxy( int coluna, int linha )
{
COORD coord;
coord.X = ( short )coluna;
coord.Y = ( short )linha;
SetConsoleCursorPosition( GetStdHandle(STD_OUTPUT_HANDLE), coord );
}
// -----------------------------------------------
// - clear( linha, coluna, tam )
// - > limpa (tam) caracteres da tela a partir da linha e coluna definida pelo usuario
// - OBS.: isso nao afeta alterações de cor feitas no programa.
// Pode ser combinado com a função color para que tenha o efeito desejado
void clear( int linha, int coluna, int tam )
{
gotoxy(linha,coluna);
for( int cn = 0; cn < tam; cn ++ )
{
cout << " ";
}
}
// -----------------------------------------------
// - color( cor de terxto, cor do fundo )
// -> define a cor do texto e a cor do fundo do console
void color( int text, int background )
{
bool erro;
HANDLE hConsole;
hConsole = GetStdHandle( STD_OUTPUT_HANDLE );
erro = (((text > 15)||(text < 0))||((background > 15)||(background < 0)));
if(erro)
{
system( "cls" );
SetConsoleTextAttribute( hConsole, 7 );
cout << "\n -----------------------------------------------------------";
cout << "\n ERRO: configuracao incorreta de cores !!!";
cout << "\n Local =\20 funcao: color(cor_de_texto , cor_de_fundo)";
cout << "\n\n Atributos de cor validos:\n";
cout << "\n 0 = Preto 8 = Cinza";
cout << "\n 1 = Azul 9 = Azul claro";
cout << "\n 2 = Verde 10 = Verde claro";
cout << "\n 3 = Verde-agua 11 = Verde-agua claro";
cout << "\n 4 = Vermelho 12 = Vermelho claro";
cout << "\n 5 = Roxo 13 = Lilas";
cout << "\n 6 = Amarelo 14 = Amarelo claro";
cout << "\n 7 = Branco 15 = Branco brilhante\n";
cout << "\n -----------------------------------------------------------\n ";
system( "pause" );
system( "cls" );
}
else
{
if( ( text == 0 ) && ( background == 0 ) )
{
SetConsoleTextAttribute(hConsole,0);
}
else
{
if( background != 0 )
{
int auxiliar = background;
background = background * 15;
background = background + auxiliar;
}
SetConsoleTextAttribute( hConsole, (text + background) );
}
}
}
// -----------------------------------------------
// - cgets( testo, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y )
// -> preenche um vetor de caracteres com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
void cgets( char frase[], int fim, int x, int y )
{
bool parar = false;
char letra;
int cn = 0;
gotoxy(x,y);
do
{
letra = getch();
if( letra == 13 )
{
parar = true;
}
if((cn < fim) && (letra != 8) && (letra != 9) && (letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8) && (cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8) && (cn == 0))
{
gotoxy(x,y);
}
}while( !parar );
frase[cn] = '\0';
gotoxy(1,(y + 1));
}
// -----------------------------------------------
// - igets( texto, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y)
// -> preenche um vetor de caracteres apenas com números (int) e com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
// -> OBS.: 1 - esta função retorna o valor digitado na forma de inteiro
// 2 - não deve ser passado uma quantidade de caracteres superior a (10)
// pois variáveis inteiras suportam números com apenas 10 digitos
// o valor nao pode ser menor que -2.147.483.648 e não pode ser maior que 2.147.483.647 !!!
int igets(char frase[],int fim,int x,int y)
{
bool parar = false,erro;
char letra;
int cn = 0,numero;
gotoxy(x,y);
do
{
letra = getch();
erro = ((letra != '-')&&(letra != '0')&&(letra != '1')&&(letra != '2')&&(letra != '3')&&(letra != '4')&&(letra != '5')&&(letra != '6')&&(letra != '7')&&(letra != '8')&&(letra != '9')&&(letra != 8)&&(letra != 13));
if(letra == 13)
{
parar = true;
}
if((cn < fim)&&(letra != 8)&&(!erro)&&(letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8)&&(cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8)&&(cn == 0))
{
gotoxy(x,y);
}
}while(!parar);
frase[cn] = '\0';
if(frase[0] != '\0')
{
fstream arquivo;
arquivo.open("dados.txt",ios::out);
arquivo << frase;
arquivo. close();
arquivo.open("dados.txt",ios::in);
arquivo >> numero;
arquivo.close();
system("del dados.txt");
return (numero);
}
else
{
return (0);
}
}
// -----------------------------------------------
// - fgets( texto, quantidade maxima de caracteres, posição do cursoer em x, posição do cursoer em y)
// -> preenche um vetor de caracteres apenas com números (float) e com um limite de caracteres, não exibindo
// na tela caracteres alem do permitido pelo tamanho do vetor
// - > OBS.: esta função retorna o valor digitado na forma de número real (float)
float fgets(char frase[],int fim,int x,int y)
{
bool parar = false,erro;
char letra;
int cn = 0;
float numero;
gotoxy(x,y);
do
{
letra = getch();
erro = ((letra != '-')&&(letra != '0')&&(letra != '1')&&(letra != '2')&&(letra != '3')&&(letra != '4')&&(letra != '5')&&(letra != '6')&&(letra != '7')&&(letra != '8')&&(letra != '9')&&(letra != '.')&&(letra != 8)&&(letra != 13));
if(letra == 13)
{
parar = true;
}
if((cn < fim)&&(letra != 8)&&(!erro)&&(letra != 13))
{
frase[cn] = letra;
cout << letra;
cn = cn + 1;
x = x + 1;
}
if((letra == 8)&&(cn > 0))
{
x = x - 1;
gotoxy(x,y);
cout << " ";
gotoxy(x,y);
cn = cn - 1;
}
if((letra == 8)&&(cn == 0))
{
gotoxy(x,y);
}
}while(!parar);
frase[cn] = '\0';
if(frase[0] != '\0')
{
fstream arquivo;
arquivo.open("dados.txt",ios::out);
arquivo << frase;
arquivo. close();
arquivo.open("dados.txt",ios::in);
arquivo >> numero;
arquivo.close();
system("del dados.txt");
return (numero);
}
else
{
return (0);
}
}
By Sérgio =]
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
pô....ta com tempo em sérgio =D....ficou bacana cara isso ai
t+
t+
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
vlw kara, mais eu já tenho isso faz um bom tempo, des da época que eu ficava tentando aprender interface grafica igual um louco =D
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
bacana seu codigo, pro povo do primeiro perido é uma maravilha
Marcosiano- MS-DOS
- Mensagens : 5
Data de inscrição : 26/02/2010
Idade : 41
Re: Codigos (C/C++) para Console
Sérgio escreveu:vlw kara, mais eu já tenho isso faz um bom tempo, des da época que eu ficava tentando aprender interface grafica igual um louco =D
on topic:
eu sei eu lembro que se tinha feito algo do tipo naquela época mesmo......rs.....e vc já fuçou com gui no c++? fazer tela mesmo e tals? se sim qual lib se usou? o wxWidgets é bem relax de usar ^^
off topic:
qual objetivo aqui desse forum?só pra linguagem c++?vai ter tutorial?vamo fazer tutoriais de várias coisas tipo web =D? gostei de eu estar como calouro não coloca eu como algo diferente ai =D
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Litiser escreveu:
on topic:
eu sei eu lembro que se tinha feito algo do tipo naquela época mesmo......rs.....e vc já fuçou com gui no c++? fazer tela mesmo e tals? se sim qual lib se usou? o wxWidgets é bem relax de usar ^^
off topic:
qual objetivo aqui desse forum?só pra linguagem c++?vai ter tutorial?vamo fazer tutoriais de várias coisas tipo web =D? gostei de eu estar como calouro não coloca eu como algo diferente ai =D
on topic: Sim eu aprendi a fazer programas com interface grafica no Builder c++, e não me lembro da biblioteca padrão que usei no builder no momento.
off topic: Neste forum vamos procurar falar de todas as liguagens que aprendemos no curso e também vamos procurar fazer tutoriais. E calouro é um rank altomatico, vai de acordo com a quantidade de posts que você tem ^^
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Sérgio escreveu:
on topic: Sim eu aprendi a fazer programas com interface grafica no Builder c++, e não me lembro da biblioteca padrão que usei no builder no momento.
off topic: Neste forum vamos procurar falar de todas as liguagens que aprendemos no curso e também vamos procurar fazer tutoriais. E calouro é um rank altomatico, vai de acordo com a quantidade de posts que você tem ^^
on topic: doido mas aquela interface gráfica do builder é bem tosca, da uma olhada na do visual studio c++ ou no wxWidgets que são bem bacanas
off topic: Doido quando precisar de criar um tutorial ou discutir algo fala ai que to dentro . Eu sei que é o rank e que é automático e foi por isso mesmo que falei pra vc mudar pra um rank melhor porque que postar até virar um "super mega hiper usuário" vai ser demorado -_-'
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Tavo vendo vcs aí e até tive uma ideia (sem acento) dos ranks, falando aqui c o Sergio. Vamos colocar o rank:
Windows 3.1
Windows 3.11
Windows 95
Windows 98
Windows NT
etc... vai ficar melhor do que Calouro, Veterando, etc...
Windows 3.1
Windows 3.11
Windows 95
Windows 98
Windows NT
etc... vai ficar melhor do que Calouro, Veterando, etc...
Re: Codigos (C/C++) para Console
Litiser escreveu:
on topic: doido mas aquela interface gráfica do builder é bem tosca, da uma olhada na do visual studio c++ ou no wxWidgets que são bem bacanas
Até que a inteface do builder deu uma melhorada boa com a versão 2009, mas com relação ao visual studio, ainda pretendo aprender a fazer interface grafica nele, so preciso de umas ferias para poder mecher nele com tranquilidade =D
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Vcs não viram nada o Sérgio tem um programinha de padaria que tem mais ou menos umas 3000 linhas de código mas daqui a pouco ele posta aqui...hehehe...
Só que tá dando um errinho ele vai pedir pra vcs copilarem ai pra ele no olho...hehehehe...
Boa sorte pra vcs...
Ah!!!
Lembrando que o código tem interface gráfica...hehehe...
Só que tá dando um errinho ele vai pedir pra vcs copilarem ai pra ele no olho...hehehehe...
Boa sorte pra vcs...
Ah!!!
Lembrando que o código tem interface gráfica...hehehe...
Edy- Administrador
- Mensagens : 110
Data de inscrição : 26/02/2010
Idade : 39
Re: Codigos (C/C++) para Console
Pra começar, eu só conheço uma pessoa que consegue compilar no olho . E não tem nenhum erro crítico no meu programa que de forma alguma é de padaria ¬¬'
OBS.: atualmente ele possui 3500 linhas de código.
OBS.: atualmente ele possui 3500 linhas de código.
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Sérgio escreveu:Pra começar, eu só conheço uma pessoa que consegue compilar no olho . E não tem nenhum erro crítico no meu programa que de forma alguma é de padaria ¬¬'
OBS.: atualmente ele possui 3500 linhas de código.
puts vei se ta até hoje fazendo código em forma estrutural?! cade o OO?cade a praticidade?pô sérgio eu esperava mais de vc.....HASUSAHSAUSAH
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Você não pode esperar nada de min pois eu nem sei o que é o OO
O.o
por acaso OO = POO (Programação Orientada a Objeto) ?
O.o
por acaso OO = POO (Programação Orientada a Objeto) ?
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Sérgio escreveu:Você não pode esperar nada de min pois eu nem sei o que é o OO
O.o
por acaso OO = POO (Programação Orientada a Objeto) ?
pô zé fiquei triste agora logo vc =/
e sim OO == POO. já que no contexto que falei me referia a Orientação a Objetos aplicadas no seu código ^^
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Esquece o sérgio vai programar sempre assim, POO pra ele é um mundo novo que pra ele desbravar vai demorar...
Edy- Administrador
- Mensagens : 110
Data de inscrição : 26/02/2010
Idade : 39
Re: Codigos (C/C++) para Console
XD, foi malz
Mas apesar das 3500 linhas de código, o programa esta totalmente orientado a objetos
Mas apesar das 3500 linhas de código, o programa esta totalmente orientado a objetos
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Legal mas tem classe nesse seu programinha de 3500 linhas de código...
Edy- Administrador
- Mensagens : 110
Data de inscrição : 26/02/2010
Idade : 39
Re: Codigos (C/C++) para Console
Edy escreveu:Legal mas tem classe nesse seu programinha de 3500 linhas de código...
Meu caro amigo, não há como fazer interface grafica no Builder c++ 2009 sem a utilização da mesma.
Não se esqueça que eu sou um comentarista de primeira e logicamente boa parte do código é totalmente dispensavel.
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
o povo até hoje não entendeu que o fato do c++ permitir usar classe no meio de código estruturado e vice versa não quer dizer que isso é pra usar assim ou que seja bom ou que seja viável mas um dia......UM DIA todos irão usar somente um paradigma em cada fonte do c++....rs
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Isso me lembra do tempo em que eu estava tentando fazer interface grafica no Dev c++. Foi um trabalho brutal para uma coisa simples que era fazer uma pequena calculadora. O problema do Dev é que ele lhe permite fazer a interface grafica de forma estrutural e o codigo fica uma verdadeira bagunça. A programação com interface grafica em OO é muito boa, mas vale lembrar que este não é o único paradigma em questão, não se esqueça da POE (Programação Orientada a Eventos), que é uma extenção da POO, e que também esta presenta na interface grafica. Eu acredito que a tendencia seja a combinação de vários paradigmas.
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Re: Codigos (C/C++) para Console
Sérgio escreveu:Isso me lembra do tempo em que eu estava tentando fazer interface grafica no Dev c++. Foi um trabalho brutal para uma coisa simples que era fazer uma pequena calculadora. O problema do Dev é que ele lhe permite fazer a interface grafica de forma estrutural e o codigo fica uma verdadeira bagunça. A programação com interface grafica em OO é muito boa, mas vale lembrar que este não é o único paradigma em questão, não se esqueça da POE (Programação Orientada a Eventos), que é uma extenção da POO, e que também esta presenta na interface grafica. Eu acredito que a tendencia seja a combinação de vários paradigmas.
Em relação ao Dev c++ qual lib se usou pra fazer interface gráfica com ele? pois eu já vi algumas tipo o wxWidgets que tem uma integração muito boa com ele e o código mistura o POO e o POE e fica bacana. Agora mesmo que o código seja apenas estrutural é melhor que vc ter estrutural e OO ao mesmo tempo, pq ai sim fica uma zona. Agora sobre a tendência seja a combinação de vários paradigmas concordo com vc em partes pois como vc disse combinar um POO com uma "extenção" ou algum outro paradigma baseado em POO sim é bacana é o que usam na maioria das vezes e é ajuda bastante tornando o código mais claro e "igual", agora quando se tenta combinar paradigmas muito diferentes, tipo estrutural e POO, ai que eu acho totalmente sem sentido. Mas igual falei tem doido pra tudo já que o c++ permite essas coisas.
Litiser- MS-DOS
- Mensagens : 11
Data de inscrição : 26/02/2010
Idade : 37
Re: Codigos (C/C++) para Console
Litiser escreveu:
Em relação ao Dev c++ qual lib se usou pra fazer interface gráfica com ele? pois eu já vi algumas tipo o wxWidgets que tem uma integração muito boa com ele e o código mistura o POO e o POE e fica bacana. Agora mesmo que o código seja apenas estrutural é melhor que vc ter estrutural e OO ao mesmo tempo, pq ai sim fica uma zona. Agora sobre a tendência seja a combinação de vários paradigmas concordo com vc em partes pois como vc disse combinar um POO com uma "extenção" ou algum outro paradigma baseado em POO sim é bacana é o que usam na maioria das vezes e é ajuda bastante tornando o código mais claro e "igual", agora quando se tenta combinar paradigmas muito diferentes, tipo estrutural e POO, ai que eu acho totalmente sem sentido. Mas igual falei tem doido pra tudo já que o c++ permite essas coisas.
Eu usei a windows.h, pois foi a biblioteca usada no exemplo que encontrei na net. Provavelmente não é a mais indicada para isso, mas não conheço outras alternativas. E também acho que misturar OO com estrutural fica bem ruim.
Sérgio- Administrador
- Mensagens : 28
Data de inscrição : 26/02/2010
Idade : 35
Localização : Belo Horizonte
Tópicos semelhantes
» AMD prepara chip para netbooks
» SP1 para Windows 7 prestes a ser liberado
» Fonte universal para notebooks
» Google prestes a criar software para TV
» Telefônica e NEC unem-se para computação de nuvem
» SP1 para Windows 7 prestes a ser liberado
» Fonte universal para notebooks
» Google prestes a criar software para TV
» Telefônica e NEC unem-se para computação de nuvem
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|