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

Организовать добавление данных в файл, просмотр, поиск и очистку данных - C++

Восстановить пароль Регистрация
 
tru2
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 101
06.02.2014, 22:45     Организовать добавление данных в файл, просмотр, поиск и очистку данных #1
НАписать программу. Компонентами типизированного файла являются записи, состоящие из следующих полей: - фамилия; - имя; - отчество; - город проживания; - год рождения.
Организовать следующие процедуры работы с файлом:
- добавление записи в файл; - просмотр файла; - поиск по фамилии, имени и отчеству; - очистка файла.
Действия выполняются в произвольном порядке по выбору пользователя.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 22:45     Организовать добавление данных в файл, просмотр, поиск и очистку данных
Посмотрите здесь:

Как организовать ввод данных? C++
C++ Ввод данных, добавление данных, получение информации из файла по заданным критериям выборки
ввод структурированных данных в файл и вывод данных из этого файла на экран (сделать хра-нилище данных в файле). C++
как организовать повтор ввода данных C++
Телефонная книга: просмотр, поиск, добавление записей. C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
07.02.2014, 02:31     Организовать добавление данных в файл, просмотр, поиск и очистку данных #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
 
int choice();
int members();
void whatToDo(int info);
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
    
    int myChoice = choice();
    
    while(myChoice != 5)
    {
        switch(myChoice) //Выбор опции
        {
            case 1:
                whatToDo(1);
                break;
            case 2:
                whatToDo(2);
                break;
            case 3:
                whatToDo(3);
                break;
            case 4:
                whatToDo(4);
                break;    
        }
        myChoice = choice();
    }
    
    system("pause");
    return 0;
}
 
int choice() //Функция выбора опции
{
    int myChoice;
    cout << "1 добавить записи в файл" <<
            "\n2 просмотр файла" <<
            "\n3 поиск по ФИО" <<
            "\n4 очистить файл" <<
            "\n5 выход из программы" <<
            "\nСделайте выбор: ";
    cin >> myChoice;
    return myChoice;
}
 
int members() //Функция счета записей добавляемых в файл
{
    int quant;
    cout << "\nСколько записей вы хотите добавить?\n";
    cin >> quant;
    return quant;
}
 
void whatToDo(int info) //Функция реализации опций
{
    string surname, patr, name, city,
           s1, s2, s3, s4, s5, s6;
    int year, counter;
    
    if(info == 1) //Добавление записей
    {
        ofstream addMember("file.txt", ios::app);
        counter = members();
        while(counter > 0)
        {
            cout << "Фамилия: "; cin >> surname;
            cout << "Имя: "; cin >> name;
            cout << "Отчество: "; cin >> patr;
            cout << "Город: "; cin >> city;
            cout << "Год рождения: "; cin >> year;
            cout << endl;
            
            addMember << "Фамилия: " << surname << endl <<
                         "Имя: " << name << endl <<
                         "Отчество: " << patr << endl <<
                         "Город: " << city << endl <<
                         "Год рождения: " << year << endl;
            counter--;
        }
    }
    if(info == 2) //Вывод записей 
    {
        ifstream showAll("file.txt");       
        while(showAll >> s1 >> surname >>
                         s2 >> name >>
                         s3 >> patr >>
                         s4 >> city >>
                         s5 >> s6 >> year)
        {
            cout << endl;
            cout << surname << endl <<
                    name << endl <<
                    patr << endl <<
                    city << endl <<
                    year << endl;
        }
    }
    if(info == 3) //Поиск записей
    {
        ifstream findMember("file.txt");
        cout << "\nДля поиска введите ФИО\n";
        cout << "Фамилия: "; cin >> surname;
        cout << "Имя: "; cin >> name;
        cout << "Отчество: "; cin >> patr;
        string findSurname,
               findName,
               findPatr;
        while(findMember >> s1 >> findSurname >>
                            s2 >> findName >>
                            s3 >> findPatr >>
                            s4 >> city >>
                            s5 >> s6 >> year)
        {
            if(findSurname == surname &&
               findName == name &&
               findPatr == patr)
            {
                cout << "\nНайден:\n" <<
                        findSurname << endl <<
                        findName << endl <<
                        findPatr << endl <<
                        city << endl <<
                        year << "\n\n";
            }
        }
    }
    if(info == 4) //Удаление записей
    {
        ofstream clearFile("file.txt");
        clearFile << " ";
        cout << "\nФайл был очищен!\n\n";
    }
}
tru2
1 / 1 / 0
Регистрация: 28.01.2014
Сообщений: 101
07.02.2014, 04:14  [ТС]     Организовать добавление данных в файл, просмотр, поиск и очистку данных #3
Спасибо выручили
ТимурКаримов
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 16
27.12.2015, 00:23     Организовать добавление данных в файл, просмотр, поиск и очистку данных #4
Простите, а что, если мне нужно добавить информацию не в конец файла, а в его середину, скажем?
Знаю, что можно воспользоваться вспомагательным файлом, а потом его удалить.
Благодарю за ответ.
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
27.12.2015, 03:48     Организовать добавление данных в файл, просмотр, поиск и очистку данных #5
ТимурКаримов, в этом случае можно добавить ещё одно условие в функцию whatToDo(int),
в котором будет выводиться весь список или же лишь количество записей и по требованию пользователя
сделать вставку. Например, 10 записей, сделать вставку после 4-ой. Для сохранения лучше скопировать
весь список из файла, изменить (сделать вставку) и перезаписать файл
ТимурКаримов
0 / 0 / 0
Регистрация: 15.12.2015
Сообщений: 16
29.12.2015, 14:46     Организовать добавление данных в файл, просмотр, поиск и очистку данных #6
А имея те 10 записей в файле, каким способом вставить начиная с четвёртого элемента несколько новых записей? fstream::app ?
Спасибо за ответы
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.12.2015, 15:28     Организовать добавление данных в файл, просмотр, поиск и очистку данных
Еще ссылки по теме:

Организовать заданную структуру данных: точка (x, y) плоскости, стек (добавление, удаление и чтение элемента) C++
Структуры данных (создание, просмотр, дополнение и извлечения данных из файла, содержащего информацию о номерах телефонов сотрудников учреждения,ФИО) C++

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

Или воспользуйтесь поиском по форуму:
GuGo1991
267 / 261 / 93
Регистрация: 02.08.2012
Сообщений: 609
30.12.2015, 15:28     Организовать добавление данных в файл, просмотр, поиск и очистку данных #7
ТимурКаримов, лучше для начала обойтись без добавления в файл.
Сначала сохранить в массив все записи. Потом создать строковую переменную, в которую
будут сохраняться новые записи. Затем обновить файл, добавляя элементы из массива, в то же время
следя за их индексами. В нашем случае, если наткнулись на 4-ый, добавляем строковую переменную
с новыми записями. Будут сложности могу реализовать.
Yandex
Объявления
30.12.2015, 15:28     Организовать добавление данных в файл, просмотр, поиск и очистку данных
Ответ Создать тему
Опции темы

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