我想制作一个程序,其中用户输入一个数字,在这种情况下是多个项目。 然后将项目数量与数组中的值进行比较,并显示相应的折扣。输入的数字超出数组设置的范围,索引超出范围错误
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或双精度时才显示。