我想制作一个程序,其中用户输入一个数字,在这种情况下是多个项目。然后将项目数与数组中的值进行比较,并显示相应的折扣。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication11
{
class Program
{
const int SIZE = 4;
static void Main(string[] args)
{
int itemsbought = 0;
int discountItem = 0;
int[] items = new int[SIZE] { 0, 10, 26, 61 };
int[] discount = new int[SIZE] { 0, 5, 10,15 };
InputItems(ref itemsbought);
getDiscount(items, discount, ref itemsbought, ref discountItem);
Console.WriteLine("Your discount is {0}", discountItem);
}
private static void getDiscount(int[] items, int[] discount, ref int itemsbought, ref int discountItem)
{
int idx = 0;
for (idx = 0; itemsbought > items[idx] || idx > items.Length; idx++)
{
discountItem = discount[idx];
}
}
private static void InputItems(ref int itemsbought)
{
Console.WriteLine("Enter the amount of items you bought");
while (!int.TryParse(Console.ReadLine(), out itemsbought))
if (itemsbought < 0)
{
Console.WriteLine("Error, whole numbers over 0 only");
}
Console.WriteLine("Error, whole numbers over 0 only");
}
}
}
当输入超过 61 的数字时,我得到“索引超出范围”错误。我怎样才能使如果输入超过 61 的数字,它显示 15?另外我该怎么做才能使这个边界包括 61 及以上而不是 61 给出 10 的输出?
此外,每次我输入内容时,它都会显示错误消息,仅当数字小于 0 或双倍时才会显示。