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

Работа с файлами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ рассчитате среднесуточный и общий пробег http://www.cyberforum.ru/cpp-beginners/thread364342.html
Подскажите, пожалуйста, как решить эту задачу( На основе сведений о ежедневном пробеге на тренировке спортсменов команды рассчитате среднесуточный и общий пробег каждого спортсмена за 20 дней.
C++ Глобальные объекты и функции Здравствуйте, не подскажите можно ли иметь глобальные объекты и функции, к которым можно обратиться во всех частях проекта, пусть даже друг от друга не зависимых, типа есть заголовочный файл с... http://www.cyberforum.ru/cpp-beginners/thread364338.html
C++ не очень то понимаю эти массивы
помогите решить. 1.дан массив А(11).все элементы этого массива из интервала (с,d) обнулите,найдите сумму остальных. 2.Дан одномерный массив А. найти max(a2,a4,...a2k)+min(a1,a3...a2k+1)
Помогите написать программу\подпрограмму C++
Нужно написать программу/подпрограмму на языке C, которая на основе входного файла создает выходной файл, в котором в середине самая длинная строка; в начале все строки с длинной (самая длинная/2)...
C++ Объясните пожалуйста задачу http://www.cyberforum.ru/cpp-beginners/thread364329.html
имеется задача: Разработать объектно-ориентированную программу для деления дроби на целое число. Оба операнда должны передаваться ей через аргументы командной строки. Результат деления должен...
C++ сортировка пузырьком /*/ Лаба№1 связный список.cpp: Упорядочить по возрасту.*/ #include "stdafx.h" #include <iostream> // подключение библиотеки ввода-вывода #include <conio.h> // подключение библиотеки функций... подробнее

Показать сообщение отдельно
slavik
0 / 0 / 0
Регистрация: 11.09.2011
Сообщений: 15

Работа с файлами - C++

11.10.2011, 07:47. Просмотров 630. Ответов 3
Метки (Все метки)

ДОБРЫЙ ВЕЧЕР!
Такая задачка.. Написать программу по созданию базы данных ( например: имя, фамилия, возраст).
Программа создает эту базу и работает с ней ( поиск,
добавление и т.д. ).
Эту часть задания сделал успешно. Не смог только сделать удаление.
Но нужно еще добавить работу с файлами. То есть, база хранится в файле и после работы с ней файл перезаписывается обновленными данными ( если какие-то учетные записи добавились или удалились).
Пропустил урок по работе с файлами, а сам разобраться не могу...
Вот код программы. Помогите изменить его под работу с файлами, плиз...
И, если можно, с удалением помогите разобраться...
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
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
#include <cstdlib>
#include <iostream>
#include <iomanip>
#include<cctype>
#include<cstring>
using namespace std;
struct human{
    char first_name[20];//имя
    char last_name[25];//фамилия
    int age;//возраст
};
void Fill(human *,int);//заполнение базы данных
void Show(human *,int);//показ базы на экран
human* Zam(human *,int);//добавление новой учетной записи
void Poisk(human *,int);//поиск по имени
void Poisk_2(human *,int);//поиск по фамилии
void Poisk_3(human *,int);//поиск по возрасту
int main()
{
    cout<<"Enter N: ";
    int N;
    cin>>N;
    cout<<endl;
    human*h=new human[N];
    Fill(h,N);
    cout<<"\n\n";
    Show(h,N);
    int x;
    do
    {
    cout<<"Dlya dobavleniya novoy zapisi enter '0', dlya vuhoda druguyu zifru: ";
    cin>>x;
    if(x==0)
    {
        N++;
        h=Zam(h,N);
        Show(h,N);
    }
    }while(x==0);
    do
    {
        cout<<"Dlya poiska po:\n Imeni: enter '0'\nFamiliy: enter '1'\nVozrastu: enter '2'\n Dlya vuhoda druguyu zifru: ";
        cin>>x;
        if(x==0)
        {
            Poisk(h,N);
        }
        else if(x==1)
        {
            Poisk_2(h,N);
        }
        else if(x==2)
        {
            Poisk_3(h,N);
        }
    }while(x==0||x==1||x==2);
    cout<<endl; 
    system("pause");
    delete[]h;
    return 0;
}
void Fill(human*h,int N)
{
    for(int i=0; i<N; i++)
    {
        cout<<"Enter First Name: ";
        cin>>h[i].first_name;
        cout<<"Enter Last Name: ";
        cin>>h[i].last_name;
        cout<<"Enter age: ";
        cin>> h[i].age;
        cout<<endl;
    }
}
void Show(human*h,int N)
{
    for(int i=0;i<N;i++)
    {
        cout<<"-----------------------------\n";
        cout<<"First Name: "<<h[i].first_name<<endl;
        cout<<" Last Name: "<<h[i].last_name<<endl;
        cout<<"       Age: "<<h[i].age<<endl;
        cout<<"-----------------------------\n";
    }
    cout<<endl;
}
human* Zam(human *h,int N)
{
        human*f=new human[N];
        for(int i=0;i<N-1;i++)
        {
            strcpy(f[i].first_name,h[i].first_name);
            strcpy(f[i].last_name,h[i].last_name);
            f[i].age=h[i].age;
        }
        cout<<"Enter First Name: ";
        cin>>f[N-1].first_name;
        cout<<"Enter Last Name: ";
        cin>>f[N-1].last_name;
        cout<<"Enter age: ";
        cin>> f[N-1].age;
        cout<<endl;
        delete[]h;
        return f;
}
void Poisk(human *h,int N)
{
    char imya[20];
    cout<<"Enter imya: ";
    cin>>imya;
    for(int i=0;i<N;i++)
    {
        if(stricmp(h[i].first_name,imya)==0)
        {
            cout<<"-----------------------------\n";
        cout<<"First Name: "<<h[i].first_name<<endl;
        cout<<" Last Name: "<<h[i].last_name<<endl;
        cout<<"       Age: "<<h[i].age<<endl;
        cout<<"-----------------------------\n";
        }
    }
    cout<<endl;
}
void Poisk_2(human *h,int N)
{
    char family[25];
    cout<<"Enter family: ";
    cin>>family;
    for(int i=0;i<N;i++)
    {
        if(stricmp(h[i].last_name,family)==0)
        {
            cout<<"-----------------------------\n";
        cout<<"First Name: "<<h[i].first_name<<endl;
        cout<<" Last Name: "<<h[i].last_name<<endl;
        cout<<"       Age: "<<h[i].age<<endl;
        cout<<"-----------------------------\n";
        }
    }
    cout<<endl;
}
void Poisk_3(human *h,int N)
{
    int vozrast;
    cout<<"Enter vozrast: ";
    cin>>vozrast;
    for(int i=0;i<N;i++)
    {
        if(h[i].age==vozrast)
        {
            cout<<"-----------------------------\n";
        cout<<"First Name: "<<h[i].first_name<<endl;
        cout<<" Last Name: "<<h[i].last_name<<endl;
        cout<<"       Age: "<<h[i].age<<endl;
        cout<<"-----------------------------\n";
        }
    }
    cout<<endl;
}
Добавлено через 8 часов 59 минут
Помогите пожалуйста!!!!
Всю ночь бился - не получается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru