switch case statement problem

I'm now able to use the menu screen as I want. Below is the modified code. Please let me know if you still see any issue with the code.

    switch (dispScreen) {
      case 0:
		backgroundScreen();
		dispScreen=1;
		Serial.println(dispScreen);
      break;
      case 1:
		if ((x>=mainBut[0]) && (x<=mainBut[2]) && (y>=mainBut[1]) && (y<=mainBut[3]))       
			{
				clearScreen();
				mainScreen();
				waitForIt(mainBut[0], mainBut[1], mainBut[2], mainBut[3]);
				myGLCD.print("MAIN", 22, 222, 1);
				dispScreen = 1;
			}
		if ((x>=ledBut[0]) && (x<=ledBut[2]) && (y>=ledBut[1]) && (y<=ledBut[3]))       
			{
				clearScreen();
				LEDScreen();
				waitForIt(ledBut[0], ledBut[1], ledBut[2], ledBut[3]);
				myGLCD.print("LED", 75, 222, 1);
				dispScreen = 1;
			}
		if ((x>=tempBut[0]) && (x<=tempBut[2]) && (y>=tempBut[1]) && (y<=tempBut[3]))       
			{
				clearScreen();
				tempDisplay();
				waitForIt(tempBut[0], tempBut[1], tempBut[2], tempBut[3]);
				myGLCD.print("TEMP", 122, 222, 1);
				dispScreen = 1;
			}
		if ((x>=pHBut[0]) && (x<=pHBut[2]) && (y>=pHBut[1]) && (y<=pHBut[3]))       
			{
				clearScreen();
				backgroundScreen();
				waitForIt(165, 219, 205, 235);
				myGLCD.print("pH", 100, 100, 1);
				dispScreen = 1;
			}
		if ((x>=settBut[0]) && (x<=settBut[2]) && (y>=settBut[1]) && (y<=settBut[3]))       
			{
				clearScreen();		
				generalSettings();
				waitForIt(settBut[0], settBut[1], settBut[2], settBut[3]);
				myGLCD.print("SETTINGS", 230, 222, 1);
				dispScreen = 2;
			}
Serial.println(dispScreen);						
	break;
	case 2:
		if ((setx>=dtSet[0]) && (setx<=dtSet[2]) && (sety>=dtSet[1]) && (sety<=dtSet[3]))       
		{
			clearScreen();				
			dateTimeSettings();
			dispScreen = 3;
		}
		if ((setx>=mlSet[0]) && (setx<=mlSet[2]) && (sety>=mlSet[1]) && (sety<=mlSet[3]))       
		{
			clearScreen();
			moonlightSettings();
			dispScreen = 3;
		}
		if ((setx>=ledSet[0]) && (setx<=ledSet[2]) && (sety>=ledSet[1]) && (sety<=ledSet[3]))       
		{
			clearScreen();	
			backgroundScreen();
			ledSettings();			
			dispScreen = 3;
		}
		if ((setx>=tempSet[0]) && (setx<=tempSet[2]) && (sety>=tempSet[1]) && (sety<=tempSet[3]))       
		{
			clearScreen();
			backgroundScreen();	
			tempSettings();			
			dispScreen = 3;
		}
		if ((setx>=alaSet[0]) && (setx<=alaSet[2]) && (sety>=alaSet[1]) && (sety<=alaSet[3]))       
		{
			clearScreen();
			backgroundScreen();
			pHSettings();				
			dispScreen = 3;
		}
		if ((setx>=bacButt[0]) && (setx<=bacButt[2]) && (sety>=bacButt[1]) && (sety<=bacButt[3]))       
		{
			clearScreen();
			backgroundScreen();				
			dispScreen = 1;
		}
Serial.println(dispScreen);
	break;
	case 3:
		if ((setx1>=savBut[0]) && (setx1<=savBut[2]) && (sety1>=savBut[1]) && (sety1<=savBut[3]))       
		{
			clearScreen();				
			generalSettings();
			dispScreen = 2;
		}

		if ((setx1>=canBut[0]) && (setx1<=canBut[2]) && (sety1>=canBut[1]) && (sety1<=canBut[3]))       
		{
			clearScreen();				
			generalSettings();
			dispScreen = 2;
		}
Serial.println(dispScreen);	
	break;

  }

}