条件中的参数过多

最近我在代码中设置条件时遇到问题(这很简单),我无法弄清楚为什么此代码没有我想要的输出。 基本上,它是一个获得角度并告诉您它将在圆的哪个区域中的代码。 问题是如何在if语句中放入所有条件。我应该使用&-&&-|-||-,- (当然,&在这个位置不是很合适)

#include <iostream>
using namespace std;
int main()
{
  int fa, a, r;
  //false angle, angle, round
  cout << "Enter the Angle: ";
  cin >> fa;
  a=fa%360;
  cout << a;
  if((a==0)|(a==90)|(a==180)|(a==270)|(a==360)|(a==-90)|(a==-180)|(a==-360))
  cout << "Border dots."<< endl;
  else{
  if (0<a<90 | -270<a<360)
  {cout << "1st Area."<< endl;}
  else if (90<a<180 | -180<a<-270)
  {cout << "2nd Area."<<endl;}
  else if (180<a<270 | -90 <a<-180)
  {cout << "3rd Area."<<endl;}
  else if (270<a<360 | 0<a<-90)
  {cout << "4th Area."<< endl;}
  else
  cout << "Wrong number!"<<endl;}
  r=fa/360;
  cout << "It is " << r <<" round(s) and " << a << " Angle" <<endl;
}
//17/05/2020

很抱歉,如果我在说自己的问题时遇到困难。因为我对数学和代码短语不太了解