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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.76
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
#1

Ввод данных из файла - C++

14.03.2011, 23:13. Просмотров 5104. Ответов 19
Метки нет (Все метки)

Всем доброго времени суток! Написала программку: расчет формулы, в которой 6 переменных, данные вводила с клавиатуры. Но нужно чтобы данные были введены с файла, причем значения всех переменных, необходимых для решения находятся в одном файле (последовательно через пробел). Помогите разобраться, как ввести данные из файла и так чтобы значения соответствовали переменным.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2011, 23:13     Ввод данных из файла
Посмотрите здесь:

Ввод данных с файла - C++
struct mec { string name; double sum; }; cout << "Число меценатов с файла: "; int n; ifstream ReadOn; ...

Ввод данных из файла - C++
Здравствуйте, не откажите пожалуйста в помощи, вот программа: #include "stdafx.h" #include <iostream> #include <iomanip> #include...

Ввод данных из файла - C++
Проблема такая, есть файл исходных данных там в форме таблички приведены числа и текст (коментарий) Надо используя С++ из указанного...

Ввод данных в массив с файла с++ - C++
есть файл input.txt в нем 2 строки, на первой - одно число(размер массива), на второй ряд чисел(массив), как можно присвоить переменной...

Ввод данных в структуру из файла - C++
Народ, помогите разобраться. В общем есть структура следующего вида: struct Employees { char Surname; char Name; char...

Ввод/вывод данных в/из файла - C++
Ребят, такая проблемка, когда ввожу строки , в файле они отображаются иероглифами(не все, почему то только те строки, у которых длинна 3...

Ввод данных из файла в двумерный массив - C++
Здравствуйте! Я написал такую программу: #include <iostream> #include <fstream> using namespace std; int main() { int...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DANON
35 / 22 / 3
Регистрация: 27.06.2010
Сообщений: 86
14.03.2011, 23:21     Ввод данных из файла #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <fstream>
#include <iostream>
using namespace std;
 
// Global variables here
 
// Opening file
ifstream cin("input.txt")
 
 
int main(){
  // reading data from the file
  cin>>var1>>var2>>var3>>var4>>var5>>var6;
  // ....
  // ....
 
}
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
14.03.2011, 23:44  [ТС]     Ввод данных из файла #3
А переменные (которым присвоятся значения var1...var5)предварительно ведь надо объявить?
Subgrando
40 / 40 / 3
Регистрация: 28.01.2011
Сообщений: 175
14.03.2011, 23:49     Ввод данных из файла #4
Естесственно.
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
14.03.2011, 23:52  [ТС]     Ввод данных из файла #5
Еще один глупый вопрос: объявлять ведь до чтения файла?=)
З.Ы.:просто уже сутки пытаюсь разобраться.....голова уже плохо соображает...=)


