Displaying a different sprite depending on which angle a character is viewed from

All of my code is properly working, but when circling my character, the sprite switches 8 times instead of 4 and I can not think of a way to correct this by just adjusting the greater and less thans in my nested if statements.

using UnityEngine;
using System.Collections;

public class SpriteController : MonoBehaviour {

    int x = 1;
    int caseSwitch = 1;
    GameObject fagboy_left;
    GameObject fagboy_backleft;
    GameObject fagboy_right;
    GameObject fagboy_backright;
    GameObject Player;
    float rise;
    float run;
    float degreePercent;

    // Use this for initialization
    void Start ()
    {
        fagboy_left = GameObject.Find("fagboy_left");
        fagboy_backleft = GameObject.Find("fagboy_backleft");
        fagboy_right = GameObject.Find("fagboy_right");
        fagboy_backright = GameObject.Find("fagboy_backright");
        Player = GameObject.Find("FirstPersonCharacter");
    }
	
	// Update is called once per frame
	void Update ()
    {

        rise = Player.transform.position.z - transform.position.z;
        run = Player.transform.position.x - transform.position.x;

        if (run==0)
        {
            if (run>0)
            {
                caseSwitch = 1;
            }
            else
            {
                caseSwitch = 3;
            }
        }

        degreePercent = (rise / run) * 100;

        if (degreePercent<50 && degreePercent>0)
        {
            caseSwitch = 2;
        }
        else
        {
            if (degreePercent<0 && degreePercent>-50)
            {
                caseSwitch = 1;
            }
            else
            {
                if (degreePercent<-50)
                {
                    caseSwitch = 3;
                }
                else
                {
                    caseSwitch = 4;
                }
            }
        }

        switch (caseSwitch)
        {
            case 1:
                fagboy_left.SetActive(true);
                fagboy_backleft.SetActive(false);
                fagboy_right.SetActive(false);
                fagboy_backright.SetActive(false);
                break;
            case 2:
                fagboy_left.SetActive(false);
                fagboy_backleft.SetActive(true);
                fagboy_right.SetActive(false);
                fagboy_backright.SetActive(false);
                break;
            case 3:
                fagboy_left.SetActive(false);
                fagboy_backleft.SetActive(false);
                fagboy_right.SetActive(true);
                fagboy_backright.SetActive(false);
                break;
            case 4:
                fagboy_left.SetActive(false);
                fagboy_backleft.SetActive(false);
                fagboy_right.SetActive(false);
                fagboy_backright.SetActive(true);
                break;
        }
	}
}

@SeaOfScrolls Trigonometry would be very useful to you here. Especially the arc-tangent function for turning “rise” and “run” into an angle that you can then use in your if-statements.