class student_details { public int studId {get;组; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string UGender { get; set; }
public int UAge { get; set; }
}
课程计划 {
static void Main(string[] args)
{
string studYear = "";
int Id = 0;
//InputDetails
#region
Input:
Console.WriteLine("\nStudent Year Identifier\n\n");
Console.WriteLine("Enter FirstName: ");
string Fname = Console.ReadLine();
Console.WriteLine("Enter LastName: ");
string Lname = Console.ReadLine();
Console.WriteLine("Enter Gender: ");
string Gender = Console.ReadLine();
Console.WriteLine("Enter Age: ");
int Age = Convert.ToInt16(Console.ReadLine());
if (Age < 14)
{
studYear = "N/A";
}
else if (Age <= 15)
{
studYear = "FirstYear";
}
else if (Age <= 17)
{
studYear = "SecondYear";
}
else if (Age <= 19)
{
studYear = "ThirdYear";
}
else if (Age >= 20)
{
studYear = "ForthYear";
}
#endregion
//List
#region
List<Model.student_details> listOfstudentDetails = new List<Model.student_details>();
#endregion
//Looping
#region
Console.WriteLine("Add more student details (Yes or No)?");
string answer = Console.ReadLine();
if (answer == "Yes" || answer == "YES" || answer == "yes" || answer == "y" || answer == "Y")
{
Console.Clear();
listOfstudentDetails.Add(new Model.student_details { studId = Id++, FirstName = Fname, LastName = Lname, UGender = Gender, Uage = Age });
goto Input;
}
else if (answer == "No" || answer == "NO" || answer == "no" || answer == "n" || answer == "N")
{
Console.Clear();
listOfstudentDetails.Add(new Model.student_details { studId = Id++, FirstName = Fname, LastName = Lname, UGender = Gender, Uage = Age });
//var filterName = listOfstudentDetails;
foreach (var item in listOfstudentDetails)
{
Console.WriteLine("Student Id = " + item.studId + ": Firstname is " + item.FirstName + " Lastname is " + item.LastName + " and Gender is " + item.UGender+ " and Age is equal to " + item.Uage + " and his age is applicable for " + studYear);
}
Console.ReadKey();
}
#endregion
}
//运行应用程序后,程序会要求输入学生详细信息。输入学生详细信息没有限制。创建详细信息后,程序将始终询问用户是否“添加更多学生详细信息(是或否)?”如果用户输入“是”,程序将要求再次输入以下问题。如果“否”,程序将执行学生列表,并在字符串末尾添加注释,如下面的给定示例所示。
输出: 学生详细信息列表:
学生身份= 1:他的名字是johnny,他的姓氏是bravo。年龄等于20岁,他的年龄适用于第三年。
学生身份= 2:他的名字是史密斯,他的姓氏是巴拉克年龄等于19岁,他的年龄适用于第三年。
学生身份= 3:她的名字是珍妮,她的姓氏是斯威夫特。年龄等于14岁,她的年龄适用于第一年
答案 0 :(得分:1)
每次循环时,您都会使用新列表覆盖列表。
尝试在Input
标签上方定义您的列表。
答案 1 :(得分:1)
您在每个输入周期后覆盖您的列表。这样,你的名单中只有一名学生。
将声明和列表初始化移动到方法的顶部:
static void Main(string[] args)
{
string studYear = "";
int Id = 0;
List<Model.student_details> listOfstudentDetails = new List<Model.student_details>();
}
在范围的开头声明和初始化变量通常是一种很好的做法。
此外,您不应该使用goto
来重复输入周期。您应该使用while
或do-while
循环。
//initialize your variables
...
do
{
//input students
...
} while (answerWasYes);
//list students
...
您的goto结构是该问题的主要原因,因为它使程序流程更难以遵循。