Объявила переменные...теперь пишет "cin: вероятно, инициализатор, использующий стиль функции, является определением функции"...=(
DANON
35 / 22 / 3
Регистрация: 27.06.2010
Сообщений: 86
14.03.2011, 23:58     Ввод данных из файла #6
Объявлять переменные надо до того, как они первый раз используются, то есть в данном случае - перед чтением
LaГushan
124 / 124 / 14
Регистрация: 12.03.2011
Сообщений: 227
14.03.2011, 23:59     Ввод данных из файла #7
Код-то вряд ли скомпилируется, даже если объявить переменные. Лучше записать так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <fstream>
#include <iostream>
 
 
int main(){
    int var1,var2,var3,var4,var5,var6;
        ifstream cin("input.txt");
    if(cin.is_open())
       std::cin>>var1>>var2>>var3>>var4>>var5>>var6;
  // ....
  // ....
 
}
DANON
35 / 22 / 3
Регистрация: 27.06.2010
Сообщений: 86
15.03.2011, 00:02     Ввод данных из файла #8
Минуточку. Разве std::cin>>... не из консоли будет читать?
Subgrando
40 / 40 / 3
Регистрация: 28.01.2011
Сообщений: 175
15.03.2011, 00:03     Ввод данных из файла #9
Минуточку. Разве std::cin>>... не из консоли будет читать?
C++
1
 ifstream cin("input.txt");
же. Только вот зачем так называть...?

А так - правильней было бы использовать cin и тогда программу вызывать так:
progname < D:\\input.txt > D:\\output.txt
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
15.03.2011, 00:12  [ТС]     Ввод данных из файла #10
Цитата Сообщение от LaГushan Посмотреть сообщение
#include <fstream>
#include <iostream>
int main(){
* * * * int var1,var2,var3,var4,var5,var6;
* * * * ifstream cin("input.txt");
* * * * if(cin.is_open())
* * * * * *std::cin>>var1>>var2>>var3>>var4>>var5>>var6;
* // ....
* // ....
теперь выдает еще одну ошибку: " is_open: не является членом "std::basic_istream<_Elem,_Traits>"
with
[
_Elem=char,
_Traits=std::char_traits<char>
]"

Добавлено через 3 минуты
По идее должно быть так: объявление переменных, открытие файла, чтение из него, присвоение значений из файла переменным, потом расчет формулы и вывод результата...
Загвоздка именно в чтении и присвоении значений, чтоб не перепутались.
Подскажите как правильней будет=(
DANON
35 / 22 / 3
Регистрация: 27.06.2010
Сообщений: 86
15.03.2011, 00:14     Ввод данных из файла #11
Цитата Сообщение от LaГushan Посмотреть сообщение
Код-то вряд ли скомпилируется, даже если объявить переменные.
Все тут скомпилируется!

C++
1
2
3
4
5
6
7
8
9
10
#include <fstream>
#include <iostream>
 
using namespace std;
 
int main(){
    ifstream cin("input.txt");
    int n;
    cin>>n;
}
Это компилится.

А cin я назвал входной поток, потому что если у Эриксо читалось до этого из консоли - теперь стоб читалось из файла. Можно конечно перенаправление сделать, но ведь Эриксо просит чтобы программно читалось из файла.
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
15.03.2011, 00:19  [ТС]     Ввод данных из файла #12
Не совсем поняла, можно небольшое пояснение?
LaГushan
124 / 124 / 14
Регистрация: 12.03.2011
Сообщений: 227
15.03.2011, 00:20     Ввод данных из файла #13
Цитата Сообщение от DANON Посмотреть сообщение
Минуточку. Разве std::cin>>... не из консоли будет читать?
Да-да, вы правы, без std конечно.
DANON
35 / 22 / 3
Регистрация: 27.06.2010
Сообщений: 86
15.03.2011, 00:25     Ввод данных из файла #14
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <fstream>
#include <iostream>
using namespace std;
 
int main(){
    // Объявление переменных
    int var1,var2,var3,var4,var5,var6;
    // Объявляем переменную (входной поток) и открываем файл
    ifstream in("input.txt");
    // Читаем из файла
    in>>var1>>var2>>var3>>var4>>var5>>var6;     
    
    // Вычисляем значение функции по формуле    
    int f = var1+var2+var3+var4+var5+var6;
    
    // Выводим ответ    
    cout<<f<<endl;
    
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2011, 00:38     Ввод данных из файла
Еще ссылки по теме:

Ввод данных в динамический массив из файла - C++
написал программу, вроде все по правилам,только почему-то каждый раз переходит по стрелке &quot;файл не открыт&quot; #include &lt;iostream&gt; ...

Почему не работает ввод данных из файла? - C++
Есть код сортировки бинарным деревом. Собственно не работает только ввод элементов из файла (case 2 в меню) Исходный код: #include...

Ввод данных в динамический массив из файла - C++
В задаче написано: введение данных в динамический массив делать из файла. Как это?

Вектор структур, ввод данных из файла - C++
Проблемы с перегрузкой операторов ввода и вывода для класса и структуры. Перегрузка ввода для структуры написана, и, полагаю, пашет, но не...

Организовать ввод данных из текстового файла - C++
Написал программу, работает. Но мне нужно чтобы Вы помогли мне вот в чём: в строках 71-81 и 51-61 нужно заменить все эти операции так,...


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

Или воспользуйтесь поиском по форуму:
Эриксо
0 / 0 / 0
Регистрация: 12.03.2011
Сообщений: 110
15.03.2011, 00:38  [ТС]     Ввод данных из файла #15
Спасибо, заработало.=)
только вот проблема с форматом вывода результата...
Изначально входные данные - дробные числа а не целые (например 0.3, 0.1, 0.17 и т.д)...я заменила тип данных int на float. По идее результат должен быть 0,245556 а получается "-1,07374е+008"..

Попыталась проверить, правильно считались значения с файла....в итоге выводится шесть "-1,07374е+008"...В чем может быть ошибка?
Вот то что у меня получилось:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "StdAfx.h"
#include <fstream>
#include <iostream>
using namespace std;
 
int main(){
    // Объявление переменных
    float r1, r2, r0, l, g;
    // Объявляем переменную (входной поток) и открываем файл
    ifstream in("input.txt");
    // Читаем из файла
    in>>r1>>r2>>r0>>l>>g;     
    cout<<r1<<r2<<r0<<l<<g;
    // Вычисляем значение функции по формуле    
    float v = (g * l * l)/r0;
    cout<<v<<endl;
    float R = ((g * l * l)/v)*((1 + r1/r2 + pow(r1/r2,2))/(3*r1/r2));
    // Выводим ответ    
    cout<<R<<endl;
    system ("pause");
        return 0;
}
исходные значения: 0.3, 0.1, 0.17, 1, 1.05
Yandex
Объявления
15.03.2011, 00:38     Ввод данных из файла
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru