您好我写了一个代码,该代码应该显示每个人的姓名,然后能够选择我选择的人,然后显示他们的等级,让我能够改变它。我得到它显示他们的等级,但我不知道如何改变那个人的等级值,而是它改变每个人的等级,并显示它如何更改它?那么它只显示那个人的变化?并添加我想要的任何值?如何在人名旁边显示更改后的值?如果你能帮助我,我会非常感谢你。
static void Main(string[] args)
{
int selection;
do
{
String[] A = { "Tim", "Jhon", "Sam", "Derp"};
int[] B = { 90, 89, 60, 40 };
DisplayMenu();
Console.Write("Enter you selection: ");
int.TryParse(Console.ReadLine(),out selection);
switch (selection)
{
case 1:
Console.WriteLine(
"{0} ", B[0]);
AddToGrade(B);
break;
case 2:
Console.WriteLine(
"{0} ", B[1]);
AddToGrade(B);
break;
case 3:
Console.WriteLine(
"{0} ", B[2]);
AddToGrade(B);
break;
default:
Console.WriteLine(
"{0} ", B[3]);
AddToGrade(B);
break;
}
Console.ReadKey();
} while (selection != 4);
}
static void DisplayMenu()
{
Console.Clear();
Console.WriteLine("Select a student 1-4");
Console.WriteLine("1. Time");
Console.WriteLine("2. Jhon");
Console.WriteLine("3. Sam");
Console.WriteLine("4. Derp");
}
static void AddToGrade(int[] array)
{
Console.WriteLine("Input New Value: ");
int newValue = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i < array.Length; i++)
{
array[i] += newValue;
Console.Write("New Grade: {0}", array[i]);
}
}
答案 0 :(得分:0)
AddToGrade
应接受代表要更改成绩的index
。
static void AddToGrade(int[] array ,int index)
{
Console.WriteLine("Input New Value: ");
int newValue = Convert.ToInt32(Console.ReadLine());
array[index] += newValue;
Console.Write("New Grade: {0}", array[index]);
}
切换后(在Console.ReadKey();
之前)只需调用:
AddToGrade(B, selection - 1);
此外,您应该使用更多功能来使您的代码健壮和优雅, 例如(这个例子也会让你将格式保存在一个地方)
static void DisplayNameGrade(int index, String[] A, int[] B)
{
Console.WriteLine("Name: {0}, Grade: {1}", A[index], B[index])
}
通常,您应该学习Object Oriented Programming的基本概念,并使用类,成员和函数设计代码。