Secondo me così funziona meglio e non c'è bisogno di fare 2 if
cout<<"Inserisci una serie di numeri, scrivi 0 se vuoi interromperti!\n";
cin>>n;
//il primo inseriscilo fuori dal ciclo così se == 0 è come se uscisse, altrimenti puoi
//fare subito il confronto evitando di stampare ok oppure no alla prima iterazione!
while(n!=0){
num_prec=n;
cin>>n;
if((n>0 && num_prec<0) || (n<0 && num_prec>0)){
cout<<"\nOk\n";
}else{
cout<<"\nNo\n";
}
};