Найти сумму положительных элементов действительного файла - C (СИ)
Формулировка задачи:
Нужно выполнить обработку файла: найти сумму положительных элементов действительного файла.
Заранее спасибо.
Решение задачи: «Найти сумму положительных элементов действительного файла»
textual
Листинг программы
#ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include <stdio.h> #include <stdlib.h> int is_positive(double d) { return d >= 0.0; } double file_sum_if(FILE *file, int (*func) (double)) { double d = 0.0; double sum = 0.0; while (!feof(file) && !ferror(file) && fscanf(file, "%lf", &d) == 1) if (func(d)) sum += d; return sum; } int main(void) { FILE *f = fopen("numbers.txt", "r"); printf("Sum: %.3lf\n", file_sum_if(f, is_positive)); fclose(f); #ifdef _MSC_VER system("pause"); #endif return 0; }