Лабораторная работа по C#. Удаление символов из строки

Задача: напишите программу на C#,  которая удаляет символ в заданной позиции из заданной строки. Заданная позиция находится в диапазоне 0 до  [длина строки -1] включительно.

Что необходимо знать

Для решения этой лабораторной работы нам потребуются следующие знания основ C#:

  1. общие сведения о строках в C#
  2. методы работы со строками в C#
  3. о логических операторах в C#
  4. о типах данных в C#

Алгоритм решения

Алгоритм работы нашего приложения можно представить следующим образом:

  1. Пользователь вводит строку. Полученное значение присваивается переменной str
  2. Пользователь вводит целое число — позицию символа в строке, который необходимо удалить. Полученное значение присваиваем переменной x
  3. Если переменная x находится в диапазоне от 0 до [длина строки -1], то удаляем символ из str и выводим результат
  4. Если переменная x выходит за пределы диапазона, то выводим пользователю сообщение об ошибке
  5. Конец работы программы

Решение лабораторной работы

using System;

namespace LabRab_7
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку:");//просим пользователя ввести строку
            string str = Console.ReadLine(); //присваиваем введенное значение переменной

            Console.WriteLine("Введите номер удаляемого символа:");//просим пользователя ввести позицию символа
            int x = Convert.ToInt32(Console.ReadLine());//присваиваем введенное значение переменной

            if ((x >= 0) && (x <= str.Length)) //проверяем вхождение x в диапазон
            {
                str = str.Remove(x, 1); //удаляем один символ из строки, находящийся в позиции x
                Console.WriteLine(str); //выводим результат
            }
            else //введено неверное значение
                Console.WriteLine("Ошибка: неверно задана позиция символа в строке");
                
        }
    }
}

Результат работы приложения:

Введите строку:
Привет
Введите номер удаляемого символа:
1
Пивет

или

Введите строку:
Привет
Введите номер удаляемого символа:
11
Ошибка: неверно задана позиция символа в строке

Улучшения

В качестве улучшения мы можем дописать программу так, чтобы работа не прерывалась в случае, если пользователь вводит неверное значение позиции символа, а приложения вновь запрашивало это значение от пользователя.

using System;

namespace LabRab_7
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Введите строку:");//просим пользователя ввести строку
            string str = Console.ReadLine(); //присваиваем введенное значение переменной
            int x;
            do //тело цикла выполнится минимум один раз или будет выполняться до тех пор пока условие не станет false
            {
                Console.WriteLine("Введите номер удаляемого символа:");//просим пользователя ввести позицию символа
                x = Convert.ToInt32(Console.ReadLine());//присваиваем введенное значение переменной
            }
            while ((x < 0) || (x > str.Length));
            str = str.Remove(x, 1); //удаляем один символ из строки, находящийся в позиции x
            Console.WriteLine(str); //выводим результат
        }
    }
}

Пример работы улучшенного приложения

Введите строку:
Привет
Введите номер удаляемого символа:
11
Введите номер удаляемого символа:
56
Введите номер удаляемого символа:
1
Пивет

Итого

Сегодня мы выполнили еще одну лабораторную работу, касающуюся основ C#. Для выполнения работы нам потребовались знания о строках в C#, а для улучшения разработанного приложения — знания о работе циклов в C#.

Подписаться
Уведомить о
guest
1 Комментарий
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии