Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 15.10.2018
Сообщений: 31
1

Как считать с файла в массив обьектов класса

24.10.2018, 20:55. Показов 333. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно считать с файла в строку потом эту строку разбить на фио знак зодиака и день рождения и занести в переменные те что находятся в private.Потом сравнить знаки зодиака если есть похожие то вывести на экран. Вот мой код но почему-то не работает как нужно если можете помогите плиз.с файла считывается 10 строк.
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
#include <iostream>
#include <string>
#include <fstream>
#pragma warning(disable : 4996)
 
using namespace std;
 
const int str = 10;
const int len = 60;
 
 
class Zodiac_sign
{
private:
    char* fio = new char[len];
    char* sign = new char[len];
    char* birthday = new char[len];
public:
    char* cldata = new char[len];
    char* value = new char[20];
    Zodiac_sign()
    {
        parsec(cldata);
        cout << "Input zodiac_sign: " << endl;
        cin.getline(value,20);
        Show(value);
    }
    ~Zodiac_sign()
    {
        delete[]fio;
        delete[]sign;
        delete[]birthday;
        delete[]value;
        delete[]cldata;
    }
    void Show(char*);
    void parsec(char*);
    //void setData(char*,char*,char*);
};
/*void Zodiac_sign::setData(char* w_fio, char* w_sign, char* w_birthday)
{
    fio = w_fio;
    sign = w_sign;
    birthday = w_birthday;
}*/
void Zodiac_sign::Show(char* q_sign)
{
    for (int i = 0; i < str; i++)
    {
        if (strcmp(sign, q_sign) == 0)
        {
            cout << "People born: " << sign << " zodiac sign " << birthday << " " << fio << endl;
        }
        else
            cout << "No matches found!" << endl;
    }
}
void Zodiac_sign::parsec(char* data)
{
    cldata = data;
    fio = strtok(cldata, ",");
    sign = strtok(NULL, ",");
    birthday = strtok(NULL, ",");
}
int main()
{
    char data[len];
    ifstream fl("DATA.txt");
    if (!fl.is_open())
    {
        cout << "Error! File is not open!" << endl;
    }
    else
    {
        for (int i = 0; i < str; i++)
        {
            //fl.getline(obj[i].parsec(data), sizeof(data));
            fl.getline(data, sizeof(data));
            Zodiac_sign obj[str];
            obj[i].parsec(data);
        }
    }
    fl.close();
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.10.2018, 20:55
Ответы с готовыми решениями:

Считать данные с файла в массив объектов класса
Здравствуйте, реализовал функцию для считывания данных с файла в массив объектов класса. Все хорошо...

Массив обьектов класса предка и производного
Можно ли, если у меня есть базовый НЕ абстрактный класс и проиводный от него с добавленым полем,...

Передать массив обьектов в метод класса
Здраствуйте господа программисты! Подскажите пожалуйста как передать массив обьектов в метод...

Как считать массив из файла
Здравствуйте!!!я новичек в с++ и не могу решить задачу :как считать координаты точек и радиус из...

0
24.10.2018, 20:55
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.10.2018, 20:55
Помогаю со студенческими работами здесь

Как считать массив из файла
#include &lt;iostream&gt; #include &lt;fstream&gt; using namespace std; int main() { ...

Как считать из файла в массив?
Подскажите как из файла который имеет такую структуру 10|25|45| считать в массив из...

Как изменить значение обьектов класса
Начал делать адвенчер. Перемещение есть, но когда нажимаешь &quot;е&quot; чтобы ударить то значение жизней...

Как считать в двумерный массив из файла?
массив 67 8 23 45 12 1 56 2 const int n = 2; const int m = 6; int a; fstream...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru