Нужно ввести слово в консоле а не в листинге - C (СИ)

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

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

вот программа, и надо чтобы не в листинге писать слово, а консоле. Помогите не могу разобраться
#include <stdio.h>
#include <conio.h>
#include "string.h"
 
void Transliterate(char* str, char* newStr)
{
        for (; *str != 0; str++)
        {
                switch (str[0])
                {
                case 'а': strcat(&newStr[0], "a"); break;
                case 'б': strcat(&newStr[0], "b"); break;
                case 'в': strcat(&newStr[0], "v"); break;
                case 'г': strcat(&newStr[0], "g"); break;
                case 'д': strcat(&newStr[0], "d"); break;
                case 'е': strcat(&newStr[0], "e"); break;
                case 'ё': strcat(&newStr[0], "ye"); break;
                case 'ж': strcat(&newStr[0], "zh"); break;
                case 'з': strcat(&newStr[0], "z"); break;
                case 'и': strcat(&newStr[0], "i"); break;
                case 'й': strcat(&newStr[0], "y"); break;
                case 'к': strcat(&newStr[0], "k"); break;
                case 'л': strcat(&newStr[0], "l"); break;
                case 'м': strcat(&newStr[0], "m"); break;
                case 'н': strcat(&newStr[0], "n"); break;
                case 'о': strcat(&newStr[0], "o"); break;
                case 'п': strcat(&newStr[0], "p"); break;
                case 'р': strcat(&newStr[0], "r"); break;
                case 'с': strcat(&newStr[0], "s"); break;
                case 'т': strcat(&newStr[0], "t"); break;
                case 'у': strcat(&newStr[0], "u"); break;
                case 'ф': strcat(&newStr[0], "f"); break;
                case 'х': strcat(&newStr[0], "ch"); break;
                case 'ц': strcat(&newStr[0], "z"); break;
                case 'ч': strcat(&newStr[0], "ch"); break;
                case 'ш': strcat(&newStr[0], "sh"); break;
                case 'щ': strcat(&newStr[0], "ch"); break;
                case 'ъ': strcat(&newStr[0], "''"); break;
                case 'ы': strcat(&newStr[0], "y"); break;
                case 'ь': strcat(&newStr[0], "''"); break;
                case 'э': strcat(&newStr[0], "e"); break;
                case 'ю': strcat(&newStr[0], "yu"); break;
                case 'я': strcat(&newStr[0], "ya"); break;
                case 'А': strcat(&newStr[0], "A"); break;
                case 'Б': strcat(&newStr[0], "B"); break;
                case 'В': strcat(&newStr[0], "V"); break;
                case 'Г': strcat(&newStr[0], "G"); break;
                case 'Д': strcat(&newStr[0], "D"); break;
                case 'Е': strcat(&newStr[0], "E"); break;
                case 'Ё': strcat(&newStr[0], "Ye"); break;
                case 'Ж': strcat(&newStr[0], "Zh"); break;
                case 'З': strcat(&newStr[0], "Z"); break;
                case 'И': strcat(&newStr[0], "I"); break;
                case 'Й': strcat(&newStr[0], "Y"); break;
                case 'К': strcat(&newStr[0], "K"); break;
                case 'Л': strcat(&newStr[0], "L"); break;
                case 'М': strcat(&newStr[0], "M"); break;
                case 'Н': strcat(&newStr[0], "N"); break;
                case 'О': strcat(&newStr[0], "O"); break;
                case 'П': strcat(&newStr[0], "P"); break;
                case 'Р': strcat(&newStr[0], "R"); break;
                case 'С': strcat(&newStr[0], "S"); break;
                case 'Т': strcat(&newStr[0], "T"); break;
                case 'У': strcat(&newStr[0], "U"); break;
                case 'Ф': strcat(&newStr[0], "F"); break;
                case 'Х': strcat(&newStr[0], "Ch"); break;
                case 'Ц': strcat(&newStr[0], "Z"); break;
                case 'Ч': strcat(&newStr[0], "Ch"); break;
                case 'Ш': strcat(&newStr[0], "Sh"); break;
                case 'Щ': strcat(&newStr[0], "Ch"); break;
                case 'Ъ': strcat(&newStr[0], "''"); break;
                case 'Ы': strcat(&newStr[0], "Y"); break;
                case 'Ь': strcat(&newStr[0], "''"); break;
                case 'Э': strcat(&newStr[0], "E"); break;
                case 'Ю': strcat(&newStr[0], "Yu"); break;
                case 'Я': strcat(&newStr[0], "Ya"); break;
                default: { char Temp[2] = { str[0], 0} ; strcat(&newStr[0], &Temp[0]); }
                }
        }
}
 
int main()
 
{
 
       [B][COLOR="Red"] char* x = "Привет мир!";[/COLOR][/B]  - 
        char y[100] = {0};
        Transliterate(x, &y[0]);
        printf("%s\n", y);
return 0;\
 
}

Решение задачи: «Нужно ввести слово в консоле а не в листинге»

textual
Листинг программы
char x[100];
puts("Enter a string:");
fgets(x, 100, stdin);

Объяснение кода листинга программы

  1. Объявляется массив символов x с размером 100.
  2. Выводится сообщение Enter a string: с помощью функции puts.
  3. Вводится строка с помощью функции fgets, которая считывает строку из стандартного ввода (stdin) и сохраняет ее в массиве x.
  4. fgets сохраняет в массиве x0 символов из строки, включая символ новой строки (\n), если он присутствует в введенной строке.
  5. Если введенная строка превышает размер массива x, то оставшиеся символы будут потеряны.
  6. Если введенная строка короче, чем размер массива x, то оставшиеся символы в массиве x будут заполнены символом '\0'.
  7. Если введенная строка равна размеру массива x, то последняя строка будет содержать символ '\0'.

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


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

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

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