Разбить стек студентов на два стека по полу - C#
Формулировка задачи:
Список студентов группы (25 человек) организовать в виде стека. В записях элементов стека предусмотреть пол студента (М или Ж) – формировать случайным образом. Напечатать стек. Преобразовать этот стек в два по полу студентов. Напечатать новые стеки.
C# Console. Заранее спасибо.
Решение задачи: «Разбить стек студентов на два стека по полу»
textual
Листинг программы
using System;
using System.Text;
using System.IO;
using System.Collections.Generic;
//using Word = Microsoft.Office.Interop.Word;
namespace ConsoleApplication1
{
class Program
{
public class Student
{
public string FIO;
public string Sex;
public override string ToString()
{
return "ФИО:" + " "+FIO +" , "+ "Пол:"+" "+ Sex;
}
}
public static Student CreateStudent()
{
Random rand = new Random();
string str1 = "муж";
string str2 = "жен";
Student stud=new Student();
Console.WriteLine("Введите ФИО:");
stud.FIO = Console.ReadLine();
int x = rand.Next(0, 2);
if (x == 1)
{
stud.Sex = "М";
}
else
{
stud.Sex = "Ж";
}
return stud;
}
public static Stack<Student> CreateStack()
{
Stack<Student> stack = new Stack<Student>();
for (int i = 0; i < 25; i++)
{
stack.Push(CreateStudent());
}
return stack;
}
public static Stack<Student> ReturnMale(Stack<Student> stack)
{
Stack<Student> maleStack = new Stack<Student>();
foreach (var i in stack)
{
if (i.Sex == "М")
{
maleStack.Push(i);
}
}
return maleStack;
}
public static Stack<Student> ReturnFeMale(Stack<Student> stack)
{
Stack<Student> feMaleStack = new Stack<Student>();
foreach (var i in stack)
{
if (i.Sex == "Ж")
{
feMaleStack.Push(i);
}
}
return feMaleStack;
}
static void Main(string[] args)
{
Stack<Student> students = new Stack<Student>();
students = CreateStack();
Stack<Student> maleStudents = new Stack<Student>();
maleStudents = ReturnMale(students);
Stack<Student> feMaleStudents = new Stack<Student>();
feMaleStudents = ReturnFeMale(students);
Console.WriteLine("Исходный стек:");
foreach (var i in students)
{
Console.WriteLine(i.ToString());
}
Console.WriteLine();
Console.WriteLine("Мужики:");
foreach (var i in maleStudents)
{
Console.WriteLine(i.ToString());
}
Console.WriteLine();
Console.WriteLine("Женщины: ");
foreach (var i in feMaleStudents)
{
Console.WriteLine(i.ToString());
}
Console.ReadKey();
}
}
}