Чтение из файла и вывод слов с переносами строк - C#

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

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

Добрый день. Метод читает данные из файла и выводит их на консоль. Можно ли как-то выводить на консоль слова с переносами (не редактируя исходный файл)?
static public void Rules()
{
     StreamReader fstr_in = null;
 
     try
     {
           fstr_in = new StreamReader(
                @"C:\Users\Igor\Documents\Visual Studio 2015\Projects\ConsoleApplication1\rules.txt", Encoding.Default);
     }
     catch (IOException exc)
     {
           Console.WriteLine("Ошибка открытия файла:\n{0}", exc.Message);
     }
 
     try
     {
          while (!fstr_in.EndOfStream)
               Console.WriteLine(fstr_in.ReadLine());
     }
     catch (IOException exc)
     {
           Console.WriteLine("Ошибка ввода - вывода:\n{0}", exc.Message);
     }
     finally
     {
           if (fstr_in != null)
               fstr_in.Close();
     }
}
Файл 1, 2, 3 покер – простая и увлекательная игра. В игре принимают участие 1 или 2 бокса. Причем один игрок может играть как на один, так и на два бокса. Если ведется игра на 2 бокса, то игрок может либо принимать решения на боксах по очереди втемную, либо попросить дилера открыть карты на втором боксе. Все решения на боксах принимаются строго по очереди, не зависимо от того, идет игра втемную или всветлую. Игрок, ставит первоначальную ставку на игровое поле “Ante”. На каждое “Ante” игрока и на свой бокс, дилер раздает по пять карт. Причем последнюю карту на свой бокс дилер кладет всветлую. В зависимости от игровой комбинации игрок может либо сбросить карты в пас (с потерей своей первоначальной ставки), либо поменять 1, 2 или 3 карты за ставку равную одно “Ante”, либо накрыть свои карты (ставкой равной два “Ante”, на позиции игрового поля “Bet”) без обмена. После принятия решения игроком на всех своих боксах, дилер открывает свои карты. Если у дилера “нет игры” то на каждый бокс игрока, дилер выплачивает выигрыш в размере первоначальной ставки игрока (“Ante”) не открывая его карт. Если игровая комбинация дилера старше комбинации игрока, то дилер забирает проигравшие ставки игрока. Если игровая комбинация дилера младше комбинации игрока, то дилер выплачивает выигрыш, согласно таблице выплат.

Решение задачи: «Чтение из файла и вывод слов с переносами строк»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
 
namespace ConsoleApplication1
{
    class Program
    {
        public static void WordWrap(string paragraph)
        {
            paragraph = new Regex(@" {2,}").Replace(paragraph.Trim(), @" ");
            var left = Console.CursorLeft; var top = Console.CursorTop; var lines = new List<string>();
            for (var i = 0; paragraph.Length > 0; i++)
            {
                lines.Add(paragraph.Substring(0, Math.Min(Console.WindowWidth, paragraph.Length)));
                var length = lines[i].LastIndexOf(" ", StringComparison.Ordinal);
                if (length > 0) lines[i] = lines[i].Remove(length);
                paragraph = paragraph.Substring(Math.Min(lines[i].Length + 1, paragraph.Length));
                Console.SetCursorPosition(left, top + i); Console.WriteLine(lines[i]);
            }
        }
        static void Main(string[] args)
        {
            WordWrap("Тестируем разными словами дойдем до конца строки и корректно её перенесём аэтопростослишкомдлинноесловочтобынаверняка все конец");
            Console.ReadLine();
        }
    }
}

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


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

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

6   голосов , оценка 3.5 из 5
Похожие ответы