SlideShare uma empresa Scribd logo
1 de 6
Baixar para ler offline
Universidade Federal de Campina Grande
Centro de Ciências e Tecnologia
Departamento de Sistemas e Computação
DISCIPLINA
Técnicas de Programação
NOTAS DE AULA
(Informações Adicionais sobre Funções)
Universidade Federal de Campina Grande
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 2
Conceitos Avançados – Linguagem C
Informações Adicionais sobre funções
As bibliotecas disponíveis e algumas funções interessantes
A seguir segue uma lista de todas as bibliotecas disponíveis no compilador Turbo
C++ 3.0 Borland:
alloc.h assert.h bcd.h bios.h complex.h
conio.h ctype.h dir.h dirent.h dos.h
errno.h fcntl.h float.h fstream.h generic.h
graphics.h io.h iomanip.h iostream.h limits.h
locale.h malloc.h math.h mem.h process.h
setjmp.h share.h signal.h stdarg.h stddef.h
stdio.h stdiostr.h stdlib.h stream.h string.h
strstrea.h sysstat.h systimeb.h systypes.h time.h
values.h
Exemplos de algumas funções disponíveis nas bibliotecas C.
 Biblioteca math.h
int abs(int i);
double fabs(double d);
Calcula o valor absoluto do inteiro i e do real d, respectivamente.
double sin(double arco);
double cos(double arco);
double tan(double arco);
double asin(double arco);
double acos(double arco);
double atan(double arco);
Funções trigonométricas do ângulo arco, em radianos.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 3
double ceil(double num);
double floor(double num);
Funções de arredondamento para inteiro.
ceil() arredonda para cima. Ex. ceil(3.2) == 3.0;
floor() arredonda para baixo. Ex. floor(3.2) == 4.0;
double log(double num);
double log10(double num);
Funções logarítmicas: log() é logaritmo natural (base e), log10() é logaritmo decimal
(base 10).
double pow(double base, double exp);
Potenciação: pow(3.2,5.6) = 3.25.6
.
double sqrt(double num);
Raiz quadrada: sqrt(9.0) = 3.0.
 Biblioteca stdlib.h
int random(int num);
Gera um número inteiro aleatório entre 0 e num - 1.
 Escrita formatada em cores: cprintf()
