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

Ф-я добавления и удаления элемента - C++

Восстановить пароль Регистрация
 
kristi1
10 / 10 / 1
Регистрация: 07.03.2010
Сообщений: 465
07.05.2012, 20:32     Ф-я добавления и удаления элемента #1
Здравствуйте! Помогите пожалуйста, у меня есть программа, все отлично работает, но мне нужно реализовать удаление и добавление элемента в оба списка, помогите пожалуйста, а то как-то не понятно, вот собственно код программы, в котором добавление элемента в самом низу кода:

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
#include <string>
#include <fstream>
#include <iostream>
#include "conio.h"
 
using namespace std;
 
typedef struct BusInfo
{
    int nummarsh;
    char name[50];
    char from[50];
    char to[50];
    int price;
    int numofseats;
    
    BusInfo *next;
};
 
typedef struct PasInfo
{
    int nummarsh;
    string name;
    string from;
    string to;
    int price;
    int numofseats;
    
    PasInfo *next;
};
 
int main ()
{
    ifstream finp ("pass.txt"), fina ("auto.txt");
    ofstream fout ("protocol.txt"), fg ("out.txt");
    BusInfo *heada = NULL;
    PasInfo *headp = NULL;
/*  char test[1];
    finp >> test;
        if(test == "")
    {
        std::cout << "\tФайл pass.txt пуст" << std::endl;
        return 0;
    }
    finp.seekg( 0, std::ios::beg );
    fina >> test;
    if(test == "")
    {
        std::cout << "\tФайл auto.txt пуст" << std::endl;
        return 0;
    }*/
    fina.seekg( 0, std::ios::beg );
    int ma=0;
    
    while (!fina.eof())
    {
        BusInfo *cur = new BusInfo;
        cur->next = heada;
        fina >> cur->nummarsh;   fout << "Добавлено:" << cur->nummarsh<< "\n";
        fina >> cur->name;       fout << "Добавлено:" << cur->name << "\n";
        fina >> cur->from;       fout << "Добавлено:" << cur->from << "\n";
        fina >> cur->to;         fout << "Добавлено:" << cur->to<< "\n";
        fina >> cur->price;      fout << "Добавлено:" << cur->price<< "\n";
        fina >> cur->numofseats; fout << "Добавлено:" << cur->numofseats<< "\n";
 
        fout << "Маршрут добавлен:" << cur->name<< "\n\n";
        heada=cur; ma++;
    } 
    fout << "Добавлено маршрутов: " << ma << endl << endl << endl;
    fina.close();
    finp.seekg( 0, std::ios::beg );
    int pa=0;
    
    
    while (!finp.eof())
    {
        PasInfo *curs = new PasInfo;
        curs->next = headp;
        finp >> curs->nummarsh;   fout << "Добавлено:" << curs->nummarsh<< "\n";
        finp >> curs->name;       fout << "Добавлено:" << curs->name << "\n";
        finp >> curs->from;       fout << "Добавлено:" << curs->from << "\n";
        finp >> curs->to;         fout << "Добавлено:" << curs->to<< "\n";
        finp >> curs->price;      fout << "Добавлено:" << curs->price<< "\n";
        finp >> curs->numofseats; fout << "Добавлено:" << curs->numofseats<< "\n";
        
        fout << "Пассажир из очереди инициализирован как:" << curs->name<< "\n\n";
        headp=curs;pa++;
    } 
    fout << "Количество пассажиров в очереди = " << pa << endl << endl << endl;
    finp.close();
 
    BusInfo *cur=heada;
    while (cur) 
    {
        PasInfo *curs=headp;
        while (curs)
        { fout  << "Выполняется проверка маршрута и пассажира " 
                << cur->name << "  "
                << curs->name << endl;
            if (curs->nummarsh==cur->nummarsh 
             && curs->from==cur->from 
             &&curs->to==cur->to
             &&curs->price==cur->price
             && cur->numofseats-curs->numofseats>=0) 
             {
                 fout << "Пассажир добавлен в автобус\n\n";
                 cur->numofseats=cur->numofseats-curs->numofseats;
            }
            else fout << "Невозможно добавить пассажира\n\n";
            curs=curs->next;
        }
        cur=cur->next;
    }
 
    // getch ();
}
 
 
void EnterNewBus (int nummarsh, 
             char name[50], char from[50],  
             char to[50], int price, int numofseats, int &ma, ofstream fout)
{
        BusInfo *cur = new BusInfo;
        cur->next = heada;
        cin >> cur->nummarsh;    fout << "Добавлено:" << cur->nummarsh<< "\n";
        cin >> cur->name;        fout << "Добавлено:" << cur->name << "\n";
        cin >> cur->from;        fout << "Добавлено:" << cur->from << "\n";
        cin >> cur->to;      fout << "Добавлено:" << cur->to<< "\n";
        cin >> cur->price;       fout << "Добавлено:" << cur->price<< "\n";
        cin >> cur->numofseats; fout << "Добавлено:" << cur->numofseats<< "\n";
        fout << "Маршрут добавлен:" << cur->name<< "\n\n";
        heada=cur; ma++;
}
 
Заранее благодарна!
Добавлено через 6 часов 9 минут
Все, я сама разобралась)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2012, 20:32     Ф-я добавления и удаления элемента
Посмотрите здесь:

C++ Функции добавления, удаления данных в массиве.
C++ не работает функции удаления и добавления данных в класс
C++ Реализовать приложение, содержащее функции добавления нового элемента в массив и удаления элемента из массива. (Имитируется “резиновый” массив)
C++ функция удаления и добавления элементов. что не так с програмой?
Стеки, функции добавления и удаления элементов C++
Какой контейнер выбрать (Нужен массив, с возможностью добавления и удаления элементов)? C++
C++ Методы добавления, удаления объекта
Формирования массивов Y и Z, определения максимального по модулю элемента, удаления элемента C++

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

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

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