Ayuda con funciones trigonométricas en C++

tengo el siguiente código:
pero no me quieren cuadrar ni el seno, ni el coseno ¿alguien sabe el porque? Y/o ¿porque se da este error?
________________________________________________
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
int main() {
int grados,c,d;
float a,b;
grados=90;
a=0;
b=0;
char caracter = NULL;
printf("Bienvenido \n\n para comenzar presione las teclas de movimiento \nadelante, derecha, o izquierda\nla función ");
while(caracter != 13){
if(kbhit()){
caracter = getch();
switch(caracter){ //teclas
case 72: cout<<"\nPresiono: Flecha arriba\n";
a=a+(10*sin(grados));
b=b+(10*cos(grados));
system("color 0a");
break;
case 80: cout<<"\nPresiono: Flecha abajo\n";
break;
case 75:
cout<<"\nPresiono: Flecha izquierda\n";
grados=grados+10;
break;
case 77: cout<<"\nPresiono: Flecha Derecha\n";
grados=grados-10;
break;
case 13: break;
}
{//cierre del circulo
if(grados>=360){
grados=0;
}
if(grados<0){
grados=350;
}
}
{//visualizador de pocisión
if(grados==90){
printf("el vehículo se encuentra apuntando hacia adelante");
}
if(((grados<90)&&(grados>=0))||((grados<=360)&&(grados>270))){
printf("el vehículo se encuentra apuntando hacia la derecha");
}
if((grados>90)&&(grados<270)){
printf("el vehículo se encuentra apuntando hacia la izquierda");
}
if(grados==270){
printf("el vehículo se encuentra apuntando hacia abajo");
}
printf("\n\nla inclinación es de %i °",grados);
printf("las coordenadas actuales con respecto al origen son \n Y = %f m \n X = %f m ",a,b);
}
}
if(caracter==32){
system("cls");
system("color 05");
cout<<"\n\naqui queda el espacio con el manual\n\n";
getch();
}
getch();
system("cls");
system("color 0F");
}
return 0;
}

________________________________________________

Añade tu respuesta

Haz clic para o