switch () { case this-value: //Código a ejecutar si la sentencia es verdadera. //break; case that-value: //Código a ejecutar si la sentencia es verdadera. //break; ... default: //Código a ejecutar si las sentencias anteriores no se cumplen. //break; }
DEV C++
La condición de una instrucción switch es un valor. El caso, dice que si tiene el valor de lo que sea después de ese caso, entonces no lo sigue el de colon. La ruptura se utiliza para salir de las sentencias case. Break es una palabra clave que sale de un bloque de código, generalmente rodeadas por llaves, que es encuentra, en este caso, ruptura impide que el programa de caer a través y ejecutar el código en todas las declaraciones de otros casos. Una cosa importante a tener en cuenta sobre la sentencia switch es que los valores caso sólo podrá ser constantes expresiones integrales. Lamentablemente, no es legal usar el caso como éste:int a = 10; int b = 10; int c = 20; switch ( a ) { case b: // Code break; case c: // Code break; default: // Code break; }El caso por defecto es opcional, pero es conveniente incluirlo ya que maneja todos los casos inesperados. Instrucciones Switch Case sirven como una forma sencilla de escribir mucho si las declaraciones cuando se cumplen los requisitos. A menudo se puede utilizar para procesar la entrada de un usuario. Bueno ahora un pequeño ejemplo del Switch Case: Si una expresión coincidente, el control no esté impedido por caso, posterior o etiquetas predeterminadas. La sentencia break se utiliza para detener la ejecución y transferir el control a la instrucción después de la sentencia switch. Sin una instrucción break, cada palabra de la etiqueta caso coincide con el extremo del interruptor, incluyendo el valor predeterminado, se ejecuta. Por ejemplo:
// switch_statement1.cpp #includeEn el ejemplo anterior, Capa se incrementa si c es una mayúscula A. La sentencia Break después de la Capa + + termina la ejecución del cuerpo de la instrucción switch y el control pasa al bucle While. Sin la sentencia Break, lettera nota y también se incrementa. Un objetivo similar es servida por la sentencia Break para el caso de la 'a'. Si c es una minúscula, lettera se incrementa y la sentencia break termina el cuerpo de la instrucción Switch. Si c no es una A o A, la declaración por defecto se ejecuta. Un bloque interior de una instrucción switch puede contener definiciones con inicializaciones, siempre que son alcanzables - es decir, sin anular por todos los caminos de ejecución posibles. Los nombres introducidos con estas declaraciones tienen un ámbito local. Por ejemplo:int main() { char *buffer = "Any character stream"; int capa, lettera, nota; char c; capa = lettera = nota = 0; while ( c = *buffer++ ) // Walks buffer until NULL { switch ( c ) { case 'A': capa++; break; case 'a': lettera++; break; default: nota++; } } printf_s( "\nUppercase a: %d\nLowercase a: %d\nTotal: %d\n", capa, lettera, (capa + lettera + nota) ); }
// switch_statement2.cpp // C2360 expected #includeUna sentencia switch se pueden anidar. En tales casos, las etiquetas de caso o por defecto a la declaración más cercano interruptor que les rodea.using namespace std; int main(int argc, char *argv[]) { switch( tolower( *argv[1] ) ) { // Error. Unreachable declaration. char szChEntered[] = "Character entered was: "; case 'a' : { // Declaration of szChEntered OK. Local scope. char szChEntered[] = "Character entered was: "; cout << szChEntered << "a\n"; } break; case 'b' : // Value of szChEntered undefined. cout << szChEntered << "b\n"; break; default: // Value of szChEntered undefined. cout << szChEntered << "neither a nor b\n"; break; } }
Visual C++ con Windows Forms:
Bueno como en todos mis tutoriales de Windows Forms tengo que explicar paso a paso aquí estan los pasos a seguir:
1.- Crear el proyecto de Visual C++ con Windows Forms.
2.- Insertar un TextBox.
3.- Insertar un Label.
4.- Ir a la ventana de Propiedades y presionar el Rayo que son los eventos y allí buscar el evento llamado KeyPress y dar doble clic sobre el espacio en blanco a un lado del nombre.
5.- una vez hecho esta nos colocará automaticamente en el código del KeyPress y ponemos el siguiente código:
switch(e->KeyChar) { case 'a': case 'e': case 'i': case 'o': case 'u': label1->Text=("Vocal"); break; default: label1->Text=("Consonante"); }Bueno como veremos tendremos que poner el Switch que es con el que estamos trabajando en este tutorial y luego veremos que hay un texto encerrado entre parentesis así:
(e->KeyChar)Esto nos indica que al presionar el textBox1 o al cambiarle el valor cuando este compilando realizará las siguientes acciones "case" las "case" que se presentan son como un If en el cual decimos que si la letra en el TextBox es "a" o la letra es "e" asi hasta la "u" realizará una accion que se describe despues de los Cases bueno despues de la acción que en este caso le decimos que cambie el texto del label1 por "Vocal" va una instrucción llamada "break", esta instrucción nos sirve para decirle al programa que pare y que siga con la siguiente linea de código si esto no se cumple. Luego veremos la instrucción "default:" que es la que le decimos como si fuera el ELSE, en esta instrucción decimos que si no se cumplió todo lo anterior es decir que si la letra no es vocal entonces que mande al label el texto de "Consonante". No olvidemos siempre terminar nuestras instrucciones con el punto y coma y las correspondientes llaves "{}". Y por último así es como debió de quedar todo nuestro código y su respectiva imagen de como quedó el formulario en ejecución.
#pragma once namespace SWITCHCASE { using namespace System; using namespace System::ComponentModel; using namespace System::Collections; using namespace System::Windows::Forms; using namespace System::Data; using namespace System::Drawing; ////// Resumen de Form1 /// public ref class Form1 : public System::Windows::Forms::Form { public: Form1(void) { InitializeComponent(); // //TODO: agregar código de constructor aquí // } protected: ////// Limpiar los recursos que se estén utilizando. /// ~Form1() { if (components) { delete components; } } private: System::Windows::Forms::TextBox^ textBox1; private: System::Windows::Forms::Label^ label1; protected: private: ////// Variable del diseñador requerida. /// System::ComponentModel::Container ^components; #pragma region Windows Form Designer generated code ////// Método necesario para admitir el Diseñador. No se puede modificar /// el contenido del método con el editor de código. /// void InitializeComponent(void) { this->textBox1 = (gcnew System::Windows::Forms::TextBox()); this->label1 = (gcnew System::Windows::Forms::Label()); this->SuspendLayout(); // // textBox1 // this->textBox1->Location = System::Drawing::Point(85, 90); this->textBox1->Name = L"textBox1"; this->textBox1->Size = System::Drawing::Size(100, 20); this->textBox1->TabIndex = 1; this->textBox1->KeyPress += gcnew System::Windows::Forms::KeyPressEventHandler(this, &Form1::textBox1_KeyPress); // // label1 // this->label1->AutoSize = true; this->label1->Location = System::Drawing::Point(113, 129); this->label1->Name = L"label1"; this->label1->Size = System::Drawing::Size(35, 13); this->label1->TabIndex = 2; this->label1->Text = L"label1"; // // Form1 // this->AutoScaleDimensions = System::Drawing::SizeF(6, 13); this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font; this->ClientSize = System::Drawing::Size(284, 261); this->Controls->Add(this->label1); this->Controls->Add(this->textBox1); this->Name = L"Form1"; this->Text = L"Form1"; this->ResumeLayout(false); this->PerformLayout(); } #pragma endregion private: System::Void textBox1_KeyPress(System::Object^ sender, System::Windows::Forms::KeyPressEventArgs^ e) { switch(e->KeyChar) { case 'a': case 'e': case 'i': case 'o': case 'u': label1->Text=("Vocal"); break; default: label1->Text=("Consonante"); } } }; }