Struktur switch di C++ juga dapat mengimplementasikan berbagai struktur cabang, mirip dengan struktur else if . Artinya, untuk berbagai situasi, program dapat menilai cabang mana yang akan dipilih berdasarkan kondisi, yang memperkaya kemungkinan penggunaan program Metodenya mirip dengan bahasa C. Struktur umumnya adalah sebagai berikut:
switch(ekspresi){ekspresi konstan kasus 1: pernyataan 1; ekspresi konstan kasus 2: pernyataan 2; ekspresi konstan kasus 3: pernyataan 3; //... ekspresi konstan kasus n: pernyataan n default: pernyataan n +1;}
Perhatikan bahwa tidak ada titik koma setelah braket saklar! Ini adalah kesalahan mudah bagi pemula.
Alur eksekusi program adalah terlebih dahulu mengeksekusi nilai ekspresi dalam tanda kurung setelah saklar, dan kemudian membandingkannya dengan konstanta setelah case untuk melihat mana yang sama, setelah sama, eksekusi dimulai dari pernyataan setelah titik dua case, yaitu pernyataan yang bersangkutan dieksekusi. Setelah pernyataan tersebut, pernyataan case berikutnya juga dieksekusi, dan tidak lagi menentukan apakah nilai case sama atau tidak. Dan jika setelah dibandingkan ternyata semua kasus tidak sama, maka pernyataan setelah default akan dieksekusi. Ini adalah karakteristik eksekusi dari struktur saklar.
Mari kita ambil contoh soal aktual untuk menjelaskan penggunaannya secara detail. Soal 1783 adalah mesin penghakiman hari dalam seminggu. Harap baca sendiri soal tersebut terlebih dahulu dan coba selesaikan dan serahkan, lalu lihat jawabannya.
Jawaban referensinya adalah sebagai berikut:
#include<iostream>usingnamespacestd;intmain(){intn;cin>>n;switch(n){case0:cout<<Minggu;break;case1:cout<<Senin;break;case2:cout<<Selasa;break; case3:cout<<Rabu;break;case4:cout<<Kamis;break;case5:cout<<Jumat;break;case6:cout<<Sabtu;break;default:cout<<inputerror!;}return0;}
Silakan gunakan komputer untuk membuat kode secara langsung, dan ingatlah untuk tidak terlalu sombong!