练习

提高订阅的续订率

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

一开始将以下代码复制到 .NET 编辑器

Random random = new Random();
int daysUntilExpiration = random.Next(12);
int discountPercentage = 0;

// Your code goes here
重要

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

使用两个 if 语句来实现以下业务规则(在第一个 if 语句中分支或嵌套三个)

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

Your subscription will expire soon. Renew now!

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

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

请务必使用 x 替代变量 daysUntilExpiration 中存储的值。

规则 3。如果用户的订阅将在 1 天后到期,则显示以下消息:

Your subscription expires within a day!
Renew now and save 20%!

规则 4。如果用户的订阅已过期,则显示以下消息:

Your subscription has expired.

规则 5。如果用户订阅的剩余有效期超过 10 天,则不显示任何消息。

代码

Random random = new Random();
int daysUntilExpiration = random.Next(12);
int discountPercentage = 0;

if (daysUntilExpiration <= 0){
    Console.WriteLine($@"daysUntilExpiration: {daysUntilExpiration}. Your subscription has expired.");
} else if(daysUntilExpiration == 1){
    discountPercentage = 20;
    Console.WriteLine($@"daysUntilExpiration: {daysUntilExpiration}. Your subscription expires within a day!
    Renew now and save {discountPercentage}%!");
} else if(daysUntilExpiration <= 5){
    discountPercentage = 10;
    Console.WriteLine($@"daysUntilExpiration: {daysUntilExpiration}. Your subscription expires in {daysUntilExpiration} days.
    Renew now and save {discountPercentage}%!");
}else if( daysUntilExpiration <= 10) {
    Console.WriteLine($@"daysUntilExpiration: {daysUntilExpiration}. Your subscription will expire soon. Renew now!");
}else {
    Console.WriteLine($@"daysUntilExpiration: {daysUntilExpiration}.");
}

// daysUntilExpiration: 8. Your subscription will expire soon. Renew now!

// daysUntilExpiration: 6. Your subscription will expire soon. Renew now!

// daysUntilExpiration: 1. Your subscription expires within a day!
// Renew now and save 20%!

// daysUntilExpiration: 0. Your subscription has expired.

// daysUntilExpiration: 5. Your subscription expires in 5 days.
// Renew now and save 10%!

// daysUntilExpiration: 7. Your subscription will expire soon. Renew now!

答案

Random random = new Random();
int daysUntilExpiration = random.Next(12);
int discountPercentage = 0;

if (daysUntilExpiration == 0)
{
    Console.WriteLine("Your subscription has expired.");
}
else if (daysUntilExpiration == 1)
{
    Console.WriteLine("Your subscription expires within a day!");
    discountPercentage = 20;
}
else if (daysUntilExpiration <= 5)
{
    Console.WriteLine($"Your subscription expires in {daysUntilExpiration} days.");
    discountPercentage = 10;
}
else if (daysUntilExpiration <= 10)
{
    Console.WriteLine("Your subscription will expire soon. Renew now!");
}

if (discountPercentage > 0)
{
    Console.WriteLine($"Renew now and save {discountPercentage}%.");
}