FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 754.078 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 06-03-2005, 16:07   #1 (permalink)
Colt
Membro Senior
 
Registrado em: Apr 2004
Localização: CEI - DF
Mensagens: 200
Reputação: 16 Colt está indo no caminho certo
Enviar mensagem via ICQ para Colt Enviar mensagem via MSN para Colt
Padrão Limpar a tela no C - clrscr();

Galera to tento um probleminha quando tento colocar essa função. O programa naum roda. Estou usando o DEV-C++ 4.9.8.0.


[Linker error] undefined reference to `clrscr'


Sera q essa função é expecifica do C ou do C++? Muito grato a ajuda de todos!
__________________
PARA QUE A PRESSA SE O FUTURO É A MORTE?
Colt está offline   Responder com Quote
Antigo 06-03-2005, 16:21   #2 (permalink)
Stuff
Zumbi
 
Avatar de Stuff
 
Registrado em: Oct 2002
Mensagens: 5.060
Reputação: 142 Stuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputaçãoStuff tem uma fabulosa reputação
Enviar mensagem via ICQ para Stuff Enviar mensagem via MSN para Stuff
Padrão

Cara eu acho que eh do C, eu lembro que quando aprendi programacao esse comando de limpar a tela foi um dos primeiros que aprendi....

Off: Gostei da sua assinatura! 8O
__________________
Vendo Atlhon X2 3600+Cooler original
http://forumclass.com.br/forum/viewt...hp?f=5&t=12925
Bob Psicótico
http://www.youtube.com/watch?v=mrvo5JG_JAk
Stuff está offline   Responder com Quote
Antigo 06-03-2005, 16:27   #3 (permalink)
Colt
Membro Senior
 
Registrado em: Apr 2004
Localização: CEI - DF
Mensagens: 200
Reputação: 16 Colt está indo no caminho certo
Enviar mensagem via ICQ para Colt Enviar mensagem via MSN para Colt
Padrão

Valew.... stuff

Vc ou alguem sabe de outra função que limpa a tela?
__________________
PARA QUE A PRESSA SE O FUTURO É A MORTE?
Colt está offline   Responder com Quote
Antigo 06-03-2005, 18:44   #4 (permalink)
jackinabox
Veterano
 
Avatar de jackinabox
 
Registrado em: Nov 2004
Mensagens: 1.055
Reputação: 16 jackinabox está indo no caminho certo
Padrão Re: Limpar a tela no C - clrscr();

Citação:
Postado Originalmente por Colt
Sera q essa função é expecifica do C ou do C++?
Não, o que ocorre é que clrscr, geralmente definida em conio.h, não faz parte da biblioteca padrão, nem C e nem C++. Portanto, não está disponível em todos os ambientes/compiladores.
__________________
Jeferson Charles Mayer

"Como é que eu vou enxergar a tal floresta, com todas essas árvores atrapalhando a visão?"
jackinabox está offline   Responder com Quote
Antigo 06-03-2005, 19:10   #5 (permalink)
Colt
Membro Senior
 
Registrado em: Apr 2004
Localização: CEI - DF
Mensagens: 200
Reputação: 16 Colt está indo no caminho certo
Enviar mensagem via ICQ para Colt Enviar mensagem via MSN para Colt
Padrão Re: Limpar a tela no C - clrscr();

Citação:
Postado Originalmente por jackinabox
Não, o que ocorre é que clrscr, geralmente definida em conio.h, não faz parte da biblioteca padrão, nem...
Quais sao o procedimentos que devo tomar para reverter essa situação, se é q se possa fazer algo. Uso o DEV-C++


Obrigado pela força!
__________________
PARA QUE A PRESSA SE O FUTURO É A MORTE?
Colt está offline   Responder com Quote
Antigo 06-03-2005, 19:44   #6 (permalink)
jackinabox
Veterano
 
Avatar de jackinabox
 
Registrado em: Nov 2004
Mensagens: 1.055
Reputação: 16 jackinabox está indo no caminho certo
Padrão Re: Limpar a tela no C - clrscr();

Citação:
Postado Originalmente por Colt
Quais sao o procedimentos que devo tomar para reverter essa situação, se é q se possa fazer algo. Uso o DEV-C++
Você esqueceu de dizer para qual sistema operacional você está escrevendo seus programas. Se for Linux, uma boa alternativa para um maior controle de I/O seria utilizar a biblioteca ncurses. Essa biblioteca pode precisar ser instalada, caso não já não esteja.
Mas, se você está começando a aprender programação, meu conselho seria: esqueça essa história de ficar limpando a tela. Muitas pessoas ficam bastante preocupadas em limpar a tela, mas geralmente essas mesmas pessoas utilizam funções como scanf() para entrada de dados, o que é um "pecado muito mais mortal" para aplicações "de verdade" do que não limpar a tela.
__________________
Jeferson Charles Mayer

"Como é que eu vou enxergar a tal floresta, com todas essas árvores atrapalhando a visão?"
jackinabox está offline   Responder com Quote
Antigo 06-03-2005, 20:18   #7 (permalink)
Colt
Membro Senior
 
Registrado em: Apr 2004
Localização: CEI - DF
Mensagens: 200
Reputação: 16 Colt está indo no caminho certo
Enviar mensagem via ICQ para Colt Enviar mensagem via MSN para Colt
Padrão

To rodando no win 98 2ª edição. La na faculdade tem um programa q aceita a função clrscr. Mas tudo bem to relevando esse probleminha aqui em casa. Ah tem mas, a funçao delay(); tambem naum pega... puts ta ****, começar sem o basico ta saindo caro.

Segundo teus conselhos rs rs rs, acho q tambem estou cometendo pecados. Uso o scanf(); tambem, |scanf("%d", &sen);| pra numeros o certo é o get(); correto?


Valewwwwww
__________________
PARA QUE A PRESSA SE O FUTURO É A MORTE?
Colt está offline   Responder com Quote
Antigo 06-03-2005, 20:20   #8 (permalink)
populis
Newbie
 
Registrado em: Nov 2004
Localização: São Carlos - SP (13566-583)
Mensagens: 19
Reputação: 0 populis está indo no caminho certo
Enviar mensagem via ICQ para populis Enviar mensagem via MSN para populis Enviar mensagem via Yahoo para populis
Padrão

Se seu programa for para windows
#include <conio.h>

Caso seja pra linux
#include <ncurses.h>

Como já foi dito.

Mas como o jack já disse também, é melhor se preocupar com outras coisas mais importantes além de limpar a tela.
__________________
Get Firefox
populis está offline   Responder com Quote
Antigo 06-03-2005, 20:26   #9 (permalink)
Colt
Membro Senior
 
Registrado em: Apr 2004
Localização: CEI - DF
Mensagens: 200
Reputação: 16 Colt está indo no caminho certo
Enviar mensagem via ICQ para Colt Enviar mensagem via MSN para Colt
Padrão

Okei... valew pela ajuda e inclusive pelas dicas!
__________________
PARA QUE A PRESSA SE O FUTURO É A MORTE?
Colt está offline   Responder com Quote
Antigo 06-03-2005, 21:28   #10 (permalink)
jackinabox
Veterano
 
Avatar de jackinabox
 
Registrado em: Nov 2004
Mensagens: 1.055
Reputação: 16 jackinabox está indo no caminho certo
Padrão

Citação:
Postado Originalmente por Colt
To rodando no win 98 2ª edição. La na faculdade tem um programa q aceita a função clrscr.
Pois é, conforme comentei, a função clrscr() não é padrão, portanto pode existir em um ambiente e não existir em outro.

Citação:
Ah tem mas, a funçao delay(); tambem naum pega...
Pois é, delay() geralmente é definida em <dos.h>, o que também não é portável.

Citação:
puts ta ****, começar sem o basico ta saindo caro.
Pois é, mas veja bem: tanto clrscr() quanto delay() ou gotoxy() e coisas do gênero não fazem parte do básico, mas sim do específico.

Citação:
Uso o scanf(); tambem, |scanf("%d", &sen);| pra numeros o certo é o get(); correto?
Não, scanf() traz consigo uma série de problemas, inclusive implicações de segurança em virtude de possibilidade de buffer overflow. scanf() só funciona bem se você digitar exatamente o que a função está esperando, o que não é nem um pouco robusto/seguro. Em vários cenários, a leitura caracter a caracter é a solução, pois você pode filtrar caracteres inválidos (evitando ecoar na tela essas entradas inválidas), checagem de comprimento, etc.
__________________
Jeferson Charles Mayer

"Como é que eu vou enxergar a tal floresta, com todas essas árvores atrapalhando a visão?"
jackinabox está offline   Responder com Quote
Antigo 06-03-2005, 21:58   #11 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

Já que vc tá no Windows, usa a API.
Código:
#include <windows.h> void cls(void) { COORD coordScreen = {0, 0}; DWORD cCharsWritten; CONSOLE_SCREEN_BUFFER_INFO csbi; DWORD dwConSize; HANDLE hConsole=GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsole, &csbi); dwConSize = csbi.dwSize.X * csbi.dwSize.Y; FillConsoleOutputCharacter(hConsole, TEXT(' '), dwConSize, coordScreen, &cCharsWritten); GetConsoleScreenBufferInfo(hConsole, &csbi); FillConsoleOutputAttribute(hConsole, csbi.wAttributes, dwConSize, coordScreen, &cCharsWritten); SetConsoleCursorPosition(hConsole, coordScreen); }
Pra limpar a tela, chame a função assim:
Código:
cls();
kao00 está offline   Responder com Quote
Antigo 08-03-2005, 10:29   #12 (permalink)
duskuller
Veterano
 
Registrado em: May 2002
Localização: Salvador - Bahia
Mensagens: 1.082
Reputação: 21 duskuller está indo no caminho certo
Enviar mensagem via MSN para duskuller
Padrão

//limpando tela

#include<stdio.h>
#include<stdlib.h> //biblioteca que chama o system("cls");
int main()

{
printf("Isso nao aparecera\n"); //Esse texto vai sumir..
getchar();
system("cls");
printf("A tela foi limpa!!!\n");
getchar();
}
__________________
"O nada é uma palavra que espera uma tradução"...
_______________________________________

Duskuller...
duskuller está offline   Responder com Quote
Antigo 08-03-2005, 12:12   #13 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

O ruin desse system("cls"); é que ele abre outro processo só pra limpar a tela e se a sua aplicação for alguma coisa meio séria, alguém poderia aproveitar disso pra hackear ela.
kao00 está offline   Responder com Quote
Antigo 08-03-2005, 12:18   #14 (permalink)
duskuller
Veterano
 
Registrado em: May 2002
Localização: Salvador - Bahia
Mensagens: 1.082
Reputação: 21 duskuller está indo no caminho certo
Enviar mensagem via MSN para duskuller
Padrão

em que sentido, me explique como?
me mande uma MP explicando esse processo..

valeu!!
__________________
"O nada é uma palavra que espera uma tradução"...
_______________________________________

Duskuller...
duskuller está offline   Responder com Quote
Antigo 08-03-2005, 12:48   #15 (permalink)
kao00
Membro Senior
 
Registrado em: Jan 2004
Localização: Londrina - PR
Mensagens: 352
Reputação: 0 kao00 está indo no caminho certo
Padrão

http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1031963460&id=1043284385

Olhe as desvantagens da opção número 6.
kao00 está offline   Responder com Quote
Antigo 08-03-2005, 13:13   #16 (permalink)
duskuller
Veterano
 
Registrado em: May 2002
Localização: Salvador - Bahia
Mensagens: 1.082
Reputação: 21 duskuller está indo no caminho certo
Enviar mensagem via MSN para duskuller
Padrão

valeu!
__________________
"O nada é uma palavra que espera uma tradução"...
_______________________________________

Duskuller...
duskuller está offline   Responder com Quote
Antigo 15-09-2006, 10:20   #17 (permalink)
jacambu
Newbie
 
Registrado em: Jun 2006
Localização: Teresina-PI
Mensagens: 42
Reputação: 0 jacambu está indo no caminho certo
Enviar mensagem via MSN para jacambu
Padrão

Galera estou montando um ambiente de desenvolvimento no kurumin 6.0 , vocês podem me indicar alguns programas de nivel academico pra apresentar pros alunos de infromatica , de prefereincia IDEs , ja instalei o FreePascal2.0 , tenho o gcc mais é linha de comando , o eclipse pra java e apache + php pra web , gostaria de uma IDE pra C/C++ for linux , o kdevelop , desculpem quem usa mais é muito tosco , mesmo lendo a documentação eu não consegui compilar sequer um "alo mundo!" ..rsrs ; abraços.
__________________
Seja free, use linux;
jacambu está offline   Responder com Quote
Antigo 15-09-2006, 12:34   #18 (permalink)
FabianoTraple
Veterano
 
Avatar de FabianoTraple
 
Registrado em: Jun 2006
Mensagens: 1.179
Reputação: 13 FabianoTraple está indo no caminho certo
Padrão

Colt...

Vc já pensou em fazer isso ?

Código:
int linha; for( linha = 0; linha < 35; linha++) { printf( "\n" ) }
Agora se vc necessitar possicional algo na tela e não consegue, ai é só fazer um buffer de tela.

Para fazer um buffer de tela vc cria uma matrix tela[35][80] (verifique a quantidade de linhas e a quantidades de caracteres por linha que vc irá usar), depois é só fazer algumas funções bem úteis como:

Código:
void Coluna( int Coluna ); // Posiciona na coluna void Linha( int Linha ); // Posiciona na linha void ExibeTexto( char*Texto ); // Exibe texto na tela void EntradaDeDados( char*Texto ); // Captura a entrada de dados
O bom de fazer essas funções é que vc poderá ter total controle sobre a tela de texto...

Um exemplo disso é que vc pode aplicar mascara para entrada de dados como data por exemplo: 00/00/0000...

:mrgreen:
FabianoTraple está offline   Responder com Quote
Antigo 18-10-2006, 15:38   #19 (permalink)
andrebrunelli
Newbie
 
Registrado em: Sep 2006
Localização: Belo Horizonte MG
Mensagens: 3
Reputação: 0 andrebrunelli está indo no caminho certo
Enviar mensagem via MSN para andrebrunelli
Padrão

Parabens pra galera ai, tambem tava na duvida de qual era a funcao de clear screan , mas agora ja consegui // system("cls"); // .... brigadao galera
__________________
Andre Brunelli
andrebrunelli está offline   Responder com Quote
Antigo 18-10-2006, 15:53   #20 (permalink)
peczenyj
GeeK
 
Avatar de peczenyj
 
Registrado em: Oct 2005
Localização: POA/RS -> RJ
Idade: 31
Mensagens: 2.982
Reputação: 28 peczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atençãopeczenyj É esplêndido e chama muita atenção
Enviar mensagem via Skype para peczenyj
Padrão

depende muito do seu terminal.
se for VT100 use:

#define ASCII_ESC 27
printf( "%c[2J", ESC );

ou

puts( "\033[2J" );

http://www.mit.edu/~vona/VonaUtils/vona/terminal/VT100_Escape_Codes.html
__________________
NOVO BLOG:
http://pacman.blog.br/
peczenyj está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 20:57.