Программа преобразования букв верхнего регистра в нижний

В мире программирования и информационных технологий существует множество задач, связанных с обработкой текста и символов. Одной из таких задач является преобразование букв из верхнего регистра в нижний. Эта простая, но важная операция часто используется в различных приложениях, начиная от текстовых редакторов и обработки данных до веб-разработки и автоматизации бизнес-процессов. В данной статье мы рассмотрим программу преобразования букв верхнего регистра в нижний.

C++

Программа на C++, которая считывает клавиатурный ввод до символа «@» и повторяет его, преобразуя регистр букв и удаляя десятичные цифры:

#include <iostream>

int main() {
    char ch;
    std::cout << "Введите текст (для завершения введите @): ";
    
    while (std::cin.get(ch) && ch != '@') {
        if (isdigit(ch)) {
            continue; // Пропустить десятичные цифры
        } else if (islower(ch)) {
            std::cout.put(toupper(ch));
        } else if (isupper(ch)) {
            std::cout.put(tolower(ch));
        } else {
            std::cout.put(ch);
        }
    }
    
    return 0;
}

Эта программа считывает символы с клавиатуры до тех пор, пока не будет введен символ «@». Внутри цикла программа проверяет каждый символ:

Если символ — десятичная цифра, программа его пропускает.
Если символ — буква в нижнем регистре, программа выводит ее в верхнем регистре.
Если символ — буква в верхнем регистре, программа выводит ее в нижнем регистре.
В остальных случаях символ просто выводится как есть.

Таким образом, программа повторяет ввод с учетом преобразования регистра и удаления десятичных цифр.

C#

using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Введите текст (для завершения введите @):");

        char input;
        string output = "";

        while ((input = Console.ReadKey().KeyChar) != '@')
        {
            if (char.IsDigit(input))
            {
                continue; // Пропустить десятичные цифры
            }
            else if (char.IsLower(input))
            {
                output += char.ToUpper(input);
            }
            else if (char.IsUpper(input))
            {
                output += char.ToLower(input);
            }
            else
            {
                output += input;
            }
        }

        Console.WriteLine();
        Console.WriteLine("Результат: " + output);
    }
}

Python

text = input("Введите текст (для завершения введите @): ")
result = ""

for char in text:
    if char == '@':
        break
    if char.isdecimal():
        continue
    if char.islower():
        result += char.upper()
    elif char.isupper():
        result += char.lower()
    else:
        result += char

print("Результат:", result)

Java

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Введите текст (для завершения введите @): ");

        String input = scanner.nextLine();
        String result = "";

        for (int i = 0; i < input.length(); i++) {
            char ch = input.charAt(i);
            if (ch == '@') {
                break;
            }
            if (Character.isDigit(ch)) {
                continue;
            }
            if (Character.isLowerCase(ch)) {
                result += Character.toUpperCase(ch);
            } else if (Character.isUpperCase(ch)) {
                result += Character.toLowerCase(ch);
            } else {
                result += ch;
            }
        }

        System.out.println("Результат: " + result);
    }
}

Pascal

program TextTransformer;
var
  ch: Char;
  input: string;
  i: Integer;
begin
  input := '';
  Write('Введите текст (для завершения введите @): ');

  repeat
    Read(ch);
    if ch = '@' then
      Break;

    if not (ch in ['0'..'9']) then
    begin
      if (ch >= 'a') and (ch <= 'z') then
        input := input + Chr(Ord(ch) - Ord('a') + Ord('A'))
      else if (ch >= 'A') and (ch <= 'Z') then
        input := input + Chr(Ord(ch) - Ord('A') + Ord('a'))
      else
        input := input + ch;
    end;
  until False;

  Writeln('Результат: ', input);
end.

JavaScript

const readline = require('readline');

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

rl.question('Введите текст (для завершения введите @): ', (input) => {
  let result = '';

  for (let i = 0; i < input.length; i++) {
    const char = input[i];

    if (char === '@') {
      break;
    }

    if (!/[0-9]/.test(char)) {
      if (char === char.toUpperCase()) {
        result += char.toLowerCase();
      } else if (char === char.toLowerCase()) {
        result += char.toUpperCase();
      } else {
        result += char;
      }
    }
  }

  console.log('Результат: ' + result);
  rl.close();
});

PHP

<?php
$input = readline("Введите текст (для завершения введите @): ");
$result = '';

for ($i = 0; $i < strlen($input); $i++) {
    $char = $input[$i];

    if ($char === '@') {
        break;
    }

    if (!is_numeric($char)) {
        if (ctype_lower($char)) {
            $result .= strtoupper($char);
        } elseif (ctype_upper($char)) {
            $result .= strtolower($char);
        } else {
            $result .= $char;
        }
    }
}

echo "Результат: " . $result . PHP_EOL;
?>
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
Давайте поможем друг другу! Если вы нашли ошибку или хотите предложить лучшее решение, пожалуйста, напишите об этом в комментариях.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *