Разбить стек студентов на два стека по полу - 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(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д