大学生のモノづくり記録

Webページ作成(主にHTML、CSS、PHP、jQuery)、ArduinoやRaspberry Piを使って物作りの勉強した記録を載せたり/趣味のことを書いていきたいなと思います。(クオリティはかなり低いです)

【C++】ラーメンの発券機作ってみた

 今回は、C++に挑戦しようと思います。

今回は、予算を事前に決めてその予算内に買い物するような仕組みにしたいと思います。

まずフローチャートの作成から始めようと思います。

 フローチャートを作成することによって大まかな設計が建てられるので、余裕があるのであれば作成してから行うとスムーズに作成できると思います。

f:id:kyozinnlove55:20200621011914j:plain

 

 仕組みとしては、選んで、条件読んでの繰り返しを行っています。

ソースコード

#include<iostream>

using namespace std;

int main(void) {
 int m=0;
 int y = 0;
 int yosan = 0;
 int keisan = 0;
 int sum=0 ;
///////予算の設定/////
 cout << "今回の予算を記入" << endl;
 cin >>yosan ;
//////ラーメンの選択///////
 cout << "商品を選択して下さい" << endl<<"4で確定になります"<<endl;
 cout << "1:豚骨ラーメン(500円)" << "味噌ラーメン(600円)"
   << "しょうゆラーメン(450円)" << endl;

 while ( cin >> m)
 {
  switch (m) {
   case 1:
    sum += 500;
    cout << "豚骨ラーメン購入" << endl;
    break;

   case 2:
    sum += 600;

    cout << "味噌ラーメン購入" << endl;

    break;

   case 3:
    sum += 450;
    cout << "しょうゆラーメン購入" << endl;

    break;

   default:
    break;
  }
  if (m == 4) break ;
 }
  keisan = yosan - sum;
////予算から引いてまだ大丈夫なのか///////
 if (keisan > 0) {
  cout << "今現在の余り予算は、" << keisan << "円" << endl;
 }
 else {
  cout << "予算オーバーです" << endl;
  return 0;
 }

////トッピングはいるのか///////
 cout << "トッピングはいりますか?" << endl;
 cout << "購入する方は" << "1を" << "購入しない方は" << "1以外を押してください"    << endl;

 cin >> y;

 if (y == 1) {
  cout << "1:きくらげ(50円)" << "2:煮卵(100円)" << "3:チャーシュー(150円)"
  << "4:チャーハン(250円)" << endl;
  cout << "5を入力で注文が確定します" << endl;
  int t = 0;
  while (cin >> t) {
   switch (t) {
    case 1:
    sum += 50;
    cout << "きくらげ購入" << endl;
    break;
   case 2:
    sum += 100;
    cout << "煮卵購入" << endl;
    break;
   case 3:
    sum += 150;
    cout << "チャーシュー(150円)" << endl;
    break;
   case 4:
    sum += 250;
    cout << "チャーハン(250円)" << endl;
  default:
   break;
  }
  if (t == 5) break;
 }
 keisan = yosan - sum;
 if (keisan> 0) {
  cout << "合計は、" << sum << "円です。" << endl;
 }
 else {
  cout << "予算オーバーです。" << endl;
  return 0;
 }
}
else {
 cout << "合計は、" << sum <<"円です。" <<endl;
}

return 0;
}

 

表示結果

(予算が足りている例)

f:id:kyozinnlove55:20200621012707p:plain

(予算が足りていない例)

f:id:kyozinnlove55:20200621012744p:plain

 

f:id:kyozinnlove55:20200621012817p:plain

 

 

【今後の発展】

構造体にしていけばもう少しプログラミングする量が減るのではないのかと考察する。

次回は、構造体も使用して作成していきます。

 

簡単では、ありますが今回は、これで終わります。