2015-10-11 2 views
0

Я уже сделал для этого код, но он очень беден. Я хотел бы знать, как я могу получить все целые числа и суммировать их быстрее. Спасибо :)Как читать и получать сумму целых чисел из текстового файла?

#include <iostream> 
#include <iomanip> 
#include <fstream> 
#include <string> 
using namespace std; 
int main() 
{ 
    int d, m, s, b = 0, l = 0, vm, vs, mv, ms;; 
    ifstream file("File.txt"); 
    if (file.is_open()) 
    { 
     file >> d; 
     cout << d << endl; 
     file >> m >> s; 
     cout << m << " " << s << endl; 
     b += m; 
     l += s; 
     file >> m >> s; 
     cout << m << " " << s << endl; 
     b += m; 
     l += s; 
     file >> m >> s; 
     cout << m << " " << s << endl; 
     b += m; 
     l += s; 
     file.close(); 
    } 
    else cout << "File has not opened." << endl; 
    return 0; 
} 
+0

Допустим, что есть 4 линии: первая строка - 3, вторая строка - 1 и 2, 3-я строка - 5,6 и так далее. Как я могу получить сумму из второй и других строк? – HallNovice

+0

Большое спасибо vsoftco! – HallNovice

ответ

1

Не совсем понятно, чего вы пытаетесь достичь. Я предполагаю, что вам нужны две частичные суммы. Что вы можете сделать, это заменить все содержание if блока с:

file >> d; // read the first number 
cout << d << endl; 
while(file >> m >> s) // keep reading 2 numbers 
{ 
    b += m; 
    l += s; 
    cout << m << " " << s << endl; 
} 

Там нет необходимости вручную закрыть файл, деструктор будет заботиться о нем автоматически в конце программы (области видимости) ,

Смежные вопросы