Нужно ввести слово в консоле а не в листинге - 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);
Объяснение кода листинга программы
- Объявляется массив символов x с размером 100.
- Выводится сообщение
Enter a string:
с помощью функции puts. - Вводится строка с помощью функции fgets, которая считывает строку из стандартного ввода (stdin) и сохраняет ее в массиве x.
- fgets сохраняет в массиве x0 символов из строки, включая символ новой строки (\n), если он присутствует в введенной строке.
- Если введенная строка превышает размер массива x, то оставшиеся символы будут потеряны.
- Если введенная строка короче, чем размер массива x, то оставшиеся символы в массиве x будут заполнены символом '\0'.
- Если введенная строка равна размеру массива x, то последняя строка будет содержать символ '\0'.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д