Com o intuito de aprender-se mais sobre estruturas de dados em C foi implementado uma estrutura e as funções para manipulá-la, de acordo com as especificações abaixo:
Vamos supor que um número real seja representado por uma estrutura em C, como esta:
typedef struct {
int left;
int right;
} realtype;
onde left e right representam os dígitos posicionados à esquerda e à direita do ponto decimal, respectivamente. Se left for um inteiro negativo, o número real representado será negativo.
a. Função floatToRealtype que recebe um número real e retorna uma estrutura representando esse número.
b. Função realtypeToFloat que aceita essa estrutura e retorna o número real representado por ela.
c. Rotinas add, subtract e multiply que aceitam duas dessas estruturas e definem o valor de uma terceira estrutura para representar o número que seja a soma, a diferença e o produto, respectivamente, dos dois registros de entrada.
Observação: Uma função de teste em C:
int main(){
realtype a, b, c;
a = floatToRealtype(3.14);
b = floatToRealtype(8.4333);
c = add(a, b);
printf("a+b = %f", realtypeToFloat(c));
c = subtract(b, a);
printf("b-a = %f", realtypeToFloat(c));
c = multiply(a, b);
printf("a*b = %f", realtypeToFloat(c));
return 0;
}
Adquira o código deste programa na linguagem C (R$ 3,00 via PagSeguro):
Vamos supor que um número real seja representado por uma estrutura em C, como esta:
typedef struct {
int left;
int right;
} realtype;
onde left e right representam os dígitos posicionados à esquerda e à direita do ponto decimal, respectivamente. Se left for um inteiro negativo, o número real representado será negativo.
a. Função floatToRealtype que recebe um número real e retorna uma estrutura representando esse número.
b. Função realtypeToFloat que aceita essa estrutura e retorna o número real representado por ela.
c. Rotinas add, subtract e multiply que aceitam duas dessas estruturas e definem o valor de uma terceira estrutura para representar o número que seja a soma, a diferença e o produto, respectivamente, dos dois registros de entrada.
Observação: Uma função de teste em C:
int main(){
realtype a, b, c;
a = floatToRealtype(3.14);
b = floatToRealtype(8.4333);
c = add(a, b);
printf("a+b = %f", realtypeToFloat(c));
c = subtract(b, a);
printf("b-a = %f", realtypeToFloat(c));
c = multiply(a, b);
printf("a*b = %f", realtypeToFloat(c));
return 0;
}
Adquira o código deste programa na linguagem C (R$ 3,00 via PagSeguro):
Postar um comentário