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

Реализация ф-ции удаления элемента из списка - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Кошелек. Нужно дописать метод который бы позволял юзеру http://www.cyberforum.ru/cpp-beginners/thread1755264.html
в выбранном им кошельке в ручном режиме изменить количество купюр с пересчетом общего количества денег. Вот то что есть. Код: #include <iostream> #include <Windows.h> #include <ctime> #include <fstream> #include <vector> #include <string> #include <conio.h> #define n 20
C++ Builtin функции Погружение в сабж. Компилятор gcc. Имеет ли смысл вообще их изучать, какие из них действительно надо знать, ибо полезные? И вообще, как можно относиться к их использованию в коде? http://www.cyberforum.ru/cpp-beginners/thread1755256.html
C++ Даны три случайных однозначных числа. Вывести на экран квадраты нечетных чисел. Использовать подпрограмму, опр
Даны три случайных однозначных числа. Вывести на экран квадраты нечетных чисел. Использовать подпрограмму, определяющую нечетность числа.
C++ Очистка памяти при завершении работы функции, как правильно возвращать значения?
Я вывел для себя 2 способа возвращать значения работы функции string Add(string a1, string a2) { string returnStr; returnStr += a1 + "\n"; returnStr += a2 + "\n"; return returnStr; }
C++ Строки в С++ http://www.cyberforum.ru/cpp-beginners/thread1755229.html
Помогите пожалуйста решить эту задачу: дан текст. Найти все слова, содержащие букву а. Если можно написать простую программу , что-то похожее на эту, которую я написал для подсчета слов. #include "stdafx.h" #include <iostream> #include <cstring> using namespace std; void main() { char s; cout<<"Tekst: "; gets(s);
C++ Построение Эллипса Построить Эллипс в среде программирования C++ с эксцентриситетом 3.14 и что бы фокус эллипса совпадал с началом координат. подробнее

Показать сообщение отдельно
ex1t3
0 / 0 / 0
Регистрация: 09.11.2014
Сообщений: 19
05.06.2016, 17:25     Реализация ф-ции удаления элемента из списка
Здравствуйте. У меня задание - создать список и интерфейс работы с ним (1-создание списка, 2 вывод списка, 3 удаление элемента, 4 звпись в файл). Все работает, кроме удаления. Не знаю как оборудувать сию функцию, чтобы все работало как положено. Функция удаления под названием burner(); Пожалуйста, помогите
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
#include "stdafx.h"
#include "iostream"
#include "fstream"
 
using namespace std;
const int siz = 30;
class students
{
public:
    char sur[siz];
    char name[siz];
    char sex[6];
    int born, id;
    void input()
    {
        cout << "Type ID: "; cin >> id;
        cout << "Type a surname of student: "; cin >> sur;
        cout << "Type a name of student: "; cin >> name;
        cout << "Type the year of student's birth: "; cin >> born;
        cout << "Type a student's sex: "; cin >> sex;
    }
    
    friend ostream& operator<<(ostream& s, students& ob);
    void rec()
    {
        ofstream F("xxx.txt", ios::app);
        F << "Surname of the student: " << sur << endl;
        F << "Name of the student: " << name << endl;
        F << "The year of student's birth: " << born << endl;
        F << "Student's sex: " << sex << endl;
 
            F << endl;
        F.close();
    }
};
 
ostream& operator<<(ostream& s, students& ob)
    {
        cout << "ID: " << ob.id << endl;
        cout << "Surname of the student: " << ob.sur << endl;
        cout << "Name of the student: " << ob.name << endl;
        cout << "The year of student's birth: " << ob.born <<endl;
        cout << "Student's sex: " << ob.sex << endl;
        return s;
        
    }
template <class type>
struct info
{
    type data;
    int n;
    info* next;
};
template <class type>
class infolist
{
public:
    info <type>* first;
    infolist()
    {
        first = NULL;
    }
    void display();
    void additem(type d);
    void burner(type d, int k);
};
template <class type>
    void infolist <type>::additem(type d)
    {
        info <type>* newinfo = new info <type>;
        newinfo->data = d;
        newinfo->next = first;
        first = newinfo;
 
    }
 
    template <class type>
    void infolist <type>::display()
    {
 
        info <type>*current = first;
        while (current != NULL)
        {
            cout << current->data;
            current = current->next;
        }
    }
    template <class type>
 
    void infolist <type>::burner(type d, int k)
    {
        info <type>* newinfo = new info <type>;
        info <type>*current = first;
        newinfo->data = d;
 
        for (int i = 0; i < k; i++)
        {
            cout << current->data;
            if (i == k && k == d.id) { current = current->next; }
            
        }
 
            
        
    }
        
    
 
int main()
{
    infolist <students> obj;
    students baseobj;
    int k, choise, p;
    do
    {
        cout << "1. Create a list " << endl;
        cout << "2. Show me records" << endl;
        cout << "3. Delete record" << endl;
        cout << "4. Save records in file" << endl;
        cout << "5. EXIT..." << endl;
        cin >> k;
        switch (k)
        {
        case 1: {cout << "Type amount of records: "; cin >> choise;
            for (int i = 1; i <= choise; i++)
            {
                baseobj.input();
                obj.additem(baseobj);
            } break; }
        case 2: { obj.display(); break; }
        case 3: { cout << "Type id to delete record: "; cin >> p; obj.burner(baseobj,p); break; }
        case 4: {baseobj.rec(); break; }
        case 5: system("exit"); break;
        default: cout << "Ooops, something went wrong";
            break;
        }
    } while (k != 5);
    
    cout << endl;
    system("PAUSE");
    return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 07:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru