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

Функция добавления в файл. Классы - C++

Восстановить пароль Регистрация
 
funduk17
40 / 3 / 0
Регистрация: 20.05.2013
Сообщений: 66
11.02.2014, 21:45     Функция добавления в файл. Классы #1
По моему заданию нужно "добавить 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
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
struct music
{      
   int numb;
   string name;
   string autor;
   int time;
   int price;
};
void ShowData(music *M, int N)
{
   for (int i = 0; i < N; i++)
    {
     cout << M[i].numb  << endl;       
     cout << M[i].name  << endl;
     cout << M[i].autor << endl;
     cout << M[i].time  << endl;
     cout << M[i].price << endl;
     cout << endl;
    }}
void GetData(music *M,int N)
{for (int i=0; i < N; i++)
    {M[i].numb=i+1;
     cout << "NAZVANIE: "; cin >> M[i].name;
     cout << "AUTOR: ";    cin >> M[i].autor;
     cout << "TIME: ";     cin >> M[i].time;
     cout << "PRICE: ";    cin >> M[i].price;
     cout << endl;
    }}
void DeleteElem(int itime,music *M, int &N)
{
   for (int i = 0; i < N; i++)
    {if(M[i].time==itime)
         {for (int k = i; k < N-1; k++)
             {M[k].name=M[k+1].name;
              M[k].autor=M[k+1].autor;
              M[k].time=M[k+1].time;
              M[k].price=M[k+1].price;
               }
             N--;
             i--; 
         }}}
void StoreData(ofstream &out,music *M, int N)
{for (int i = 0; i < N; i++)
   {out << M[i].numb  << endl;
    out << M[i].name  << endl;
    out << M[i].autor << endl;
    out << M[i].time  << endl;
    out << M[i].price << endl;
    out << endl;} }
 
//void addition(music *M, int N)
//{for (int i=N-2; i < N; i++)
//    {M[i].numb=i+1;
//     cout << "NAZVANIE: "; cin >> M[i].name;
//     cout << "AUTOR: ";    cin >> M[i].autor;
//     cout << "TIME: ";     cin >> M[i].time;
//     cout << "PRICE: ";    cin >> M[i].price;
 //    cout << endl;
//    }}
int main()
{int N; cout << "Vvedite  Kollichestvo zapisey: "; cin >> N;
    music *M = new music[N];
    GetData(M, N);
    ofstream out("file.txt");
    StoreData(out,M, N);
    out.close();
    int time=60;
    DeleteElem(time,M,N);
    ShowData(M, N); 
    delete [] M;
    
//    addition(M, N+1);
//    ofstream out("file.txt", ios::app );
//    StoreData(out,M, N+1);
//    out.close();    
 
    system("PAUSE");
    return 0; 
}
Высвечивает ошибку на строку
C++
1
ofstream out("file.txt", ios::app );
Без момента в задании "добавить", программа полностью работает.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2014, 21:45     Функция добавления в файл. Классы
Посмотрите здесь:

функция для добавления матриц. C++
Функция добавления C++
класс список, функция добавления элемента в конец C++
C++ Не рабтает функция добавления данных в класс C++
C++ Функция добавления и увеличения элемента из очереди с приоритетами
C++ Функция добавления для множества
Некорректно работает функция добавления, указать ошибку C++
C++ Функция добавления элемента в кольцевой список

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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