Работа с файлами в С#

Автор: Пользователь скрыл имя, 18 Февраля 2013 в 19:52, лабораторная работа

Описание работы

Написать программу, которая вводит текст, состоящий из нескольких предложений, и выводит его на экран, меняя местами каждые два соседних слова.
1.2. Анализ технического задания
Для данной программы воспользуемся методом Substring, который позволит извлечь из строки подстроку (первый параметр означает, с какого места извлекаем (нумерация с нуля), а второй - сколько символов извлекаем). И методом Remove, который удаляет символы из строки (первый параметр - это с какой позиции удаляем (нумерация с нуля), второй - сколько символов удаляем).

Работа содержит 1 файл

лаба3.docx

— 153.10 Кб (Скачать)

            {

 

                string r = "";

                if (j < s.Length - 1)

                {

                  r = s.Substring(j, 2);

                }

                switch (r)

                {

                    case "жы":

                        s = s.Replace(r, "жи");

                        break;

                    case "шы":

                        s = s.Replace(r, "ши");

                        break;

                    case "чя":

                        s = s.Replace(r, "ча");

                        break;

                    case "щя":

                        s = s.Replace(r, "ща");

                        break;

                    case "чю":

                        s = s.Replace(r, "чу");

                        break;

                    case "щю":

                        s = s.Replace(r, "щу");

                        break;

                }

            }

           string[] newer = s.Split('.');

           for (int i = 0; i < newer.Length; i++)

           {

               textBox2.Text += Convert.ToString(newer[i]) + (char)13 + (char)10;

               string subtext = newer[i];

           }

        }

    }

}

                                                 2.5. Результаты тестирования

При корректно введенных данных в поле textBox1 программа работает верно:

 

Рисунок 2.2 – Результат выполнения тестирования

 

 

 

 

 

 

 

 

3. Работа с регулярными  выражениями. Поиск в тексте  фрагментов по определенному  шаблону

 

3.1. Техническое задание

            Дан текстовый файл. Вывести на  экран все встречающиеся в  данном файле номера сетевых  адаптеров  в формате HH-HH-HH-HH-HH-HH (где H-шестнадцатеричная цифра).

 

3.2. Анализ технического задания

           В  данном приложении будем использовать  класс  Regex, представляющий собственно регулярное выражение. Для описания регулярного выражения в классе воспользуемся перегруженным конструктором Regex(String) — создает заданное выражение. Методом Match класса Regex будем определять, произошло ли совпадение, и возвращать очередной фрагмент, совпавший с образцом. А для продолжения поиска в строке с того места, на котором закончился предыдущий поиск, воспользуемся методом NextMatch класса Match .

 

                                                             3.3. Блок-схема















 

Рисунок 3.1 - Блок-схема процедуры

3.4. Текст программы

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Text.RegularExpressions;

 

namespace Лаба2_3

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void button1_Click(object sender, EventArgs e)

        {

            // Диалог выбора файла

            if (openFileDialog1.ShowDialog() == DialogResult.OK)

            {

                // Открытие выбранного файла

                StreamReader f = new StreamReader(openFileDialog1.FileName);

                String pattern = @"(([0-9ABCDEF]){2}\-){5}([0-9ABCDEF]){2}";

                String s;

                int total = 0;

                Regex r = new Regex(pattern);

                // Чтение выбранного файла по строкам

                while ((s = f.ReadLine()) != null)

                {

                    Match m = r.Match(s);

                    // Поиск регулярного выражения в очередной строке

                    if (m.Success)

                    {

                       total++;

                       m = m.NextMatch();

                       textBox1.Text +=Convert.ToString(s)+(char)13+(char)10;

                    }

                }

                f.Close();

            }

        }

    }

 

 

 

 

 

 

                                               3.7. Результаты тестирования

 

 

 

 

Рисунок 3.2 – Результаты тестирования

 

 

 

 

 

                                               4. Заключение

 

                  В результате выполнения данной лабораторной работы, были освоены методы работы с функциями классов System.String и StringBuilder, с регулярными выражениями (поиск в тексте фрагментов по определенному шаблону) C#. Программы работают корректно в соответствии с требованиями технического задания.

 

 


Информация о работе Работа с файлами в С#