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

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

Войти
Регистрация
Восстановить пароль
 
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
#1

Считать из файла определенную инфу в класс - C++

23.10.2013, 15:17. Просмотров 343. Ответов 6
Метки нет (Все метки)

Приветствую всех. Задача такая:
Есть txt файл с инфой:
127 Киев-Львов 100 300
120 Москва-Киев 130 450
103 Будапешт-Москва 70 500
101 Донецк-Лисабон 35 430
Есть класс:
C++
1
2
3
4
5
6
7
8
9
10
class kassa
{
public:
    int flightNumber;
    int numberOfSeats;
    char *flightName;
    int flightCost;
private:
    void getInfo(const ifstream);
};
Нужно например записать в первый объект инфу из первой строки, в виде
flightNumber = 127
flightName = "Киев-Львов"
numberOfSeats = 100
flightCost = 300

Help please!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.10.2013, 15:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Считать из файла определенную инфу в класс (C++):

Считать определенную строку из файла - C++
Второй вопрос: Как можно считать определенную строку из файла. Пример: У меня есть файл, в котором, к примеру, будет такая запись: ...

Считать определенную строку из файла - C++
Такое дело. Пользователь вводит определенную команду в TextBox, и нужно что бы программа считала определенную строку из файла, которая...

Как считать определенную цифру из числа? - C++
Нужна помощь!Есть часть программы в которой нужно считать 3 цифру из числа полученного после выражения 99/(1000*a) и занести в переменую...

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

Как забить в массив типа int инфу из файла? - C++
надо с файла 1.тхт по символу (они через пробел) забить в массив mas. вот как делал : ifstream f("D:\\1.txt"); for(int r=0;i<10;i++) ...

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.10.2013, 15:27 #2
C++
1
2
3
    ifstream fin("file.txt");
    kassa obj;
    fin >> obj.flightNumber >> obj.flightName >> obj.numberOfSeats >> obj.flightCost;
Только память под flightName должна быть выделена, и flightName должно быть одним словом (без пробелов).
0
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
23.10.2013, 15:44  [ТС] #3
а в функции класса это можно сделать?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.10.2013, 15:49 #4
Можно.
0
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
23.10.2013, 16:02  [ТС] #5
Я сделал так, но компилятор выдает ошибку
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#include <iostream>
#include <fstream>
#include <conio.h>
#include <Windows.h>
 
typedef unsigned short int us_int;
 
using namespace std;
 
class kasa
{
private:
    us_int flightNumber;
    us_int numberOfSeats;
    char *flightName;
    us_int flightCost;
public:
    kasa();
    ~kasa();
    void setInfo(ifstream);
    void getData();
};
 
kasa::kasa()
{
}
 
kasa::~kasa()
{
    delete [] flightName;
}
 
void kasa::getData()
{
    cout<<flightNumber<<endl;
    cout<<flightName<<endl;
    cout<<numberOfSeats<<endl;
    cout<<flightCost<<endl;
}
 
void kasa::setInfo(ifstream in)
{
    flightName = new char [50];
    in >> this->flightNumber>> this->flightName>> this->numberOfSeats
        >>this->flightCost;
}
 
int main()
{
    ifstream file_in("available_flights.txt");
    kasa ks;
    ks.setInfo(file_in);
    ks.getData();
 
    getch();
    return 0;
}
И еще, если я создам 2й объект, он считает 1 строку или уже 2ю?
0
alsav22
5419 / 4815 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
23.10.2013, 16:11 #6
C++
1
void setInfo(ifstream&);
1
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
23.10.2013, 16:22  [ТС] #7
спасибо, заработало!
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.10.2013, 16:22
Привет! Вот еще темы с ответами:

Определить, сколько слов текста из файла имеют определенную длину - C++
Добрый вечер Программа берет данные из текстового файла и должна определить сколько слов текста имеют длину 1, 2, 3, ... 10 символов и...

Нужно считать с файла определенное число символов и эти символы удалить из файла - C++
Нужно считать с файла определенное число символов и эти символы удалить из файла

на основе данных входного файла составить список вкладчиков(ФИО,№ счёта,сумма,год открытия счёта)Вывести в new файл инфу об открывших счёт в этом году - C++
Решить задачу, используя структуру, содержащую члены-данные и члены-функции. Замечание. Подразумевается, что исходная информация...

Класс для работы с секундомером (считать секунды до нажатия клавиши, результат переводить в минуты и часы) - C++
Ребята, помогите пожалуйста, я даже не подозреваю как начать, препод молчит, мне необходимо написать &quot;Класс для работы с...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
23.10.2013, 16:22
Ответ Создать тему
Опции темы

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