Заменить строчные буквы прописными и наоборот - C (СИ)

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

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

Написать программу на языке "C" codegear, которая в указанном текстовом файле, заменяет все строчные буквы прописными и наоборот.

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

textual
Листинг программы
# include <stdio.h>
 
char fl[] = "input.txt";
 
int main(int argc, char *argv[])
{
  FILE *fp = fopen(fl, "r+");
  if (fp == NULL)
    {
      fprintf(stderr, "Невозможно открыть файл\n");
      return 0;
    }
  char c;
  while ((c = fgetc(fp)) != EOF)
    {
      if (c >= 'a' && c <= 'z')
    putchar(c - 'a' + 'A');
      else if (c >= 'A' && c <= 'Z')
    putchar(c - 'A' + 'a');
      else
    putchar(c);
    }
  return 0;
}

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

  1. Включаем библиотеку stdio.h, которая содержит функции для ввода и вывода данных.
  2. Определяем переменную fl типа char и присваиваем ей значение input.txt. Эта переменная будет использоваться для открытия файла.
  3. Определяем функцию main() для точки входа в программу.
  4. Открываем файл, используя функцию fopen() и передавая ей путь к файлу в виде строки и режим чтения/записи r+. Если файл не может быть открыт, программа выводит сообщение об ошибке и завершает свое выполнение.
  5. Инициализируем указатель fp для работы с файлом.
  6. Проходим по всем символам файла, используя цикл while и функцию fgetc(). Полученный символ сохраняется в переменной c.
  7. Проверяем условие: если символ является строчной буквой (c >= 'a' && c <= 'z'), то программа выводит его в верхний регистр (c - 'a' + 'A').
  8. Проверяем условие: если символ является прописной буквой (c >= 'A' && c <= 'Z'), то программа выводит его в нижний регистр (c - 'A' + 'a').
  9. Если символ не является буквой, то выводим его без изменений.
  10. Завершаем программу.

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


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

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

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