Biblioteca: conio.h
Declaração: int cprintf (const char* st_contr [, lista_arg]);
Propósito: Esta função cprintf() (color print formated) permite a saída de dados
numéricos, caracteres e strings usando cores. O uso da função cprintf() é semelhante a
printf(), porém permite que a saída seja a cores. Para que a saída seja colorida é
necessário definir as cores de fundo e de letra para a impressão antes do uso da função.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 4
Cores (Modo Texto)
Cor Constante Valor Fundo Letra
Preto BLACK 0 ok ok
Azul BLUE 1 ok ok
Verde GREEN 2 ok ok
Cian CYAN 3 ok ok
Vermelho RED 4 ok ok
Magenta MAGENTA 5 ok ok
Marrom BROWN 6 ok ok
Cinza Claro LIGHTGRAY 7 ok ok
Cinza Escuro DARKGRAY 8 -- ok
Azul Claro LIGHTBLUE 9 -- ok
Verde Claro LIGHTGREEN 10 -- ok
Cian Claro LIGHTCYAN 11 -- ok
Vermelho Claro LIGHTRED 12 -- ok
Magenta Claro LIGHTMAGENTA 13 -- ok
Amarelo YELLOW 14 -- ok
Branco WHITE 15 -- ok
Piscante BLINK 128 -- ok
Estas definições são feitas pelas funções texcolor() e textbackground() cuja sintaxe é:
textcolor(cor_de_letra);
textbackground(cor_de_fundo);
cor_de_letra e cor_de_fundo são números inteiros referentes às cores da paleta padrão
(16 cores, modo texto). Estes valores de cor são representados por constantes simbólicas
definidas na biblioteca conio.h. Para se usar uma letra piscante deve-se adicionar o valor
128 ao valor da cor de letra. Alguns valores de cor não podem ser usados como cor de
fundo. A relação acima mostra as cores, suas constantes simbólicas e onde podem ser
usadas.
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 5
Exemplo: O trecho de programa abaixo imprime uma mensagem de alerta em amarelo
piscante sobre fundo vermelho.
#include <conio.h>
...
textbackground(RED);
textcolor(YELLOW + BLINK);
cprintif(“ Alerta: Vírus Detectado! ”);
...
Saída sonora: sound(), delay(), nosound()
Biblioteca: dos.h
Declarações: void sound(unsigned freq);
void delay(unsigned tempo);
void nosound(void);
Propósito: A função sound() ativa o alto-falante do PC com uma freqüência freq (Hz). A
função delay() realiza uma pausa (aguarda intervalo de tempo) de duração tempo
(milisegundos). A função nosound() desativa o alto-falante.
Limpeza de tela: clrscr(), clreol()
Biblioteca: conio.h
Declarações: void clrscr(void);
void clreol(void);
Propósito: A função clrscr() (clear screen) limpa a janela de tela e posiciona o cursor na
primeira linha e primeira coluna da janela (canto superior esquerdo da janela). A função
clreol() (clear to end of line) limpa uma linha desde a posição do cursor até o final da linha
mas não modifica a posição do cursor. Ambas funções preenchem a tela com a cor de
fundo definida pela função textbacground().
Técnicas de Programação ________________________________________________________________
DSC/CCT/UFCG _____________________________________________________________________________________________ 6
Posicionamento do cursor: gotoxy()
Biblioteca: conio.h
Declarações: void gotoxy(int pos_x, int pos_y);
Propósito: Em modo texto padrão, a tela é dividida em uma janela de 25 linhas e 80
colunas. A função gotoxy() permite posicionarmos o cursor em qualquer posição
(pos_x,pos_y) da tela. Sendo que a posição (1,1) corresponde ao canto superior esquerdo
da tela e a posição (80,25) corresponde ao canto inferior direito. Como as funções printf()
e cprintf() escrevem a partir da posição do cursor, podemos escrever em qualquer posição
da tela.
Redimencionamento de janela: window()
Biblioteca: conio.h
Declarações: void window(int esq, int sup, int dir, int inf);
Propósito: Esta função permite redefinir a janela de texto. As coordenadas esq e sup
definem o canto superior esquerdo da nova janela, enquanto as coordenadas inf e dir
definem o canto inferior direito da nova janela. Para reativar a janela padrão escreve-se a
instrução window(1,1,80,25). Quando uma janela é definida, o texto que ficar fora da
janela fica congelado até que se redefina a janela original.
Monitoração de teclado: kbhit()
Biblioteca: conio.h
Declarações: int kbhit(void);
Propósito: Esta função (keyboard hitting) permite verificar se uma tecla foi pressionada
ou não. Esta função verifica se existe algum código no buffer de teclado. Se houver algum
valor, ela retorna um número não nulo e o valor armazenado no buffer pode ser lido com
as funções getch() ou getche(). Caso nenhuma tecla seja pressionada a função retorna 0.
Observe que, ao contrário de getch(), esta função não aguarda que uma tecla seja
pressionada.

Mais conteúdo relacionado

Mais procurados

Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Leinylson Fontinele
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysqlLeo Frazão
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15diogoa21
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Universidade de São Paulo
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalizaçãoMatias Silva
 
Au coeur de java 2 tome 1, notions fondamentales
Au coeur de java 2   tome 1, notions fondamentalesAu coeur de java 2   tome 1, notions fondamentales
Au coeur de java 2 tome 1, notions fondamentalesNadia RAOUANE
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterMarcos Castro
 
Laboratorio de Microcomputadoras - Práctica 02
 Laboratorio de Microcomputadoras - Práctica 02 Laboratorio de Microcomputadoras - Práctica 02
Laboratorio de Microcomputadoras - Práctica 02Cristian Ortiz Gómez
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - DicionáriosMarcos Castro
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - JavaArthur Emanuel
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosRodrigo Almeida
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de SoftwareCloves da Rocha
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIJarley Nóbrega
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaÁlvaro Farias Pinheiro
 

