Автоматически преобразовать неправильный идентификатор в конструкцию, удовлетворяющую правилам - C#

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

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

Товарищи, помогите пожалуйста с задачей Пусть задан текст, представляющий собой N строк (N<=100), при этом могут быть пустые строки, в каждой строке записан неправильный идентификатор. В программе должно быть два режима получения строк: 1). каждая строка генерируется из набора символов: латинские буквы, русские буквы, знаки препинания («:», «;», «,», «.», «?», «!»), цифры, пробелы; 2). строки вводятся с клавиатуры. Напишите программу, которая автоматически преобразует неправильный идентификатор в конструкцию, удовлетворяющую правилам: 1). идентификатор может содержать от 1 до 127 символов; 2). первым символом должна быть буква (или знак нижнего подчёркивания «_»); 3). любой другой символ, начиная со второго может быть либо буквой, либо цифрой, либо знаком подчёркивания. Если исходная строка имеет слишком большую длину, укоротите её до допустимого размера путём отбрасывания избыточных символов; если она пуста, добавьте букву x. Если первый символ не является буквой, то вставьте перед ним букву x. Если в строке присутствуют недопустимые символы, удалите их.

Решение задачи: «Автоматически преобразовать неправильный идентификатор в конструкцию, удовлетворяющую правилам»

textual
Листинг программы
using System;
using System.Text;
 
class Program
{
    static void Main()
    {
        string s;
        while ((s = Console.ReadLine()) != null)
        {
            StringBuilder sb = new StringBuilder();
            if (s[0] > 127 || !(s[0] == '_' || Char.IsLetter(s[0])))
            {
                sb.Append('x');
            }
            foreach (char ch in s)
            {
                if (ch < 128 && (ch == '_' || Char.IsLetterOrDigit(ch)))
                {
                    sb.Append(ch);
                    if (sb.Length == 20) break;
                }
            }
            if (sb.Length == 0) sb.Append('x');
            Console.WriteLine(sb);
        }
    }
}

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


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

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

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