Поиск года в файле - C#

Узнай цену своей работы

Формулировка задачи:

В текстовом файле, в каждой строке хранятся данные: ФИО автора, название, год издания, количество страниц. Как организовать поиск выводящий информацию о книгах, выпущенных после указанного года? Вот что имеем:
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.IO;
  7. using System.Text.RegularExpressions;
  8. namespace ConsoleApplication7
  9. {
  10. class Program
  11. {
  12. static void Main(string[] args)
  13. {
  14. string stroka;
  15. Console.WriteLine("Введите год:");
  16. string year = Console.ReadLine();
  17. FileStream aFile = new FileStream("Рез.txt", FileMode.OpenOrCreate);
  18. StreamReader op = new StreamReader("Библ.txt", Encoding.Default);
  19. Regex regex = new Regex(year, RegexOptions.IgnoreCase);
  20. StreamWriter sw = new StreamWriter(aFile);
  21. stroka = op.ReadLine();
  22. Console.WriteLine("Результат поиска:");
  23. while (stroka != null)
  24. {
  25. string[] Mass = stroka.Split(';');
  26. string text = Mass[0];
  27. if (regex.IsMatch(text))
  28. {
  29. for (int i = 0; i < Mass.Length; i++)
  30. {
  31. Console.Write(Mass[i] + "\t");
  32. sw.Write(Mass[i] + ";");
  33. }
  34. sw.WriteLine();
  35. Console.WriteLine();
  36. }
  37. stroka = op.ReadLine();
  38. }
  39. sw.Close();
  40. Console.ReadKey();
  41. }
  42. }
  43. }

Решение задачи: «Поиск года в файле»

textual
Листинг программы
  1.    static void Main(string[] args)
  2.         {
  3.             string stroka;
  4.             Console.WriteLine("Введите год:");
  5.             string year = Console.ReadLine();
  6.             FileStream aFile = new FileStream("Рез.txt", FileMode.OpenOrCreate);
  7.             StreamReader op = new StreamReader("Библ.txt", Encoding.Default);
  8.             StreamWriter sw = new StreamWriter(aFile);
  9.             stroka = op.ReadToEnd();
  10.             Console.WriteLine("Результат поиска:");
  11.             if (stroka != null)
  12.             {
  13.                
  14.  
  15.                 string[] Mass = stroka.Split(new Char[] {'\n'});
  16.                 foreach(string mas in Mass)
  17.                 {
  18.                     Match m;
  19.                     string pat = @"\w*;";
  20.                     string pat1 = @"\d*";
  21.                     m = Regex.Match(mas, pat );
  22.                     string  mas1=mas.Replace(Convert.ToString(m), "");
  23.                     m = Regex.Match(mas1, pat1);
  24.                     string ch = Convert.ToString(m).Replace("{}", "");
  25.                     if(Convert.ToInt32(ch)>Convert.ToInt32(year))
  26.                     {
  27.                         Console.WriteLine(mas);
  28.                         sw.WriteLine(mas);
  29.                     }
  30.                 }
  31.  
  32.                
  33.             }
  34.  
  35.             else { Console.WriteLine("Error"); }
  36.             //stroka = op.ReadLine();
  37.  
  38.             sw.Close();
  39.             Console.ReadKey();
  40.         }
  41.     }
  42. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.778 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут