Получить в файле g все компоненты файла f являющиеся четными числами - C (СИ)
Формулировка задачи:
помогите пожалуйста!
1. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f являющиеся четными числами.
2. Дан файл f, компоненты которого являются целыми числами. Получить в файле g все компоненты файла f делящиеся на 2 и не делящиеся на 7.
3. Дан символьный файл f. Получить файл g, образованный из файла f заменой всех прописных букв (больших) одноимёнными строчными (малыми) буквами.
Решение задачи: «Получить в файле g все компоненты файла f являющиеся четными числами»
textual
Листинг программы
#include <stdio.h>
#include <conio.h>
#include <io.h>
#include <STRING.H>
#include <STDLIB.H>
void main()
{
FILE *stream;
int integer;
//открываем файлы
if ((f = fopen("f.dat", "rb+")) == NULL || (g = fopen("text.dat", "rb+")) == NULL)
{
fprintf(stderr, "Cannot open output file.\n");
return;
}
//считываем по одному инту пока есть что считывать
while(fread(&integer, sizeof(int), 1, f) != 0)
{ //если он четный
if(integer % 2 = 0)
{ //то пишем его в другой файл
fwrite(integer, sizeof(int), 1, g);
}
}
fclose(f);
fclose(q);
getch();
}
Объяснение кода листинга программы
- Включаем необходимые заголовочные файлы
- Объявляем переменные
stream,integer - Открываем файлы
f.datиtext.datв режиме чтения и записи - Проверяем, что файлы были успешно открыты, иначе выводим сообщение об ошибке и возвращаем управление
- В цикле считываем по одному целочисленному значению из файла
f.dat - Проверяем, является ли число четным, используя оператор
%(остаток от деления) - Если число четное, то записываем его в файл
text.dat - Закрываем файлы
f.datиtext.dat - Ожидаем нажатия клавиши для выхода из программы