演習 - ビジネス ルールを適用する課題アクティビティを完了する
コードの課題は、学習した内容を確実に理解し、先に進む前にある程度の自信を得るのに役立ちます。
課題: サブスクリプションの更新率を高める
あなたは、会社のソフトウェアに機能を追加するように求められました。 この機能は、ソフトウェアのサブスクリプションの更新率を向上させることを目的としています。 あなたの課題は、ユーザーがソフトウェア システムにログインし、そのサブスクリプションが間もなく終了することが通知されたときに、更新メッセージを表示することです。 要件を満たすための分岐ロジックをアプリケーションに適切に追加するには、2 つの決定ステートメントを追加する必要があります。
コーディング環境を準備する
Visual Studio Code で空の Program.cs ファイルが開かれていることを確認します。
必要であれば、Visual Studio Code を開き、次の手順のようにしてエディターで Program.cs ファイルを準備します。
[ファイル] メニューの [フォルダーを開く] を選択します。
[フォルダーを開く] ダイアログを使って CsharpProjects フォルダーに移動して開きます。
Visual Studio Code のエクスプローラー パネルで、Program.cs を選びます。
Visual Studio Code の [選択] メニューで、[すべて選択] を選択してから Delete キーを押します。
この課題の最初のコードを作成するには、次のコードを入力します。
Random random = new Random(); int daysUntilExpiration = random.Next(12); int discountPercentage = 0; // Your code goes here
このコードでは、0 から 11 の値で乱数が生成されることに注意してください。 乱数は、
daysUntilExpiration
という名前の整数変数に割り当てられます。discountPercentage
という名前の別の整数変数があり、0
に初期化されます。重要
この課題では、コードのコメントのみを削除できます。 つまり、
//
で始まるコード行を削除することはできますが、その他のコードを削除することはできません。 さらに、ソリューションでは各変数を使う必要があります。
この課題のビジネス ルールを確認する
ルール 1: コードではメッセージを 1 つだけ表示する必要があります。
コードで表示するメッセージは、他の 5 つのルールによって決まります。 ルール 2 から 6 では、大きい番号のルールほど、小さい番号のツールより優先順位が高くなります。
ルール 2: ユーザーのサブスクリプションの有効期限まで 10 日以内の場合は、次のメッセージを表示します。
Your subscription will expire soon. Renew now!
ルール 3: ユーザーのサブスクリプションの有効期限まで 5 日以内の場合は、次のメッセージを表示します。
Your subscription expires in _ days. Renew now and save 10%!
Note
メッセージ出力を作成するときに、必ず、上記のメッセージに表示される
_
文字を変数daysUntilExpiration
に格納されている値に置き換えてください。ルール 4: ユーザーのサブスクリプションの有効期限まで 1 日の場合は、次のメッセージを表示します。
Your subscription expires within a day! Renew now and save 20%!
ルール 5: ユーザーのサブスクリプションの有効期限が切れた場合は、次のメッセージを表示します。
Your subscription has expired.
ルール 6: ユーザーのサブスクリプションの有効期限まで 10 日より長い場合は、何も表示しません。
if
ステートメントを使用してソリューションのコードを実装する
ソリューションでは、個別の if
ステートメントと if-else
ステートメントを使って、ビジネス ルールを実装する必要があります。 if-else
ステートメントには、複数の else if
パーツを含めることができます。
サブスクリプションの有効期限が切れるときについてのメッセージを表示する
if-else
ステートメントを作成します。ヒント
各有効期限ルールが考慮されるようにするには、
else if
を使います。割引オファーを表示する別の
if
ステートメントを作成します。ビジネス ルールは、どのようなときに割引を提供する必要があるかを示します。
行き詰まって解答を見る必要がある場合でも、無事完了した場合でも、進んでこの課題の解答をご覧ください。