练习 - 完成一项挑战活动以应用业务规则

已完成

代码挑战将强化所学知识,有助于在进行后续学习之前增强自信。

挑战:提高订阅的续订率

你被要求向你所在公司的软件添加一项功能。 此功能旨在提高软件订阅的续订率。 你的任务是在用户登录软件系统及通知其订阅即将到期时显示续订消息。 需要添加一些决策语句,将分支逻辑正确添加到应用程序,以便满足要求。

准备编码环境

  1. 确保在 Visual Studio Code 中打开了一个空的 Program.cs 文件。

    如有必要,请打开 Visual Studio Code,然后完成以下步骤,以在编辑器中准备 Program.cs 文件:

    1. 在“文件”菜单中,选择“打开文件夹”

    2. 使用“打开文件夹”对话框导航到 CsharpProjects 文件夹,然后打开。

    3. 在 Visual Studio Code EXPLORER 视图中,选择 Program.cs

    4. 在 Visual Studio Code 的“选择”菜单上,选择“全选”,然后按 Delete 键。

  2. 若要为本挑战创建初始代码,请输入以下代码:

    Random random = new Random();
    int daysUntilExpiration = random.Next(12);
    int discountPercentage = 0;
    
    // Your code goes here
    
    

    请注意,此代码将生成一个取值范围为 0 - 11 的随机数。 该随机数将分配给名为 daysUntilExpiration 的整数变量。 你有另一个名为 discountPercentage、初始化为 0 的整数变量。

    重要

    在此挑战中,只能删除代码注释。 换句话说,可以删除以 // 开头的代码行,但不能删除任何其他代码。 此外,必须使用解决方案中的所有变量。

请审核此挑战的业务规则

  1. 规则 1:代码只能显示一条消息。

    代码显示的消息将取决于其他五个规则。 对于规则 2-6,编号较高的规则优先于编号较低的规则。

  2. 规则 2:如果用户的订阅将在 10 天或更短的时间内到期,则显示以下消息:

    Your subscription will expire soon. Renew now!
    
    
  3. 规则 3:如果用户的订阅将在 5 天或更短的时间内到期,则显示以下消息:

    Your subscription expires in _ days.
    Renew now and save 10%!
    
    

    注释

    构造消息输出时,请务必将上述消息中显示的 _ 字符替换为变量 daysUntilExpiration 中存储的值。

  4. 规则 4:如果用户的订阅将在一天后到期,则显示以下消息:

    Your subscription expires within a day!
    Renew now and save 20%!
    
    
  5. 规则 5:如果用户的订阅已过期,则显示以下消息:

    Your subscription has expired.
    
    
  6. 规则 6:如果用户订阅的剩余有效期超过 10 天,则不显示任何消息。

使用 if 语句实现解决方案代码

解决方案必须使用单独的 ifif-else 语句来实现业务规则。 if-else 语句可以包含多个 else if 部分。

  1. 创建一个 if-else 语句,该语句显示有关订阅何时过期的消息。

    小窍门

    使用 else if 确保每个过期规则都已考虑在内。

  2. 创建一个单独的 if 语句来显示折扣套餐。

    业务规则指示何时应提供折扣。

无论是陷入困境而需要查看解决方案,还是顺利完成,都请继续查看这次挑战的解决方案。