aass
LISTA DE EXERCÍCIOS 11
1. Supondo que um número real seja representado pela seguinte estrutura: struct numeroreal
{
int esquerda; int direita;
};
onde esquerda e direita representam respectivamente os números posicionados a esquerda e a direita do ponto decimal. Se esquerda for um número negativo, o número real representado será negativo.
Implemente o TAD NumeroReal (interface numeroreal.h e implementação numeroreal.c) para representar e realizar operações aritméticas em números representados pela estrutura numeroreal.
O TAD NumeroReal deve exportar e implementar as seguintes funções:
real_cria: a função recebe dois números inteiros representado os valores dos dois lados do ponto decimal de um número real. A função deve criar e retornar um ponteiro para a representação real destes números;
real_libera: a função recebe um ponteiro para um NumeroReal e libera a memória utilizada pelo número real;
real_converteFloat: a função recebe um ponteiro para um valor representado pelo tipo abstrato NumeroReal e retorna um float correspondente o número real;
real_soma: a função recebe dois ponteiros para o tipo abstrato NumeroReal e retorna um ponteiro para um NumeroReal contendo a soma dos números reais recebidos por parâmetro;
real_subtrai: a função recebe dois ponteiros para o tipo abstrato
NumeroReal e retorna um ponteiro para um NumeroReal contendo a subtração dos números reais recebidos por parâmetro;
real_multiplica: a função recebe dois ponteiros para o tipo abstrato
NumeroReal e retorna um ponteiro para um NumeroReal contendo o produto dos números reais recebidos por parâmetro;
real_subtrai: a função recebe dois ponteiros para o tipo abstrato
NumeroReal e retorna um ponteiro para um NumeroReal contendo o resultado da divisão dos números reais recebidos por parâmetro;
Utilizando o TAD NumeroReal, crie o módulo principal de um programa (calculadora.c) que