Форум программистов, компьютерный форум CyberForum.ru

Чтение чисел из файла.Что делаю не так? - C++

Восстановить пароль Регистрация
 
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.11.2013, 11:48     Чтение чисел из файла.Что делаю не так? #1
По заданию нужно чтоб читались значения в виде массива из файла и провести с массивом в дальнейшем различные операции(формулами,графиком) и сразу ошибка.
12 `f' undeclared (first use this function)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
 
int main()
{int const n=10; int i=0;
float *x[n];
 
ifstream("1.txt");
while(!f.eof())
   {if (i==n) 
   {i++; cout<<endl;}
   f=*x[i];
   cout<<x[i]<<" ";
   }
system("pause");   
}
как правильно вести чтение из файла в моем случае?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2013, 11:48     Чтение чисел из файла.Что делаю не так?
Посмотрите здесь:

C++ подскажите что не так делаю?
Скажите, что не так делаю! C++
C++ что не так делаю?!
C++ PlaySound: что я делаю не так?
Что не так?. Чтение из файла и нужно посчитать средний балл C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
newbie666
Заблокирован
13.11.2013, 12:10     Чтение чисел из файла.Что делаю не так? #2
Цитата Сообщение от Милашечка Посмотреть сообщение
12 `f' undeclared (first use this function)
ну тут то понятно, ты ж забыл её дописать после ifstream тут ifstream("1.txt");, должно быть ifstream f("1.txt");

Хотя тут море ошибок в горстке кода. Что конкретно тебе надо! Только КОНКРЕТНО !

Добавлено через 3 минуты
хочешь прочитать за раз данные в файле сразу в массив? Ну тоесть чтоб не парсить файл, а за одну операцию заполнить свой массив? Такое возможно только с бинарными файлами если что
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 780
Записей в блоге: 10
13.11.2013, 12:24     Чтение чисел из файла.Что делаю не так? #3
C++
1
2
3
4
5
6
7
8
9
   ifstream fin("fileName.fileExtension"); 
   char ch;
   while(fin >> ch)
   {
     cout << ch;                 
   }
 
   fin.close();   
//показать весь фаил по чарам
Добавлено через 6 минут
C++
1
2
3
4
5
6
7
8
9
10
11
ifstream fin("fileName.fileExtension"); 
   float fvar;
   while(fin >> ch)
   {
     cout << fvar;                 
   }
 
   fin.close();   
