9

我对 c# 中的结构有点陌生。

我的问题是:

编写一个控制台应用程序,接收一组学生的以下信息:studentid、studentname、coursename、date-of-birth.. 该应用程序还应该能够显示正在输入的信息.. 使用结构实现它..

我一直到这个-->

struct student
{
    public int s_id;
    public String s_name, c_name, dob;
}
class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("Please enter StudentId, StudentName, CourseName, Date-Of-Birth");
        s_id = Console.ReadLine();
        s_name = Console.ReadLine();
        c_name = Console.ReadLine();
        s_dob = Console.ReadLine();
        student[] arr = new student[4];
    }
}

在此之后请帮助我..

4

2 回答 2

17

您已经开始了 - 现在您只需要填充student数组中的每个结构:

struct student
{
    public int s_id;
    public String s_name, c_name, dob;
}
class Program
{
    static void Main(string[] args)
    {
        student[] arr = new student[4];

        for(int i = 0; i < 4; i++)
        {
            Console.WriteLine("Please enter StudentId, StudentName, CourseName, Date-Of-Birth");


            arr[i].s_id = Int32.Parse(Console.ReadLine());
            arr[i].s_name = Console.ReadLine();
            arr[i].c_name = Console.ReadLine();
            arr[i].s_dob = Console.ReadLine();
       }
    }
}

现在,只需再次迭代并将这些信息写入控制台。我会让你这样做,我会让你尝试制作程序来接收任意数量的学生,而不仅仅是 4 个。

于 2013-09-12T19:26:24.517 回答
0

给定结构的实例,您可以设置值。

    student thisStudent;
    Console.WriteLine("Please enter StudentId, StudentName, CourseName, Date-Of-Birth");
    thisStudent.s_id = int.Parse(Console.ReadLine());
    thisStudent.s_name = Console.ReadLine();
    thisStudent.c_name = Console.ReadLine();
    thisStudent.s_dob = Console.ReadLine();

请注意,这段代码非常脆弱,因为我们根本没有检查用户的输入。而且您并不清楚用户是否希望在单独的行上输入每个数据点。

于 2013-09-12T19:29:01.160 回答