Relativo invece al secondo punto il problema sia il tipo di dato usato.Informati meglio che credo che le variabili,in questo caso,siano di tipo "long".Non metto la mano sul fuoco visto il tanto tempo trascorso.
Sono 20 anni che non metto mai ad un sorgente C++.Comunque:
1)visto che ad ogni condizione richiedi il valore dell'angolo immetti le istruzioni all'inizio prima della domanda relativa a seno coseno e tangente.In questo modo allegerisco il processo e la dimensione dell'eseguibile
2)le condizioni relative non metterle dopo else.Secondo la tua logica sarebbe:
if(condizione)
{istruzioni
}else
{
if(condizione){
istruzioni}.
Imposta invece come semplici if consecutivi senza la condizione else.Cioè:
if(condizione){istruzioni}
if(condizione2){istruzioni}
if(condizione3){istruzioni}