Send Single SMS only when triggered

I have tried this method. It actually work. tho it is not that efficient

    switch(level)
      {
        case 1:
      		if(a==0)
            {
              Serial.println("AT+CMGF=1");  
              delay(500);
              Serial.println("AT+CMGS=\"your no.\"");//Change the receiver phone number
              delay(500);
              Serial.print("Aler Warning: High Level."); //the message you want to send
              delay(500);
              Serial.write(26);
              delay(500);
              a++; b=0, c=0;
            }
        break;
        case 2:
      		if(b==0)
            {
              Serial.println("AT+CMGF=1");  
              delay(500);
              Serial.println("AT+CMGS=\"your no.\"");//Change the receiver phone number
              delay(500);
              Serial.print("Aler Warning: Moderate Level."); //the message you want to send
              delay(500);
              Serial.write(26);
              delay(500);
              b++; a=0, c=0;
            }
        break;
        case 3:
      		if(c==0)
            {
              Serial.println("AT+CMGF=1");  
              delay(500);
              Serial.println("AT+CMGS=\"your no.\"");//Change the receiver phone number
              delay(500);
              Serial.print("Aler Warning: Low Level."); //the message you want to send
              delay(500);
              Serial.write(26);
              delay(500);
              c++; a=0, b=0;
            }
        break;
        default:
      		if(d==0)
            {
              a=0; b=0; c=0;
            }
        break;

        }

image