それは本質的な原則です。あなたは手動で何度も何度も「XYしますか」というサイクルを繰り返します。それは間違いを起こしやすいだけでなく、維持するのも難しいです。それからあなたはすべての一つ一つの項目のためにあなたの入力処理を追加または変更しなければならないでしょう。donut現在のプログラムでこれを行うのはかなり面倒です。bagelCount、coffeeCount、waterCount、coconoutCount...が必要です。パターンが得られます。そのため、可能であれば、単一のコードブロックですべての項目を同じ方法で処理するようにしてください。それでは、次のトピックに進みます。顧客にベーグルを購入したいかどうかを尋ねるときには、その情報を利用することは避けてください。^^^^^^これもまたDRY違反です。ベーグルの価格を変更した場合は、2か所で変更する必要があります。それは間違いを起こしやすいです。代わりに、すでに手元にある情報を再利用してください。可能な限り変数を値で初期化するようにしてください。1.50;しかし、後で変更するので、まだ使用しないでください。顧客を信用しない顧客が「y」または「n」の代わりに「a」を入力した場合はどうなりますか。あなたはそれを受け入れて何も追加しません。"Cthulhu!"と答え、あなたはおそらく彼らにあなたの申し出を受け入れるか辞退するかを頼むでしょう。*/}機能はあなたを助けることができます。抽象化それでは、アイテム交換を見てみましょう。}他のすべての項目は同じ構造に従っているので、これに焦点を当てましょう。ここにパターンがあります。商品名と価格を言う商品を購入するかどうかを確認します注文に商品を追加して合計を増やします(この手順はありません)お客様に新しい合計をお知らせくださいまだ商品がある場合は、次の商品を選択して1に進みます。それ以外の場合、顧客に合計を伝えます。したがって、そのダイアログを書き換えてみましょう。取得してすべての商品を検索する方法だけです。いくつかの方法があります。5.00}};メニュー内のすべての項目を簡単に移動できます。".";}注文を追跡することもできます。あなたがあなたのコードで本当のお金を扱ったことがあるなら、顧客、あなた、または政府のどちらも払いすぎないこと、または十分なお金を得ないことを確認してください。使いやすさ大事なことを言い忘れましたが、メニューをユーザーに表示して、購入したいアイテムを選択させることができます。again!そうすれば、20個のベーグルを購入したいだけであれば、すべての製品を調べる必要はありません。丸めや精度の誤差があるため、金額の値として浮動小数点数を使用することに注意してください。最良の選択肢の1つですが、注意すべき注意事項がいくつかあります。++コアガイドラインに従っています。wizzwizz4私が何かを欠いていない限り、タイプミスはありませんでした。"dialog"の例の元の変数です。これは、OPが最初に使用していた命名規則に従いました。会社の命名規則のために私が使用したものです。ところで、私のコードのすべての型はPascalCaseであり、camelCaseではありません。源@BrianJの発言を拡張するには、おそらく金額をセントの金額として整数で格納する必要があります。その使い方については非常に実用的です。セマンティクスは一般的によく理解されています。何が行われていて、どの演算子が利用可能かをすぐにわかります。表示されたら、何が起きているのかを調べるためにドキュメントを読む必要があります。悪いことに仮定する必要があります。よってさらに拡大されます。使用しないでください。