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

Поиск слова в файле, с файла в переменные - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Заливка на c++ http://www.cyberforum.ru/cpp-beginners/thread807640.html
Всем доброго времени суток. Мне нужно самому написать заливку на c++. Подскажите пожалуйста что можно по этой теме почитать. Заранее спасибо.
C++ Составить программу нахождения суммы чётных чисел из [a;b] 2. Составить программу нахождения суммы чётных чисел из . Спасибo. http://www.cyberforum.ru/cpp-beginners/thread807633.html
C++ Code Blocks не компилирует
Ребят, помогите пожалуйста, хочу продолжить освоение языка, а тут такая печалька=( Не компилируется ни одна программа на Code Block`s. Использую именно его, ибо в универе работаем на нем. Началась...
C++ realloc
Доброго времени суток, есть код, в котором динамически выделяется память под массив, затем этот массив инициализируется с клавиатуры и выводится на элран, далее нужно с помощью уменьшить блок памяти,...
C++ Составить программу нахождения произведения нечётных чисел из [a;b] http://www.cyberforum.ru/cpp-beginners/thread807583.html
Вот такие задачи надо сделать: 1.Составить программу нахождения произведения нечётных чисел из . Спасибo.
C++ почему выдаёт эту ошибку declaration terminated incorrectly? подробнее

Показать сообщение отдельно
Leningradeс
10 / 10 / 1
Регистрация: 03.03.2011
Сообщений: 339
13.03.2013, 21:23  [ТС]
Цитата Сообщение от alsav22 Посмотреть сообщение
Если делать правильно и красиво, то всё через класс. Переопределяете в нём нужные операторы (чтения, записи, сравнения и т.д.). В них прописываете всё что хотите делать, и как хотите делать. После этого, многие вопросы отпадут сами собой. Работаете с содержимым файла (объекты класса), как с обычными данными (поиск, сортировка, замена, добавление, удаление и т.п.).

Добавлено через 1 минуту
Переопределять операторы в классе умеете?
То есть сравнивать классы, а не париться с массивами?
Не умею.

Нужен метод? Окай, пока пробую добавить метод.

Добавлено через 21 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
ifstream in (file_in);
    object file;
    object user;
    in >> file.name;
    in >> file.a;
    in >> file.b;
    in >> file.c;
    in >> file.d;
    cout << file.name << file.a << file.b << file.c << file.d << "\n";
    cout << "Введите: ";
    cin >> user.a;
    cin >> user.b;
    cin >> user.c;
    cin >> user.d;
    if (file.a == user.a) if (file.b == user.b) if (file.c == user.c) if (file.d == user.d)
        cout << file.name;
С помощью хитрейшей манипуляции я получил желаемое, но пока не основательно, хотя бы избавился от массивов. Вот.
Теперь надо как то все это поместить в цикл и задать ему загрузку данных из файла для класса. Ну и соответственно сравнение этих классов.

Добавлено через 42 минуты
Последнее что сделал... не могу разобрать с методами, а так почти работает и цикл вроде "работает".

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
#include <iostream>
#include <string>
#include <fstream>
#include <Windows.h>
#include "opr.h"
using namespace std;
 
//int equale (int a, int b, int c, int d);
 
class object
{
public:
    string name;
    int a, b, c, d;
};
 
int file_word ()
{
    setlocale (0, "1251");
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    string file_in = "base.txt";
    ifstream in (file_in);
    object file;
    object user;
    if (!in.good ())
    {
        clog << "Файл не найден.\n";
        exit (1);
    }
    cout << "Введите: ";
    cin >> user.a;
    cin >> user.b;
    cin >> user.c;
    cin >> user.d;
    while (!in.eof ())
    {
        in >> file.name;
        in >> file.a;
        in >> file.b;
        in >> file.c;
        in >> file.d;
        if (file.a == user.a) if (file.b == user.b) if (file.c == user.c) if (file.d == user.d)
            cout << file.name;
        else
            cout << "Шо це таке?";
    }
    in.close ();
    return 0;
}
 
/*
int equale (object a, object b)
{
    int func;
    if (a.a == b.a) if (a.b == a.b) if (a.c == b.c) if (a.d == b.d)
    {
        func = 1;
        return func;
    }
    else
    {
        func = 0;
        return func;
    }
}
*/
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.