こんばんは。
ロベールの赤本をぼちぼち進めております。
再学習ということもあり、基本的なことは頭にすいすい
入ってきて、1年前と比べると少しは成長を感じられ
楽しく学習できています^^
ただ詳しく説明されているのですが、問題的なものはない
ので、参考プログラムを打ち込んで、実行するということ
を繰り返しているうちに、自分でプログラム作ってみたいと
いう気持ちが出てきました。
基礎的なことは理解できているなら簡単なプログラムは作れる
のではないかということで嫁さんに「どんなプログラムがあった
らいいかな~?」と聞いてみたところ、「毎日のご飯のメニュー
考えるのがめんどくさいからそれ考えてくれるやつ」とのこと。
なんかそれなら作れそう!
というわけで、ちょっと構成を考えてみました。
~プログラムのあらすじ~
- 初期画面を表示
- 主食、主菜、副菜、副々菜、汁物を選択させる
- 選択外のものが入力されたら再入力させる
- 主食を表示
- ごはん系、パン系、麺系を選択させる
- 選択外のものが入力されたら再入力させる
- 1.に戻る
- 2.を選択する
- 4.~6.の要領で主菜~汁物まで決める
- 1.に戻る
- 全ての品目が決定し、初期画面に表示されている
上記のような感じのプログラムの作成をしてみたいと思います。
これくらいならポインタもクラスも使わなくていけるかな?
ということで途中まで作成してみました。
#include <iostream>
using namespace std;
int main() {
int op;
cout << "メニューを選択する画面です。" << endl;
cout << "選びたいジャンルの値を押してください。" << endl;
cout << "1:主食" << endl;
cout << "2:主菜" << endl;
cout << "3:副菜" << endl;
cout << "4:副々菜" << endl;
cout << "5:汁物" << endl;
cin >> op;
switch (op) {
case 1:
//主食の処理を加える
case 2:
//主菜の処理を加える
case 3:
//副菜の処理を加える
case 4:
//副々菜の処理を加える
case 5:
//汁物の処理を加える
default:
cout << "1~5で再入力してください。" << endl;
}
}
とりあえず初期画面を作って、各品の選択処理はまたあとでと思い、
ここまでは作ってみましたが、ここでちょっと問題が・・・
というのもswicth文で選択させて、選択外の値が入力されたら
再入力をさせたいのですが、ここでプログラムの実行が終わって
しまうのです。
この場合はどうすればいいんだろう。
defaultのとこでなにか仕掛けが必要なのか・・・?
ちょっと参考書とにらめっこしてみます。