Изменить/дополнить готовый код. Каждый 5-ый символ заменить на символ "№" - C (СИ)
Формулировка задачи:
#include <stdio.h> #include <stdlib.h> #include <string.h> #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { FILE *fileIn, *fileOut; /* Объявл.файлы */ int iCharCount = 0; /* Счетчик=0 */ fileIn = fopen("Input.txt", "rt"); /* Открытие Вх. */ if (fileIn == NULL) { /* Удачно? */ fprintf(stderr, "Cannot open input file.\n"); /* нет- Ошибка */ return 1; /* Возврат */ } fileOut = fopen("Output.txt", "wt"); /* Открытие Вых.*/ if (fileOut == NULL) { /* Удачно? */ fclose(fileIn); /* нет- Закр.Вх.*/ fprintf(stderr, "Cannot open output file.\n"); /* Ошибка */ return 1; /* Возврат */ } while (!feof(fileIn)) { /* Цикл чтения */ char cChar = fgetc(fileIn); /* Чтение символ*/ if(strchr("0123456789",cChar)) iCharCount++; /* Подсчет */ //if(strchr("0123456789",cChar)) cChar = '#'; /* Замена */ fputc(cChar, fileOut); /* Вывод */ } fclose(fileIn); /* Закрытие Вх. */ fclose(fileOut); /* Закрытие Вых.*/ /* Вывод рез. */ fprintf(stdout, "Chislo simvolov \'0-9\' ravno %d\n",iCharCount); // getch(); system("PAUSE"); return 0; }
Решение задачи: «Изменить/дополнить готовый код. Каждый 5-ый символ заменить на символ "№"»
textual
Листинг программы
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char* argv[]) { FILE* fileIn, *fileOut; /* Объявл.файлы */ int iCharCount = 0; /* Счетчик=0 */ fileIn = fopen("Input.txt", "rt"); /* Открытие Вх. */ if (fileIn == NULL) /* Удачно? */ { fprintf(stderr, "Cannot open input file.\n"); /* нет- Ошибка */ return 1; /* Возврат */ } fileOut = fopen("Output.txt", "wt"); /* Открытие Вых.*/ if (fileOut == NULL) /* Удачно? */ { fclose(fileIn); /* нет- Закр.Вх.*/ fprintf(stderr, "Cannot open output file.\n"); /* Ошибка */ return 1; /* Возврат */ } while (!feof(fileIn)) /* Цикл чтения */ { char cChar = fgetc(fileIn); /* Чтение символ*/ if (++iCharCount == 5) { iCharCount = 0; cChar = '№'; } fputc(cChar, fileOut); /* Вывод */ } fclose(fileIn); /* Закрытие Вх. */ fclose(fileOut); /* Закрытие Вых.*/ /* Вывод рез. */ system("PAUSE"); return 0; }
Объяснение кода листинга программы
- Входной файл считывается до конца.
- Для каждого пятого символа входного файла заменяется на символ
№
. - Результат выводится в выходной файл.
- Входной и выходной файлы закрываются.
- Выполняется команда паузы.
- Возвращается код завершения программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д