我是C#的初学者,我不知道如何正确使用数组,这是一个问题:
编写一个程序,该程序读取测验的分数,并根据给定的分数等级确定测验的分数。将分数和分数存储在一个数组中,并使用这些数组确定分数。在这里,我尝试进行编码,并且应该用于循环或其他操作?
Console.WriteLine("Write your score : ");
int score = Convert.ToInt32(Console.ReadLine());
int n = 5;
int[] vect = new int[n];
TestResults(vect);
}
private static void TestResults(int [] vect)
{
}
答案 0 :(得分:2)
让我们细分您的问题以尝试解决它。
读取测验分数
简单,您可以使用Console.ReadLine
之类的东西,它可以接受用户输入的测试成绩。
string grade = Console.ReadLine(); // save the user input in a string
确定测试的分数
我假设你的意思是百分比。尝试获取用户输入,将其除以测试总数,然后获取该值应该很好。由于Console.ReadLine
将返回一个字符串,因此需要将string
转换为int
。
int mark;
if (int.TryParse(grade, out _grade))
{
mark = (double percentage = _grade / total_of_test) * 100;
}
将成绩和分数存储在数组中
您可以编写一个名为TestResults
的类,创建2个变量,一个用于成绩,一个用于标记,然后将该类添加到TestResults[]
的数组中。这样您就可以根据自己的喜好直接打分或打分。
public class TestResults
{
int marks;
int grades;
}
我希望这会有所帮助。下次请注意,并发布一些代码,表明您至少尝试解决了该问题。
编辑:在创建数组方面,让我们看一个例子
这是一个数组的例子:
int[] this_int_array = new int[] { 4, 5, 6, 7, 8, 9 }
此代码将自动将数组的长度设为6,因此我们不需要一开始就指定长度。可以通过以下方式访问它:
this_int_array[0] // till 5, since programming starts counting at 0.
在您的情况下,类似这样的方法应该起作用。首先,让我们看一下测试结果类。我们有2个领域,分数和等级。我们可以从实例化字段中直接访问它们(TestResults tr = new TestResults
是实例化的一个实例。定义为new
的任何事物都将被实例化)
public class TestResults
{
int marks;
int grades;
}
然后,为了使其成为数组,请执行以下操作:
TestResult student_A = new TestResult {
marks = 9;
grades = 90; // as an example
}
然后,一旦您有了一个不错的学生列表,我们就可以将他们添加到数组中。
TestResult[] all_results = new TestResults[] {
student_A,
student_B,
student_C
}
我希望这更加清楚。