What is the point of the calc_sin() function? All it does it call sin(). And what is the error when you program crashes? It looks okay to me. In any case, I think what you want is calc_sin(static_cast<double>(x)). This will force a conversion from float to double.
Also, I recommend you don't use for loops based on floats, since the impercision caused by the comparsion could cause the loop to run forever.
i was learning how to call the functions. i just changed all the doubles to float and it solved the problem. i will try your answer as well. thank you for the reply.
oh, the error when my program crashes was that it kept going at 0.909297