Проверка правильности буквосочетаний - программа не распознает русские символы - C (СИ)

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

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

В русском языке, как правило, после букв Ж, Ч, Ш, Щ пишется И, А, У, а не Ы, Я, Ю. Проверить заданный текст на исполнение этого правила и исправить ошибки. Текст должен считываться с помощью gets(); и ,желательно, выводится с помощью puts(text); Собственно проблема в том, что программа не заходит даже в первое условие. Пробовал вместо русских букв писать английские и всё работало. <locale.h> с setlocale тоже писал, но в таком случае выводились "иероглифы".
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <conio.h>
  4. #include <string.h>
  5. int main() {
  6. char text[140]={0};
  7. gets(text);
  8. for(int i=0;i<sizeof(text)-1;i++)
  9. {
  10. if((text[i]=='ж') || (text[i]=='Ж') || (text[i]=='ч') || (text[i]=='Ч') || (text[i]=='ш') || (text[i]=='Ш') || (text[i]=='щ') || (text[i]=='Щ'))
  11. {
  12. if(text[i+1]=='ы')
  13. text[i+1]='и';
  14. if(text[i+1]=='я')
  15. text[i+1]='а';
  16. if(text[i+1]=='о')
  17. text[i+1]='у';
  18. }
  19. }
  20. puts(text);
  21. getch();
  22. }

Решение задачи: «Проверка правильности буквосочетаний - программа не распознает русские символы»

textual
Листинг программы
  1. #include <locale.h>
  2.  
  3. int main(int argc, char** argv[])
  4. {
  5. setlocale(LC_ALL, "RUS");
  6.  
  7. }

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

  1. #include Включает заголовочный файл , который содержит определения для работы с локалью.
  2. int main(int argc, char argv[])** Функция main() является точкой входа в программу. Она принимает два аргумента: argc (количество аргументов, переданных программе) и argv (указатель на массив строк, содержащих аргументы).
  3. setlocale(LC_ALL, RUS); Устанавливает локаль на русскую локализацию с помощью функции setlocale(). Параметр LC_ALL указывает, что мы хотим изменить все аспекты локали (например, формат чисел, даты, времени и т.д.). RUS - это код локали для русского языка. В данном коде ничего больше не происходит.

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


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

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

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы