Дан файл, содержащий информацию о сотрудниках - C#
Формулировка задачи:
Решить задачу с использованием класса Queue: Дан файл, содержащий информацию о сотрудниках фирмы: фамилия, имя, отчество, пол, возраст, размер зарплаты. За один просмотр файла напечатать элементы файла в следующем порядке: сначала все данные о мужчинах, потом все данные о женщинах, сохраняя исходный порядок в каждой группе сотрудников.
Решение задачи: «Дан файл, содержащий информацию о сотрудниках»
textual
Листинг программы
using System;
using System.Collections.Generic;
namespace Сотрудники
{
class Program
{
static void Main(string[] args)
{
//фамилия, имя, отчество, пол, возраст, размер зарплаты
string line;
Queue<Member> all = new Queue<Member>();
System.IO.StreamReader file = new System.IO.StreamReader(@"c:\members.txt");
while ((line = file.ReadLine()) != null)
{
Member m = new Member();
string[] t = line.Split(',');
m.surname = t[0];
m.name = t[1];
m.patronymic = t[2];
m.sex = t[3];
m.age = t[4];
m.salary = t[5];
all.Enqueue(m);
}
Console.WriteLine("мужчины\n");
foreach (Member member in all)
if (member.sex.Trim() == "муж")
Console.WriteLine(member);
Console.WriteLine("\nженщины\n");
foreach (Member member in all)
if (member.sex.Trim() == "жен")
Console.WriteLine(member);
Console.ReadKey();
}
}
struct Member
{
public string surname { get; set; }
public string name { get; set; }
public string patronymic { get; set; }
public string sex { get; set; }
public string age { get; set; }
public string salary { get; set; }
public override string ToString()
{
return string.Format("{0}\t{1}\t{2}\t{3}\t{4}\t{5}",
surname,
name,
patronymic,
sex,
age,
salary);
}
}
}