В мире программирования и информационных технологий существует множество задач, связанных с обработкой текста и символов. Одной из таких задач является преобразование букв из верхнего регистра в нижний. Эта простая, но важная операция часто используется в различных приложениях, начиная от текстовых редакторов и обработки данных до веб-разработки и автоматизации бизнес-процессов. В данной статье мы рассмотрим программу преобразования букв верхнего регистра в нижний.
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; ?>