Mais procurados (20)

Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
Banco de Dados II Aula Prática 1 (Conversão do modelo conceitual para modelo ...
 
Exercícios de mysql
Exercícios de mysqlExercícios de mysql
Exercícios de mysql
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Psi-mod-15
Psi-mod-15Psi-mod-15
Psi-mod-15
 
Banco de dados de Loja
Banco de dados de LojaBanco de dados de Loja
Banco de dados de Loja
 
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
Complexidade de Algoritmos, Notação assintótica, Algoritmos polinomiais e in...
 
Aula5 normalização
Aula5   normalizaçãoAula5   normalização
Aula5 normalização
 
Au coeur de java 2 tome 1, notions fondamentales
Au coeur de java 2   tome 1, notions fondamentalesAu coeur de java 2   tome 1, notions fondamentales
Au coeur de java 2 tome 1, notions fondamentales
 
Python Interface Gráfica Tkinter
Python Interface Gráfica TkinterPython Interface Gráfica Tkinter
Python Interface Gráfica Tkinter
 
Construção de interfaces gráficas com Tkinter
Construção de interfaces gráficas com TkinterConstrução de interfaces gráficas com Tkinter
Construção de interfaces gráficas com Tkinter
 
Laboratorio de Microcomputadoras - Práctica 02
 Laboratorio de Microcomputadoras - Práctica 02 Laboratorio de Microcomputadoras - Práctica 02
Laboratorio de Microcomputadoras - Práctica 02
 
Python - Dicionários
Python - DicionáriosPython - Dicionários
Python - Dicionários
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Exercícios - Herança - Java
Exercícios - Herança - JavaExercícios - Herança - Java
Exercícios - Herança - Java
 
Desenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcadosDesenvolvimento de drivers para sistemas embarcados
Desenvolvimento de drivers para sistemas embarcados
 
Introdução à Qualidade de Software
Introdução à Qualidade de SoftwareIntrodução à Qualidade de Software
Introdução à Qualidade de Software
 
Aula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDIAula 02-Tutorial ETL com PDI
Aula 02-Tutorial ETL com PDI
 
06 - Servidor Apache
06 - Servidor Apache06 - Servidor Apache
06 - Servidor Apache
 
Programação Orientada a Objetos com Java
Programação Orientada a Objetos com JavaProgramação Orientada a Objetos com Java
Programação Orientada a Objetos com Java
 

Semelhante a Funções C bibliotecas math stdlib conio

PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docxDiedisonRamos1
 
Converting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modellingConverting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modellingfmillano
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlabblogmaxima
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem cvingue
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfEizoKato
 
Aula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptxAula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptxjudsonBg3
 

Semelhante a Funções C bibliotecas math stdlib conio (20)

Apostila c
Apostila cApostila c
Apostila c
 
PROJETO MODELO editado.docx
PROJETO MODELO editado.docxPROJETO MODELO editado.docx
PROJETO MODELO editado.docx
 
Converting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modellingConverting an implementation using the C language to CSP modelling
Converting an implementation using the C language to CSP modelling
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Ud2
Ud2Ud2
Ud2
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Tutorial Octave Matlab
Tutorial Octave MatlabTutorial Octave Matlab
Tutorial Octave Matlab
 
Apostila complementar
Apostila complementarApostila complementar
Apostila complementar
 
Apostila2 clp logo
Apostila2 clp logoApostila2 clp logo
Apostila2 clp logo
 
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430095 A 134   Material Auxiliar Para Curso AvançAdo I Msp430
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
 
Mini-Curso: gnuplot
Mini-Curso: gnuplotMini-Curso: gnuplot
Mini-Curso: gnuplot
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdfAula 01 Logica de Programacao - Logica Matematica 1.pdf
Aula 01 Logica de Programacao - Logica Matematica 1.pdf
 
joane
joane joane
joane
 
Aula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptxAula 02 - Introdução a ALGORITMOS.pptx
Aula 02 - Introdução a ALGORITMOS.pptx
 

Mais de Valdinho Pereira

Mais de Valdinho Pereira (15)

The c programming language
The c programming languageThe c programming language
The c programming language
 
O fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-cO fantc3a1stico-mundo-da-linguagem-c
O fantc3a1stico-mundo-da-linguagem-c
 
Apostila c
Apostila cApostila c
Apostila c
 
Apostila c
Apostila cApostila c
Apostila c
 
Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71Caelum ruby-on-rails-rr71
Caelum ruby-on-rails-rr71
 
Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28Caelum java-web-vraptor-hibernate-ajax-fj28
Caelum java-web-vraptor-hibernate-ajax-fj28
 
Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22Caelum java-testes-jsf-web-services-design-patterns-fj22
Caelum java-testes-jsf-web-services-design-patterns-fj22
 
Apostila tp
Apostila tpApostila tp
Apostila tp
 
Tutorial oracle forms builder
Tutorial oracle forms builderTutorial oracle forms builder
Tutorial oracle forms builder
 
Programação orientada a objectos
Programação orientada a objectosProgramação orientada a objectos
Programação orientada a objectos
 
Poojava
PoojavaPoojava
Poojava
 
Parametros mini
Parametros miniParametros mini
Parametros mini
 
Introducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-ptIntroducao oracle-sqlplsql-vol2-pt
Introducao oracle-sqlplsql-vol2-pt
 
Easygui
EasyguiEasygui
Easygui
 
Apostila de dev
Apostila de devApostila de dev
Apostila de dev
 

Funções C bibliotecas math stdlib conio

  • 1. Universidade Federal de Campina Grande Centro de Ciências e Tecnologia Departamento de Sistemas e Computação DISCIPLINA Técnicas de Programação NOTAS DE AULA (Informações Adicionais sobre Funções) Universidade Federal de Campina Grande
  • 2. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 2 Conceitos Avançados – Linguagem C Informações Adicionais sobre funções As bibliotecas disponíveis e algumas funções interessantes A seguir segue uma lista de todas as bibliotecas disponíveis no compilador Turbo C++ 3.0 Borland: alloc.h assert.h bcd.h bios.h complex.h conio.h ctype.h dir.h dirent.h dos.h errno.h fcntl.h float.h fstream.h generic.h graphics.h io.h iomanip.h iostream.h limits.h locale.h malloc.h math.h mem.h process.h setjmp.h share.h signal.h stdarg.h stddef.h stdio.h stdiostr.h stdlib.h stream.h string.h strstrea.h sysstat.h systimeb.h systypes.h time.h values.h Exemplos de algumas funções disponíveis nas bibliotecas C.  Biblioteca math.h int abs(int i); double fabs(double d); Calcula o valor absoluto do inteiro i e do real d, respectivamente. double sin(double arco); double cos(double arco); double tan(double arco); double asin(double arco); double acos(double arco); double atan(double arco); Funções trigonométricas do ângulo arco, em radianos.
  • 3. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 3 double ceil(double num); double floor(double num); Funções de arredondamento para inteiro. ceil() arredonda para cima. Ex. ceil(3.2) == 3.0; floor() arredonda para baixo. Ex. floor(3.2) == 4.0; double log(double num); double log10(double num); Funções logarítmicas: log() é logaritmo natural (base e), log10() é logaritmo decimal (base 10). double pow(double base, double exp); Potenciação: pow(3.2,5.6) = 3.25.6 . double sqrt(double num); Raiz quadrada: sqrt(9.0) = 3.0.  Biblioteca stdlib.h int random(int num); Gera um número inteiro aleatório entre 0 e num - 1.  Escrita formatada em cores: cprintf() Biblioteca: conio.h Declaração: int cprintf (const char* st_contr [, lista_arg]); Propósito: Esta função cprintf() (color print formated) permite a saída de dados numéricos, caracteres e strings usando cores. O uso da função cprintf() é semelhante a printf(), porém permite que a saída seja a cores. Para que a saída seja colorida é necessário definir as cores de fundo e de letra para a impressão antes do uso da função.
  • 4. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 4 Cores (Modo Texto) Cor Constante Valor Fundo Letra Preto BLACK 0 ok ok Azul BLUE 1 ok ok Verde GREEN 2 ok ok Cian CYAN 3 ok ok Vermelho RED 4 ok ok Magenta MAGENTA 5 ok ok Marrom BROWN 6 ok ok Cinza Claro LIGHTGRAY 7 ok ok Cinza Escuro DARKGRAY 8 -- ok Azul Claro LIGHTBLUE 9 -- ok Verde Claro LIGHTGREEN 10 -- ok Cian Claro LIGHTCYAN 11 -- ok Vermelho Claro LIGHTRED 12 -- ok Magenta Claro LIGHTMAGENTA 13 -- ok Amarelo YELLOW 14 -- ok Branco WHITE 15 -- ok Piscante BLINK 128 -- ok Estas definições são feitas pelas funções texcolor() e textbackground() cuja sintaxe é: textcolor(cor_de_letra); textbackground(cor_de_fundo); cor_de_letra e cor_de_fundo são números inteiros referentes às cores da paleta padrão (16 cores, modo texto). Estes valores de cor são representados por constantes simbólicas definidas na biblioteca conio.h. Para se usar uma letra piscante deve-se adicionar o valor 128 ao valor da cor de letra. Alguns valores de cor não podem ser usados como cor de fundo. A relação acima mostra as cores, suas constantes simbólicas e onde podem ser usadas.
  • 5. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 5 Exemplo: O trecho de programa abaixo imprime uma mensagem de alerta em amarelo piscante sobre fundo vermelho. #include <conio.h> ... textbackground(RED); textcolor(YELLOW + BLINK); cprintif(“ Alerta: Vírus Detectado! ”); ... Saída sonora: sound(), delay(), nosound() Biblioteca: dos.h Declarações: void sound(unsigned freq); void delay(unsigned tempo); void nosound(void); Propósito: A função sound() ativa o alto-falante do PC com uma freqüência freq (Hz). A função delay() realiza uma pausa (aguarda intervalo de tempo) de duração tempo (milisegundos). A função nosound() desativa o alto-falante. Limpeza de tela: clrscr(), clreol() Biblioteca: conio.h Declarações: void clrscr(void); void clreol(void); Propósito: A função clrscr() (clear screen) limpa a janela de tela e posiciona o cursor na primeira linha e primeira coluna da janela (canto superior esquerdo da janela). A função clreol() (clear to end of line) limpa uma linha desde a posição do cursor até o final da linha mas não modifica a posição do cursor. Ambas funções preenchem a tela com a cor de fundo definida pela função textbacground().
  • 6. Técnicas de Programação ________________________________________________________________ DSC/CCT/UFCG _____________________________________________________________________________________________ 6 Posicionamento do cursor: gotoxy() Biblioteca: conio.h Declarações: void gotoxy(int pos_x, int pos_y); Propósito: Em modo texto padrão, a tela é dividida em uma janela de 25 linhas e 80 colunas. A função gotoxy() permite posicionarmos o cursor em qualquer posição (pos_x,pos_y) da tela. Sendo que a posição (1,1) corresponde ao canto superior esquerdo da tela e a posição (80,25) corresponde ao canto inferior direito. Como as funções printf() e cprintf() escrevem a partir da posição do cursor, podemos escrever em qualquer posição da tela. Redimencionamento de janela: window() Biblioteca: conio.h Declarações: void window(int esq, int sup, int dir, int inf); Propósito: Esta função permite redefinir a janela de texto. As coordenadas esq e sup definem o canto superior esquerdo da nova janela, enquanto as coordenadas inf e dir definem o canto inferior direito da nova janela. Para reativar a janela padrão escreve-se a instrução window(1,1,80,25). Quando uma janela é definida, o texto que ficar fora da janela fica congelado até que se redefina a janela original. Monitoração de teclado: kbhit() Biblioteca: conio.h Declarações: int kbhit(void); Propósito: Esta função (keyboard hitting) permite verificar se uma tecla foi pressionada ou não. Esta função verifica se existe algum código no buffer de teclado. Se houver algum valor, ela retorna um número não nulo e o valor armazenado no buffer pode ser lido com as funções getch() ou getche(). Caso nenhuma tecla seja pressionada a função retorna 0. Observe que, ao contrário de getch(), esta função não aguarda que uma tecla seja pressionada.