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