Lista de exercícios 7


Desenvolver as atividades de avaliação para o módulo 7 do curso:

 

http://www.cpdee.ufmg.br/cursos/C/aulas/c830.html
http://www.cpdee.ufmg.br/cursos/C/aulas/c930.html
http://www.cpdee.ufmg.br/cursos/C/aulas/c940.html
http://www.cpdee.ufmg.br/cursos/C/aulas/c960.html
http://www.cpdee.ufmg.br/cursos/C/aulas/c980.html

Exercicios adicionais:

Exercício 1:

Verifique o programa abaixo e tente identificar problemas que irão ocorrer em tempo de execução. (Você pode usar um debugger, ou colocar printf's para tentar ver os valores das variáveis).

#define max(A,B) ((A>B) ? (A):(B))
#define min(A,B) ((A<B) ? (A):(B))
#define sqr(x) x*x

void main()
{
int a = 10 ,b = 50, minimo, maximo, quad;
int z = 5;
minimo = min(a,b);
maximo = max(a++,b++);
quad = sqr(z+1);
}

Verifique o que acontece também se mudarmos a linha de declarações do programa

  int a = 10 ,b = 50, minimo, maximo, quad;

por

  float a = 10 ,b = 50, minimo, maximo, quad;
 

Exercício 2:

Escreva um programa que leia um arquivo do tipo base de dados em .txt, retire e apresente informações importantes na tela. Você pode criar o arquivo no EDIT do DOS, ou no NOTEPAD do Windows, ou no PICO, no UNIX. O arquivo pode ser do tipo:

Nome:     Joao da Silva             Telefone: +55 00 000-0000
Endereco: Rua do Joao, 168
$
Nome:     Maria da Silva            Telefone: +55 99 999-9999
Endereco: Rua da Vila, 093
$
...
O símbolo $ (dólar) entre os dados é só para informar que acabou uma sequência de dados, e pode ser usado para restabelecer o sincronismo, caso o programa se perca em algum ponto. Você pode usar um flag para encerrar, mas e melhor que use feof() (é mais elegante...).


Curso de C do CPDEE/UFMG - 1996-1999