Считывание чисел из текстового файла и вычисление их суммы на языке Си

С помощью блокнота создать файл в котором в столбик записаны 10 чисел, написать и отладить программу, считывающую числа из файла и считающую сумму этих чисел

Код нужен именно на Си

Что делать пробовали, что получилось, какие вопросы возникли?

Не имею представления как написать данную программу, нужен код

А как вы оказались в такой ситуации, что нет представления, но кто-то уже дал вам эту задачу? :smiley:

Это ж учебная задача предназначенная для практики при изучении. Просить кого-то тупо сделать ее за вас — не эффективный способ обучения, даже если повезет и найдется кто-то готовый сделать это за вас бесплатно по каким-то своим причинам (например, чтоб самому попрактиковаться… но для этого и так полно задач в учебниках и интернете).

Пробуйте что-то сделать, гуглить, читать соотв. разделы учебника/материалов лекций (например https://metanit.com/cpp/c/7.4.php и https://metanit.com/cpp/c/7.5.php), формулируйте конкретные вопросы (а во время формулирования может и решение найдется :rubberduck2:).

Так и хотел…
Но вышло что нагуглил :clkolbiggrin:
Так что повезло сильно :slight_smile:

// Code c14
#include <stdlib.h>
//Листинг. Создание файла и суммирование чисел
#include <fstream>
#include <iostream> 
#include <ctime>
using namespace std;
int main()
{    srand((unsigned)time(NULL));   // генератор случайных чисел
    ofstream in;   // выходной поток в файл
    in.open("input.txt");   // открываем файл
    if (in.is_open())   // проверка открытия
    { for(int i = 0; i < 10; i++)   // выводим 10 случайных чисел в файл
        in << rand()%10 << '\n';
      in.close();   // закрываем выходной поток-файл
      // суммирование чисел записанных в файле 
      ifstream in("input.txt");   // открываем тот же текстовый файл для чтения
      if (in)   // проверка открытия    
      { int number, sum = 0, count = 0;
        while(in >> number)   // ввод числа
        { ++count;   // подсчет количества
          sum+=number;   // суммирование
        }
        cout << sum << "; " << count;    // вывод (сумма; количество слогаемых
        in.close();    // закрываем поток-файл
      }
    }
    return EXIT_SUCCESS;
}

Здесь: источник инфы

P. S.
Как обозначить что код на плюсах?

1 лайк

5 сообщений были перенесены в новую тему: Как обозначить что код на плюсах?

Это скорее C++14 )
Впрочем от 14 тут ничего не видно, да и от 11 тоже, наверняка скомпилируется и в древних компиляторах С++.

Но автор хотел

так что не повезло.

Если конечно он не имел в виду “именно на Си (Плюс Плюс), а не на всяких Джавах, Си Шарпах и Питонах” :upside_down_face:

На счет более ранних не тестил, но скорее всего соберется и на них. Тестил на 14, так и указал.

P. S.

При желании перевести на Си не составит большого труда: Язык Си / Работа с файлами

P. P. S.
Протестил на GCC:
С++11 - ОК;
С99, С90 - ругается на stdlib

хм, точно на него?) Скорее на всякие fstream ругаться должен, их нет в С. А stdlib как раз из С.

Ты прав, не то смотрел.
Ругается на пространства namespace std и ofstream, ifstream