解決しました。ご意見をお寄せいただき、誠にありがとうございました。ここの素晴らしいコミュニティ。
プログラムの一部で顧客の駐車料金を計算する必要がある割り当てがあります。
料金は1時間と1/2時間の増分に基づいています。
時間と分の数を決定します。分1から30は、時給の1/2で課金されます。31から59までの分は1時間課金されます。
時間料金は1時間あたり$2.00です。駐車の最大時間制限はありません。
私はこれを適切にコーディングする方法に固執しています。ifステートメントを使用していると思いますが、これは問題ではありません。しかし、最大時間制限がないので、これがどのように適切にコーディングされるのか、または少なくともそれを開始する方法がわかりません。
これはこれまでの私のプロジェクト全体のコードです。プログラムのこの部分に取り組み始める方法がわかりません。
public Waterpark()
{
InitializeComponent();
}
private void individualButton_Click(object sender, EventArgs e)
{
if (groupNameTextBox.Text.Trim() != string.Empty)
{
try
{
groupAmount = int.Parse(groupNameTextBox.Text);
try
{
parkingMinutes = int.Parse(parkedTextBox.Text);
IndividualTotals();
}
catch
{
MessageBox.Show("Must be an integer.", "INPUT ERROR");
parkedTextBox.Focus();
parkedTextBox.SelectAll();
}
}
catch
{
MessageBox.Show("Must be an integer.", "INPUT ERROR");
peopleTextBox.Focus();
peopleTextBox.SelectAll();
}
}
else
{
MessageBox.Show("Must be a valid group name.", "INPUT ERROR");
groupNameTextBox.Focus();
groupNameTextBox.SelectAll();
}
}
private void eventOneCheckBox_CheckedChanged(object sender, EventArgs e)
{
eventInt += 1;
eventInt -= 1;
}
private void eventTwoCheckBox_CheckedChanged(object sender, EventArgs e)
{
eventInt += 1;
eventInt -= 1;
}
private void eventThreeCheckBox_CheckedChanged(object sender, EventArgs e)
{
eventInt += 1;
eventInt -= 1;
}
private void eventFourCheckBox_CheckedChanged(object sender, EventArgs e)
{
eventInt += 1;
eventInt -= 1;
}
private void eventFiveCheckBox_CheckedChanged(object sender, EventArgs e)
{
eventInt += 1;
eventInt -= 1;
}
private void IndividualTotals()
{
extraInt = eventInt - 1;
switch(extraInt)
{
case 1:
extraFee = 3.00;
break;
case 2:
extraFee = 5.00;
break;
case 3:
extraFee = 6.00;
break;
case 4:
extraFee = 7.00;
break;
default:
extraFee = 00.00;
break;
int hoursParked = minutesParked / 60;
int minutesRemainder = hoursParked % 60;
double hoursCost = hoursParked * 2;
if (minutesRemainder <= 30)
{
minutesCost = 1;
}
else
{
minutesCost = 2;
}
parkingFee = hoursCost + minutesCost;
}
}