#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
 
int main() {
	int command;
	cout << "す○いむがあらわれた!" << endl;
	cout << "どうする? コマンド(1~4):" << endl;
	cout << "1:たたかう" << endl;
	cout << "2:まほう" << endl;
	cout << "3:まもる" << endl;
	cout << "4:にげる" << endl;
	cin >> command;
 
	if(command == 1)
		cout << "あちょー" << endl;
	else if(command == 2)
		cout << "ぱるぷんて" << endl;
	else if(command == 3)
		cout << "ひきこもります。かまわないで" << endl;
	else if(command ==4)
		cout << "とっつあん、あばよ!" << endl;
	else
		cout << "error" << endl;
 
}

switch-case文の書き方(基本)

#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
int main() {
	int com; //コマンド
	cout << "0~4の整数を入力:";
	cin >> com;
 
	//switch(整数の変数) 整数でしか判断できません!
	//caseブロック
	switch(com)
	{
		case 0: //if(com == 0)
			cout << "私の";
			cout << "母の";
		case 1://case ラベル 数字のことをラベルって言う
			cout << "なまえは";
			break;
		case 2:
			cout << "やまだ";
		case 3:
			cout << "太郎";
		case 4:
			cout << "でござる";
			break;//ここでcaseブックを抜ける
		default: //ラベルに記述された数字以外
			cout << "error" << endl;
			break;//ここでcaseブロックを抜ける
	}
}

練習問題⓪

上の、ド〇クエ風メニュー選択を、switch-case文で書いてみよう!

#include <iostream>
 
using std::cout;
using std::cin;
using std::endl;
 
//サブルーチン(手続きとか、関数とか)
//C++ではどちらも関数として表現する
//メニュー表示の関数を作ってみるよ!
//戻り値の型 関数名(パラメータリスト){ 処理内容ブロック; }
//ちなみに関数に渡すパラメータのことを引数というよ(いんすうじゃないよ、ひきすうだよ!)
//voidは何も返さないよ=手続きタイプの関数(サブルーチン)だよ
void printMenu()
{
	cout << "+--------------+" << endl;
	cout << "|  す○いむがあらわれた!  |" << endl;
	cout << "|どうする?          |" << endl;
	cout << "|コマンド(1~4):        |" << endl;
	cout << "|+------+      |" << endl;
	cout << "+|1:たたかう |------+" << endl;
	cout << " |2:まほう  |" << endl;
	cout << " |3:まもる  |" << endl;
	cout << " |4:にげる  |" << endl;
	cout << " +------+" << endl;
}
//関数の宣言と定義!ここまで
 
 
int main() {
		int command;
 
		printMenu();
		//メニューはほかで定義済みの処理を呼ぶ
		cin >> command;
	/*
		if(command == 1)
			cout << "あちょー" << endl;
		else if(command == 2)
			cout << "ぱるぷんて" << endl;
		else if(command == 3)
			cout << "ひきこもります。かまわないで" << endl;
		else if(command ==4)
			cout << "とっつあん、あばよ!" << endl;
		else
			cout << "error" << endl;
	*/
		switch(command)
		{
			case 1:
				cout << "あちょー" << endl;
				break;//breakの付け忘れに注意!
			case 2:
				cout << "ぱるぷんて" << endl;
				break;
			case 3:
				cout << "ひきこもります。かまわないで" << endl;
				break;
			case 4:
				cout << "とっつあん、あばよ!" << endl;
				break;
			default:
				cout << "error" << endl;
		}
}

練習問題①

1~12の整数を入力して、入力された月が何日あるか表示しよう
2月は28日固定!
それ以外はエラー

#include <iostream>
 
 
using std::cin;
using std::cout;
using std::endl;
// 1月	31
// 2月	28
// 3月	31
// 4月	30
// 5月	31
// 6月	30
// 7月	31
// 8月	31
// 9月	30
//10月	31
//11月	30
//12月	31
int main() {
	//練習問題①
	int month;
	cout << "1~12の数字を入れてください:";
	cin >> month;
 
	switch(month)
	{
		case 1:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 2:
			cout << month << "月は" << 28 << "日あります" << endl;
			break;
		case 3:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 4:
			cout << month << "月は" << 30 << "日あります" << endl;
			break;
		case 5:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 6:
			cout << month << "月は" << 30 << "日あります" << endl;
			break;
		case 7:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 8:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 9:
			cout << month << "月は" << 30 << "日あります" << endl;
			break;
		case 10:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 11:
			cout << month << "月は" << 30 << "日あります" << endl;
			break;
		case 12:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		default:
			cout << "error" << endl;
	}

switch-case応用 

switch-case文のブレイクしないとしたまで突っ切る性質を使って、少し上の練習問題をすっきりと書くことができます。

	int month;
	cout << "1~12の数字を入れてください:";
	cin >> month;
 
	switch(month)
	{
		case 1://下にスルー
		case 3://下にスルー
		case 5://フォールスルー
		case 7:
		case 8:
		case 10:
		case 12:
			cout << month << "月は" << 31 << "日あります" << endl;
			break;
		case 2:
			cout << month << "月は" << 28 << "日あります" << endl;
			break;	
		case 4:
		case 6:
		case 9:
		case 11:
			cout << month << "月は" << 30 << "日あります" << endl;
			break;
		default:
			cout << "error" << endl;
	}

練習問題②

コーヒー100円、コーラ120円、紅茶105円、野菜ジュース130円とします。
コーヒー→1、コーラ→2、紅茶→3、野菜ジュース→4として、それぞれの
数値が入力されたら種類と値段を表示するプログラムを書いてみよう。
それ以外はエラー!

//練習問題②
	int kind;//飲み物の種類
	cout << "番号を入力(1~4):";
	cin >> kind;
	switch(kind)
	{
		case 1:
			cout << "コーヒー:100円" << endl;
			break;
		case 2:
			cout << "コーラ:120円" << endl;
			break;
		case 3:
			cout << "紅茶:105円" << endl;
			break;
		case 4:
			cout << "野菜ジュース:130円" << endl;
			break;
		defult:
			cout << "error" << endl;
	}
}