Curso de C para Engenharias
Aula 8
Cristiano Dalbem
Dennis Balreira
Gabriel Moreira
Miller Biazus
Raphael Lupchinski
Universidade Federal do Rio Grande do Sul
Instituto de Informática
math.h
Funções matemáticas
Trigonométricas
Hiperbólicas
Logarítmicas e exponenciais
Potência
Algumas funções
pow (
double
x,
double
n)
x elevano na n
sqrt (
double
a)
Calcula a raiz quadrada de a
sin (
double
grau)
Retorna o seno de grau (deve estar em radianos)
cos(
double
grau)
Retorna o cosseno de grau (deve estar em radianos)
fabs(
double
num)
Exemplo
1#i n c l u d e <s t d i o . h>
2#i n c l u d e <math . h>
3 4i n t
main ( )
5{
6double
x , y ;
7p r i n t f (
" D i g i t e d o i s numeros : "
) ;
8s c a n f (
"%l f %l f "
, &x , &y ) ;
9p r i n t f (
"x^y = %l f "
, pow ( x , y ) ) ;
10p r i n t f (
"x ^(1/2) = %l f "
, s q r t ( x ) ) ;
11p r i n t f (
" cos ( y ) = %l f "
, cos ( y ) ) ;
12p r i n t f (
" v a l o r a b s o l u t o de x = %l f "
, f a b s ( y ) ) ;
13return
0 ;
14}
conio2.h
Modo gráco em linha de comando
Permite manipular componentes grácas pela interface de
linha de comando.
Constantes para cores
1
enum
COLORS {
2
BLACK, BLUE , GREEN, CYAN,
3
RED, MAGENTA, BROWN, LIGHTGRAY ,
4
DARKGRAY, LIGHTBLUE , LIGHTGREEN , LIGHTCYAN ,
5LIGHTRED , LIGHTMAGENTA, YELLOW, WHITE
Função para mudar a coordenada
1
gotoxy ( x , y )
2
// Modica a posição do cursor para a coordenada especicada por x e y
1// Exemplo:
2#include
<conio2 . h>
3i n t
main ( ) {
4gotoxy ( 1 0 , 1 0 ) ;
5p r i n t f (
"P −> P eh o ponto (10 ,10) "
) ;
6return
( 0 ) ;
7}
Funções para limpar
1c l r s c r ( )
2
// Limpa a tela
1c l r e o l ( )
2
// Limpa o resto da linha a partir do cursor
1// Exemplo:
2#include
<conio2 . h>
3i n t
main ( ) {
4gotoxy ( 3 0 , 1 4 ) ;
5p r i n t f (
"SUJANDO A TELA"
) ;
6gotoxy ( 3 0 , 1 4 ) ;
7c l r e o l ( ) ;
8p r i n t f (
"DE NOVO"
) ;
9c l r s c r ( ) ;
10return
( 0 ) ;
11}
Funções para colorir
1t extb ackgr ound ( cor )
2
// Altera a cor de fundo - usar constantes especicadas para escolher a
cor
1
t e x t c o l o r ( cor )
2
// Altera a cor do texto - usar constantes especicadas para escolher a
cor
1
// Exemplo:
2
#include
<conio2 . h>
3i n t
main ( ) {
4
textba ckgr oun d (LIGHTBLUE ) ;
5c l r s c r ( ) ;
6
t e x t c o l o r (RED ) ;
7
p r i n t f (
"FUNDO EM AZUL CLARO E TEXTO EM VERMELHO"
) ;
8
return
( 0 ) ;
Funções para escrever
1c p u t s x y ( x , y , s t r i n g )
2
// Coloca a string devejada nas coordenadas especicadas por x e y
3putchxy ( x , y , c h a r a c t e r e )
4
// Coloca o caractere desejado na posição especicada por x e y
1// Exemplo:
2#include
<conio2 . h>
3i n t
main ( ) {
4c p u t s x y (11 ,5 ,
" e s t i l o p r i n t f sem gotoxy "
) ;
5putchxy (40 ,20 ,
'C '
) ;
6putchxy (40 ,21 ,
' h '
) ;
7putchxy (40 ,22 ,
' a '
) ;
8putchxy (40 ,23 ,
' r '
) ;
9return
( 0 ) ;
10}
Outras funções
1
getch ( )
2
// Espera pressionar botão e retorna o charactere pressionado
3wherex ( )
4
// Retorna o lugar da posição x
5wherey ( )
6
// Retorna o lugar da posição y
7d e l l i n e ( )
8
// Deleta a linha atual, puxando todas as linhas abaixo
9i n s l i n e ( )
Exemplo
1#i n c l u d e <s t d i o . h>
2#i n c l u d e <conio2 . h>
3i n t
main ( ) {
4i n t
x , y ;
5char
ch ;
6gotoxy ( x , y ) ;
7t e x t c o l o r (WHITE ) ;
8do
{
9ch = getch ( ) ;
10i f
( ch == 27)
11p r i n t f (
"ENTER PRESSIONADO"
) ;
12i f
( ch ==
' a '
) p r i n t f (
"a"
) ;
13}
14while
( ch !=
' q '
) ;
15return
( 0 ) ;
16}
Outras bibliotecas
stdlib.h - biblioteca padrão, com vários tipos e conversão.
time.h - dene funções de manipulação de tempo.
ctype.h - funções de classicação e mapeamento de conjuntos.
windows.h - manipulação de janelas e arquivos no sistema
operacional windows.
le.h - funções extras para manipulação de arquivos.
OpenGL, GTK, SDL - especialização que dene funções
grácas 3D e 2D. Utilizado para aplicações grácas.
Pré-Processador
Consiste em um programa que roda sobre o nosso código fonte
antes que ocorra a compilação.
Inclui o código de um arquivo em outro (diretiva
#include)
Substitui os valores no código (diretiva
#dene)
Inclusão de arquivos
#include
<arquivo.h>
- arquivo de um diretório padrão
#include
"arquivo.h"
- arquivo dentro da pasta atual
Substituição de #denes
Já foi falado diversas vezes
#dene
NOME valor
Cuidado!
A substituição se dá a nível textual
Isso pode causar alguns problemas...
NÃO colocar o ; no nal
1
//um erro classico
2
#define
MAX 1 0;
3
4
i n t
main ( )
5{
6
i n t
a r r a y [MAX] ;
// int array[10;];
7. . .
//seu codigo
8
return
0 ;
Cuidado com as expressões
1#define
SEIS 1+5
2#define
NOVE 8+1
3 4i n t
main ( )
5{
6
p r i n t f (
"6 ∗ 9 = %d"
. SEIS ∗NOVE) ;
// 6 * 9 = 42, ahnn??
7