ユーザーがクラブ会員かどうかを判断し、年齢に基づいて割引額を表示するプログラムを作成しようとしています。プログラムを作成しましたが、解決策が見つからないエラーがいくつか発生しています。このサイトや他のサイトを検索して、何が間違っているのかを見つけようとしましたが、行ったトラブルシューティングはすべて失敗しました。私はプログラマーを学んでいるので、私が見逃しているのは本当に単純なことだと確信しています。問題に関するご意見をいただければ幸いです。現在のコンテキストに年齢が存在しないというエラーが発生する理由はわかっていますが、「年齢」が正しく処理されるように、コードに何が欠けているのかわかりません。
これが私のコードです:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PA05
{
class DiscountApp
{
public static void Main(string[] args)
{
DisplayTitle();
InputMembershipStatus(age);
DetermineDiscount(age);
TerminateProgram();
}
public static void DisplayTitle()
{
Console.WriteLine("Programming Assignment 5 - Determine Discount\n\tProgrammer: ");
Console.WriteLine();
DrawLine();
}
public static void InputMembershipStatus(int age)
{
Console.WriteLine("Are you a Club Member? <Y or N>: ");
string aValue = Console.ReadLine();
if (aValue == "Y" || aValue == "y" || aValue == "Yes" || aValue == "yes")
{
age = InputAge();
}
else if (aValue == "N" || aValue == "n" || aValue == "No" || aValue == "no")
{
Console.WriteLine("Sorry, discounts apply to Club Members only.");
TerminateProgram();
}
}
public static int InputAge()
{
int age;
Console.Write("Please enter the customer's age: ");
age = Convert.ToInt32(Console.ReadLine());
return age;
}
public static double DetermineDiscount(int age)
{
double discountAmount;
if (age <= 10 || age >= 60)
{
discountAmount = .15;
Console.WriteLine("The discount is a {0:P2}", discountAmount);
}
else
{
discountAmount = .1;
Console.WriteLine("The discount is b {0:P2}", discountAmount);
}
return discountAmount;
}
public static void DrawLine()
{
Console.WriteLine("_________________________________________________________");
}
public static void TerminateProgram()
{
DrawLine();
Console.WriteLine("Press any key to terminate the program...");
Console.ReadKey();
}
}
}