// в принципе тоже должно прокатить
// тут просто вывод .Если тебе заранее известно длина массива то вместо while() используй for()/
// иначе либо стек ,либо заведомо больший массив
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 12:26     Чтение чисел из файла.Что делаю не так? #4
Цитата Сообщение от Милашечка Посмотреть сообщение
По заданию нужно чтоб читались значения в виде массива из файла и провести с массивом в дальнейшем различные операции(формулами,графиком) и сразу ошибка.
12 `f' undeclared (first use this function)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
 
int main()
{int const n=10; int i=0;
float *x[n];
 
ifstream("1.txt");
while(!f.eof())
   {if (i==n) 
   {i++; cout<<endl;}
   f=*x[i];
   cout<<x[i]<<" ";
   }
system("pause");   
}
как правильно вести чтение из файла в моем случае?
на счет ifstream("1.txt") уже писали выше, должно быть ifstream f("1.txt");
а вот чтение из файла в массив я бы посоветовал сделать вот таким образом
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main()
{
    int const n=10; 
    float x[n];
 
    ifstream f("1.txt");
    if(f.is_open())
    {
        for(int i = 0; i < n; i++)  //чтение чисел
            f >> x[i];              //     из файла
 
        for(int i = 0; i<n; i++)                            //вывод 
            cout << "x[" << i+1 << "] => "<< x[i] << '\n';          //      в консоль
    }
    system("pause");   
}
к стати, объявление массива правильно сделать как у меня float x[n]; вместо float *x[n]; так как ты создаешь не динамический массив.
newbie666
Заблокирован
13.11.2013, 12:29     Чтение чисел из файла.Что делаю не так? #5
Цитата Сообщение от Pokemon_93 Посмотреть сообщение
for(int i = 0; i < n; i++) *//чтение чисел
* * * * * * f >> x[i]; * * * * * * *// * * из файла
гадание на кофейной гуще, не известно же в каком формате данные там лежат...
Так что пока отсутствуют разъяснения ТС по этому поводу, смысла гадать не вижу...
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 12:32     Чтение чисел из файла.Что делаю не так? #6
Цитата Сообщение от newbie666 Посмотреть сообщение
гадание на кофейной гуще, не известно же в каком формате данные там лежат...
Так что пока отсутствуют разъяснения ТС по этому поводу, смысла гадать не вижу...
в принципе я с вами согласен, но судя по описанию задания, это простейшая лабораторная работа для студента 1 курса, а там скорее всего в файле просто написаны числа "1 2 3 4 5 6 7 8 9 0", исходя из этого и предложил такой вариант
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 780
Записей в блоге: 10
13.11.2013, 12:34     Чтение чисел из файла.Что делаю не так? #7
ifstream - this is class exactly the same as iostream ,therefore fin is ibject to it ,exactly the same as cin or cout
newbie666
Заблокирован
13.11.2013, 12:51     Чтение чисел из файла.Что делаю не так? #8
Я вообще этим ifstream барахлом не пользуюсь, использую просто:
для ввода данных
std::fstream fs(L"file_name", std::ios::in);
для вывода данных
std::fstream fs(L"file_name", std::ios::out);

это намного удобней, т.к. ты можешь после ввода данных закрыть файловый поток и то же имя переменной использовать для вывода
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 13:04     Чтение чисел из файла.Что делаю не так? #9
Цитата Сообщение от newbie666 Посмотреть сообщение
Я вообще этим ifstream барахлом не пользуюсь, использую просто:
для ввода данных
std::fstream fs(L"file_name", std::ios::in);
для вывода данных
std::fstream fs(L"file_name", std::ios::out);

это намного удобней, т.к. ты можешь после ввода данных закрыть файловый поток и то же имя переменной использовать для вывода
не знаю, может я еще не на столько продвинулся в изучении, не слышал еще о таком методе, обязательно почитаю
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.11.2013, 15:29  [ТС]     Чтение чисел из файла.Что делаю не так? #10
Конкретное условие - дан файл с вещественными числами(20 чисел) типа 0,00000(числа любые можно). Сделать так чтоб они считывались с файла как одномерный динамический массив. Найти минимум , максимум, сумму после максимума ,разности и подставив некоторые значения элементов массива в уравнение(их пока не раздали правда) - построить графики т. д. Ну это я сделаю,это не так тяжело.. если "стартовать" получиться правильно из файла..
Мне главное понять как с файла считывать данные и пользоваться ими.. Я вроде и понимаю как надо, но как до написания кода доходит - вечно ошибки
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 15:33     Чтение чисел из файла.Что делаю не так? #11
Цитата Сообщение от Милашечка Посмотреть сообщение
Конкретное условие - дан файл с вещественными числами(20 чисел) типа 0,00000(числа любые можно). Сделать так чтоб они считывались с файла как одномерный динамический массив. Найти минимум , максимум, сумму после максимума ,разности и подставив некоторые значения элементов массива в уравнение(их пока не раздали правда) - построить графики т. д. Ну это я сделаю,это не так тяжело.. если "стартовать" получиться правильно из файла..
Мне главное понять как с файла считывать данные и пользоваться ими.. Я вроде и понимаю как надо, но как до написания кода доходит - вечно ошибки
попробуй моим способом(который я описал выше, только значение n замени на 20), чтобы просто считать числа из файла его точно хватит. а потом уже работа идет с массивом, в принципе еще 3 цикла for решат описанную тобой задачу.
newbie666
Заблокирован
13.11.2013, 15:35     Чтение чисел из файла.Что делаю не так? #12
Цитата Сообщение от Милашечка Посмотреть сообщение
Мне главное понять как с файла считывать данные и пользоваться ими
Ну если файл текстовой и твои вещественные числа идёт там через пробел, то обычно читают как - так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
std::vector<float> dataBase;
std::fstream fs(L"INFO.txt", std::ios::in);
if(fs.is_open())
{
    while (!fs.eof())
    {
        float tmp;
        fs >> tmp;
        dataBase.push_back(tmp);
    }
    fs.close();
}
P.S.: там есть нюанс на счёт последнего символа, если он пробел )))) но это уже другая история
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 15:38     Чтение чисел из файла.Что делаю не так? #13
Цитата Сообщение от newbie666 Посмотреть сообщение
Ну если файл текстовой и твои вещественные числа идёт там через пробел, то обычно читают как - так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
std::vector<float> dataBase;
std::fstream fs(L"INFO.txt", std::ios::in);
if(fs.is_open())
{
    while (!fs.eof())
    {
        float tmp;
        fs >> tmp;
        dataBase.push_back(tmp);
    }
    fs.close();
}
P.S.: там есть нюанс на счёт последнего символа, если он пробел )))) но это уже другая история
судя по заданию, нужно использовать именно массив, но если можно использовать вектор то это намного упрощает решение, так как в STL уже реализованы почти все эти задачи
Милашечка
0 / 0 / 0
Регистрация: 16.02.2013
Сообщений: 98
13.11.2013, 21:45  [ТС]     Чтение чисел из файла.Что делаю не так? #14
Pokemon_93, попробовала вашим способом - данные выводятся на экран, но не те, которые в файле находятся,какие-то другие..пробовала для 5 чисел - скрины чуть ниже. Почему так??
Я программу почти написала. если массив задавать в программе в ручную или случайными числами - у меня все работает, а вот как по заданию надо- с файла чтоб массив задавался - не получается почему то... воюю
Цитата Сообщение от Pokemon_93 Посмотреть сообщение
если можно использовать вектор то это намного упрощает решение
- мы STL еще не изучали
Цитата Сообщение от Pokemon_93 Посмотреть сообщение
это простейшая лабораторная работа для студента 1 курса
- для тех , кто первый курс уже закончил или хотя б консультации имеет...У нас их отменили - вот и воюем самостоятельно с вашей помощью..
Все просто становится постепенно, познаваясь в сравнении..
Миниатюры
Чтение чисел из файла.Что делаю не так?  
Изображения
 
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 21:57     Чтение чисел из файла.Что делаю не так? #15
Цитата Сообщение от Милашечка Посмотреть сообщение
данные выводятся на экран, но не те, которые в файле находятся,какие-то другие..пробовала для 5 чисел - скрины чуть ниже. Почему так??
странно, сейчас проверю еще раз, может че то не так со студией у вас? насколько я помню у меня все работало.

Добавлено через 5 минут
Цитата Сообщение от Милашечка Посмотреть сообщение
Pokemon_93, попробовала вашим способом - данные выводятся на экран, но не те, которые в файле находятся,какие-то другие..пробовала для 5 чисел - скрины чуть ниже. Почему так??
Я программу почти написала. если массив задавать в программе в ручную или случайными числами - у меня все работает, а вот как по заданию надо- с файла чтоб массив задавался - не получается почему то... воюю
- мы STL еще не изучали
- для тех , кто первый курс уже закончил или хотя б консультации имеет...У нас их отменили - вот и воюем самостоятельно с вашей помощью..
Все просто становится постепенно, познаваясь в сравнении..
прошу прощения, на пример чисел с запятой не проверял, сейчас пересмотрю решение.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.11.2013, 22:06     Чтение чисел из файла.Что делаю не так?
Еще ссылки по теме:

Что я делаю не так? C++
Что я делаю не так? C++
C++ Что я делаю не так?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Pokemon_93
 Аватар для Pokemon_93
9 / 5 / 1
Регистрация: 19.01.2013
Сообщений: 74
13.11.2013, 22:06     Чтение чисел из файла.Что делаю не так? #16
Цитата Сообщение от Милашечка Посмотреть сообщение
Pokemon_93, попробовала вашим способом - данные выводятся на экран, но не те, которые в файле находятся,какие-то другие..пробовала для 5 чисел - скрины чуть ниже. Почему так??
Я программу почти написала. если массив задавать в программе в ручную или случайными числами - у меня все работает, а вот как по заданию надо- с файла чтоб массив задавался - не получается почему то... воюю
- мы STL еще не изучали
- для тех , кто первый курс уже закончил или хотя б консультации имеет...У нас их отменили - вот и воюем самостоятельно с вашей помощью..
Все просто становится постепенно, познаваясь в сравнении..
странно, у меня все работает как положено, может дело в компиляторе?
Миниатюры
Чтение чисел из файла.Что делаю не так?  
Yandex
Объявления
13.11.2013, 22:06     Чтение чисел из файла.Что делаю не так?
Ответ Создать тему
Опции темы

Текущее время: 20:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru