Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.12.2010, 14:21   #1
*stRong*
Пользователь
 
Регистрация: 25.01.2009
Сообщений: 47
По умолчанию Работа с текст. файлами в C++

Подскажите пожалуйста, что у меня неправильно?
Задание: В файле NUMBERS.txt хранятся числа, записанные в столбик. Нужно составить программу, которая подсчитает сумму всехх этих чисел. Числа могут быть целые, вещественные, положительные, отрицательные. Количество чисел не известно.

Код:
#include<iostream>
#include<fstream>
using namespace std;

main()
{
 int n;
 float x,sum;
 
FILE *fo;

fo=fopen("NUMBERS.txt","r");
while(1)
{
n=fscanf(fo,"%f", &x);
if(n<1)
break;
printf("%f",x);
sum+=x;
}
fclose(fo);
cout<<endl<<endl<<sum;
system("pause");
}
З.Ы. с текстовым файлом все в порядке. А вот програма фигню какую-то выдает...
*stRong* вне форума Ответить с цитированием
Старый 20.12.2010, 14:27   #2
kenwood2010
Пользователь
 
Регистрация: 26.11.2010
Сообщений: 97
По умолчанию

конечно выдаст!
число это int а файл передает char. Вот и получается ерунда!
kenwood20072@rambler.ru ICQ: 701 302 135. (Программирование на C++, С. Решение задач по физике)
kenwood2010 вне форума Ответить с цитированием
Старый 20.12.2010, 16:37   #3
kaljan775
:D
Форумчанин
 
Аватар для kaljan775
 
Регистрация: 26.09.2010
Сообщений: 570
По умолчанию

Код:
#include <iostream>
#include <fstream>

using namespace std;

int main()
{
 float x,sum=0;
 
ifstream input ("1.txt");
//if (input.fail())
//	return 1;
while(!input.eof()){
	input>>x;
	sum+=x;
}
input.close();
cout<<"\n\n"<<sum<<endl;
system("pause");
return 0;
}
обнуляйте переменные перед тем как к ним что-то прибавлять, с++ не обнуляет их за вас

данная программа работает, и это с++.
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery
kaljan775 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++: работа с файлами MR_Andrew Общие вопросы C/C++ 3 09.04.2010 20:32
Работа с файлами sancheszone Паскаль, Turbo Pascal, PascalABC.NET 4 11.11.2009 14:21
С++ю Работа с файлами maloy-rom Помощь студентам 1 03.06.2009 16:18