else condition is always true or printing in the serial monitor

I am having trouble with the lines being printed in the serial monitor. My intention is for the line stating "You're wrong" to only be printed when the user enters any key besides 1 or 0 in the serial monitor. Instead, no matter what character I enter in the serial monitor the "You're wrong" line is always printing even if it is a 1 or 0. For example, when I enter 1 the line "LED is ON" prints and a split second later the "You're wrong" line prints as well. As a side note the LED's are all working and lighting up properly given my input. Also, if it helps or matters, I have an Arduino Mega 2560. I appreciate any help or guidance you all may have for me. My code is listed below:

int switchvariable=1;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(13,OUTPUT);
pinMode(10,OUTPUT);
}

void loop() {
// put your main code here, to run repeatedly:

while(Serial.available()==0){
if (switchvariable==1){
digitalWrite(13,HIGH);
digitalWrite(10,LOW);
delay(1000);
digitalWrite(13,LOW);
digitalWrite(10,HIGH);
delay(1000);
}
}
{
char com346 = Serial.read();{
if (com346=='1'){
switchvariable=1;
Serial.println("LED is ON");
}
else if (com346=='0'){
switchvariable=0;
digitalWrite(10,LOW);
Serial.println("LED is OFF");
}
else{
Serial.println("You're wrong");
}
Serial.println("");
}
}
}

DV85:
For example, when I enter 1 the line "LED is ON" prints and a split second later the "You're wrong" line prints as well.

I'm going to guess (edit: in fact have tested and am sure) you don't have line end in the monitor set to "No line ending", so it reads and acts on the line end character, which is a "wrong" answer.

line end and baud.GIF

12Stepper:
I'm going to guess (edit: in fact have tested and am sure) you don't have line end in the monitor set to "No line ending", so it reads and acts on the line end character, which is a "wrong" answer.

line end and baud.GIF

Yes, I tried it too and it fixed, but the monitor displays the message with a delay, is that normal? I guess it's because I changed the byterate from 9600 to 115200 which is the one i'm using in all my codes, but a delay on showing a message, was my first time

The delay on showing the message is caused by your use of the delay function. You'll notice the delay only occurs when switchvariable == 1. This is an example of why you should avoid the use of delay() and any other blocking code in your sketches. To see how you can blink the LED without the use of blocking code, see this tutorial:

There is a small extra delay caused by the use of 9600 baud instead of 115200, but not really anything you'll notice