Cast y trunc etc
pues el cast es hacer que un tipo de dato se comporte como otro, no simpre funciona y en compiladores moderrnos hacerlo de manera incorrecta arrojaria un error.
ejemplo:
int b = 250;
char c =0;
c = (int) b;
lo que hicimos es asignarle a c el valor entero correspondiente a b,
dado que b solo es 250 cabe perfectamente en un tipo char..
sin embargo si b fuera mayor que 255 seria un error puesto que un char solo te guarda hasta un byte (255) asi que el resultado no seria el deseado o bien un compiladolr podria generar una infraccion de acceso.
tambien puedes hacer esto:
int a =0;
float b= 12, 32415;
a=(int)b;
o de hecho es un cast implicito decir
a=b;
lo cual generalmente truncaria la oparte decimal de b y a seria
a= 12;
Lo que yo haria para hacer lo que pides seria irme por el lado mas limpio usando la libreria math y el encabezado math.h
para poder utilizar funciones como trunc y fix (o su equivalente).
trunc sirve para quitarle la parte decimal a un numero y fix lo aproxima.. es decir
b= 12, 75;
a = trunc(
;
a seria = 12;
b= 12, 75;
a = fix(
;
a seria =13
no recuerdo muy bien si la fucion se llama fix y la otra trunc..
investigalo.