Записать в файл женские имена и отдельно мужские - C#
Формулировка задачи:
Составить список женских имен и отдельно имен мужских.Каждому имени присвоит лексему(целое число). Составить программму языке си шарп, которая читает из файла произвольные слова, среди которых приведены и те , что в алфавитах . Программа должна поместить вместе с лексемамив один файл женские имена, а в другой мужские .Все остальные слова, которые не входят в алфавиты , считаются идентификаторамы.Эти слова выводить на экран. Также на экран выводить не опознанные слова... Помогите Ребята
Решение задачи: «Записать в файл женские имена и отдельно мужские»
textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace EnumOfTheNames
{
enum WomansNames
{
Sveta = 1,
Dasha,
Alisa
};
enum MansNames
{
Max = 256,
Kiril,
Caruga
};
class Program
{
private static MansNames mansEnum;
static void Main(string[] args)
{
string[] words = ReadFromFile("input.txt");
List<string> womansNames = new List<string>(),
mansNames = new List<string>(),
other = new List<string>();
foreach(string word in words)
{
if (Enum.GetNames(typeof(MansNames)).Contains(word))
{
mansNames.Add(string.Format("{0}:{1}", word, (int)(MansNames)Enum.Parse(typeof(MansNames), word)));
continue;
}
if (Enum.GetNames(typeof(WomansNames)).Contains(word))
womansNames.Add(string.Format("{0}:{1}", word, (int)(WomansNames)Enum.Parse(typeof(WomansNames), word)));
else
other.Add(word);
}
WriteToFile("mansFile.txt", mansNames);
WriteToFile("womansFile.txt",womansNames);
foreach(var str in other)
Console.WriteLine(str);
Console.ReadLine();
}
private static string[] ReadFromFile(string path)
{
string[] words = null;
using(StreamReader sr = new StreamReader(new FileStream(path, FileMode.Open, FileAccess.Read)))
{
words = sr.ReadToEnd().Split(new string[] {" ","\r\n" },StringSplitOptions.RemoveEmptyEntries);
}
return words;
}
private static void WriteToFile(string path, List<string> data)
{
using(StreamWriter sw = new StreamWriter(new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write)))
{
foreach(string name in data)
{
sw.Write(name + " ");
}
}
}
}
}