0 / 0 / 0
Регистрация: 07.05.2009
Сообщений: 15
1

Сделать через классы и чтобы были методы: удалить, изменить, добавить

16.11.2012, 19:56. Показов 830. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Эту прогу нужно сделать через классы и чтобы были методы: удалить, изменить, добавить...и желательно расписать построчно (что каждая строчка означает)

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
// ConsoleApplication1.cpp: главный файл проекта.
#include "stdafx.h"
#include <iostream>
using namespace System;
using namespace std;
struct jour{
 
int nomer;
int tiraj;
jour *next;
} *s;
 
int main() {
int jtiraj,jnomer,i,m;
 
cin » jnomer; cout « endl;
cin » jtiraj; cout « endl;
 
jour *p;
p = new jour;
p->nomer = jnomer;
p->tiraj = jtiraj;
p->next = NULL;
s=p;
 
for (s; s!=NULL; s=s->next) {
 
cout « s->nomer « endl;
cout « s->tiraj « endl;
cout « endl;
}
system("pause");
}
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.11.2012, 19:56
Ответы с готовыми решениями:

Стек. Что добавить в код, или как изменить его, чтобы в нём были структуры ?
Программа выводит второй стек, состоящий из положительных элементов первого стека. Преподаватель...

Как сделать объекты в VBA чтобы были методы, свойства, события?
подскажите как сделать объекты в VBA чтобы были методы, свойства события. Как в Делфи сделанно.

Классы (сделать так, чтобы действия из класса были одновременно на 2-х формах)
У меня есть класс, который подключён к Unit1 и он работает с формой. Почему-то когда переношу код...

Стек. Что добавить в код, или как изменить его, чтобы в нём были структуры ?
Программа выводит второй стек, состоящий из положительных элементов первого стека. Преподаватель...

7
3 / 3 / 1
Регистрация: 10.11.2012
Сообщений: 63
16.11.2012, 21:05 2
Знаете, напишите по русски задачу. В этом ужасе невозможно понять о чем она, хоть бы на английском написана была.
0
0 / 0 / 0
Регистрация: 07.05.2009
Сообщений: 15
16.11.2012, 21:29  [ТС] 3
Создать программу по работе со списками через классы. Сделать методы добавления в список, удаления и редактирования.
0
3 / 3 / 1
Регистрация: 10.11.2012
Сообщений: 63
16.11.2012, 21:31 4
Чего добавлять? Какое условие? Ограничения.
0
0 / 0 / 0
Регистрация: 07.05.2009
Сообщений: 15
16.11.2012, 21:41  [ТС] 5
Добавлять запись, затем иметь возможность ее редактировать и удалять...условий и ограничений нет
0
3 / 3 / 1
Регистрация: 10.11.2012
Сообщений: 63
17.11.2012, 10:59 6
Все работает, но существует непонятная мне ошибка, из за которой пришлось ставить костыль
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
#include <iostream>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
class Notes {
    typedef pair<uint, string> value_type;
private:
    map<uint,string> list;
    uint id_index; //Cледующий номер id
    const string error;
    const string success;
private:
    inline bool note_existence(const uint& id);
public:
    Notes();
    ~Notes();
public:
    string get_note(const uint& id);
    void add_note(const string& note);
    void change_note(const uint& id);
    void delete_note(const uint& id);
};
int main(int argc, char* argv[])
{
    Notes notes;
    string s = "";
    int numb = 0;
    for(int i = 0;;) {
        cout << "0 - get note" << endl
                << "1 - add note" << endl
                << "2 - change note" << endl
                << "3 - delete note" << endl
                << "-1 - quit" << endl << endl
                << "Enter a number: ";
        cin >> numb;
        while(numb != 0 && numb != 1 && numb != 2 && numb != 3 && numb != -1)
        {
            cout << "Incorrect number! Try again: ";
            cin >> numb;
        }
        if(!numb) {
            cout << "Enter id: ";
            cin >> numb;
            cout << notes.get_note(numb) << endl;
        } else if(numb == 1) {
            cout << "Enter a note with id(" << i << "): ";
            s.clear();
            while(!s.size()) //Костыль
                getline(cin,s);
            notes.add_note(s);
            ++i;
        } else if(numb == 2) {
            cout << "Enter note's id: ";
            cin >> numb;
            notes.change_note(numb);
        } else if(numb == 3){
            cout << "Enter note's id: ";
            cin >> numb;
            notes.delete_note(numb);
        } else
            break;
    }
    return 0;
}
 
Notes::Notes() : id_index(0),
        error ("Error: There isn't any note with such id!"),
        success ("Success!") {}
Notes::~Notes(){}
inline bool Notes::note_existence(const uint& id)
{
    return list.find(id) != list.end() ? true : false;
}
string Notes::get_note(const uint& id)
{
    if(note_existence(id))
        return list.find(id)->second;
    else
        return error;
}
void Notes::add_note(const string& note)
{
    list.insert(value_type(id_index, note));
    ++id_index;
    cout << success << endl;
}
void Notes::change_note(const uint& id)
{
    if(!note_existence(id)) {
        cout << error << endl;
        return;
    }
    map<uint,string>::iterator it = list.find(id);
    cout << "Note with id(" << id << "): " << it->second << endl;
    cout << "Enter new note: ";
    string s = "";
    while(!s.size()) //Костыль
        getline(cin, s);
    it->second = s;
    cout << success << endl;
}
void Notes::delete_note(const uint& id)
{
    if(!note_existence(id)) {
        cout << error << endl;
        return;
    }
    list.erase(list.find(id));
    cout << success << endl;
}
Добавлено через 11 часов 31 минуту
Если возникает ошибка с uint,то поменяйте
C++
1
2
class Notes {
    typedef pair<uint, string> value_type;
На
C++
1
2
3
class Notes {
    typedef unsigned int uint;
    typedef pair<uint, string> value_type;
0
0 / 0 / 0
Регистрация: 07.05.2009
Сообщений: 15
17.11.2012, 12:57  [ТС] 7
Спасибо Вам огромное...очень выручили...если Вас не затруднит можете каждую строчку коротко расписать словами (что делает)...чтобы я хоть поняла...заранее спасибо)
0
3 / 3 / 1
Регистрация: 10.11.2012
Сообщений: 63
17.11.2012, 23:14 8
Комментить функцию main не буду
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
#include <iostream>
#include <algorithm>
#include <map>
#include <string>
using namespace std;
class Notes {
    typedef pair<uint, string> value_type;
private:
    map<uint,string> list; //Ассоциативный массив id => Запись
    uint id_index; //Cледующий номер id
    const string error; // Константа 'Ошибка при поиске записи'
    const string success; // Константа 'Функция отработала правильно'
private:
    inline bool note_existence(const uint& id); //Поиск id
public:
    Notes();
    ~Notes();
public:
    string get_note(const uint& id); //Вернуть запись с опр-ым id
    void add_note(const string& note); //Добавить новую запись
    void change_note(const uint& id); //Поменять существующую
    void delete_note(const uint& id); //Удалить запись
};
int main(int argc, char* argv[])
{
    Notes notes;
    string s = "";
    int numb = 0;
    for(int i = 0;;) {
        cout << "0 - get note" << endl
                << "1 - add note" << endl
                << "2 - change note" << endl
                << "3 - delete note" << endl
                << "-1 - quit" << endl << endl
                << "Enter a number: ";
        cin >> numb;
        while(numb != 0 && numb != 1 && numb != 2 && numb != 3 && numb != -1)
        {
            cout << "Incorrect number! Try again: ";
            cin >> numb;
        }
        if(!numb) {
            cout << "Enter id: ";
            cin >> numb;
            cout << notes.get_note(numb) << endl;
        } else if(numb == 1) {
            cout << "Enter a note with id(" << i << "): ";
            s.clear();
            while(!s.size()) //Костыль
                getline(cin,s);
            notes.add_note(s);
            ++i;
        } else if(numb == 2) {
            cout << "Enter note's id: ";
            cin >> numb;
            notes.change_note(numb);
        } else if(numb == 3){
            cout << "Enter note's id: ";
            cin >> numb;
            notes.delete_note(numb);
        } else
            break;
    }
    return 0;
}
 
Notes::Notes() : id_index(0), //Изначальный индекс - 0
        error ("Error: There isn't any note with such id!"), //Значение константы error
        success ("Success!") {} //Значение константы success
Notes::~Notes(){}
inline bool Notes::note_existence(const uint& id)
{
    return list.find(id) != list.end() ? true : false; //Если существует id -> true
}
string Notes::get_note(const uint& id)
{
    if(note_existence(id)) //Если существует id
        return list.find(id)->second; //Возвращаем запись
    else
        return error;
}
void Notes::add_note(const string& note)
{
    list.insert(value_type(id_index, note)); //Вставляем запись с новым индексом
    ++id_index; //Увеличиваем значение будущего индекса на 1
    cout << success << endl;
}
void Notes::change_note(const uint& id)
{
    if(!note_existence(id)) { //Проверка сущ-я id
        cout << error << endl;
        return;
    }
    map<uint,string>::iterator it = list.find(id); //Вывод действующей записи
    cout << "Note with id(" << id << "): " << it->second << endl;
    cout << "Enter new note: ";
    string s = "";
    while(!s.size()) //Костыль
        getline(cin, s); //Считываем новую запись
    it->second = s; //Заменяем старую на новую
    cout << success << endl;
}
void Notes::delete_note(const uint& id)
{
    if(!note_existence(id)) { //Проверка сущ-я id
        cout << error << endl;
        return;
    }
    list.erase(list.find(id)); //Удаляем запись с указанным id
    cout << success << endl;
}
0
17.11.2012, 23:14
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2012, 23:14
Помогаю со студенческими работами здесь

Как сделать чтобы в label1 через timer1 были часы
Как сделать чтобы в label1 через timer1 были часы

Нужно сделать на javascript светофор, чтобы его цвета были сделаны через фильтр GLOW
Мне нужно сделать на javascript светофор,ну как настоящий..переключается как надо.и плюс к этому...

Как добавить, удалить или изменить запись в ListBox, чтобы при этом изменения сохранились в базе данных?
Как добавить, удалить или изменить запись в Listbox, чтобы при этом изменения сохранились в базе...

TabControl - сделать так, чтобы на первой странице были одни элементы, а на другой были другие элементы
Есть tabControl. Хочу сделать так, чтобы на первой странице были одни элементы, а на другой были...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
В чем отличие между INNER JOIN и OUTER JOIN
bytestream 22.01.2025
В современных базах данных информация часто распределена между множеством взаимосвязанных таблиц, что делает операции объединения JOIN неотъемлемой частью работы с SQL. Эти операции позволяют. . .
Как сделать первую букву заглавной в JavaScript
bytestream 22.01.2025
JavaScript предоставляет разработчикам множество инструментов для эффективной работы с текстовыми данными. Одной из часто встречающихся задач при обработке строк является преобразование первой буквы. . .
Что такое Big O нотация и алгоритмическая сложность
bytestream 22.01.2025
Введение в алгоритмическую сложность В мире разработки программного обеспечения эффективность алгоритмов играет crucial роль в создании качественных приложений. Алгоритмическая сложность. . .
Как решать конфликты слияния (merge) в Git
bytestream 22.01.2025
Конфликты слияния в системе контроля версий Git возникают в ситуациях, когда две или более ветки разработки содержат несовместимые изменения в одних и тех же участках кода. Эти конфликты представляют. . .
Как использовать регулярные выражения
bytestream 22.01.2025
Регулярные выражения представляют собой мощный инструмент для работы с текстовыми данными, который позволяет осуществлять поиск, проверку и манипуляцию строками на основе определенных шаблонов. Этот. . .
Как выйти из Vim
bytestream 22.01.2025
Vim (Vi IMproved) представляет собой один из самых влиятельных текстовых редакторов в истории компьютерной индустрии, эволюционировавший из своего предшественника Vi, созданного Биллом Джоем в 1976. . .
NoSQL базы данных: что это такое и какие существуют
bytestream 22.01.2025
В современную эпоху цифровой трансформации объемы данных растут экспоненциально, создавая новые вызовы для традиционных систем управления базами данных. NoSQL (Not Only SQL) представляет собой. . .
Обновление исследования от команды MCM (январь 2025 г.)
Programma_Boinc 22.01.2025
Обновление исследования от команды MCM (январь 2025 г. ) Мы продолжаем изучать молекулярные сигнатуры, связанные с раком легких, с текущим фокусом на GCM1, факторе транскрипции, участвующем в. . .
Как работать с Kafka в Go (Golang)
bytestream 22.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки событий и интеграции микросервисов. Эта система, изначально. . .
Как использовать RabbitMQ в Go (Golang)
bytestream 22.01.2025
RabbitMQ представляет собой надежный и широко используемый брокер сообщений, который играет ключевую роль в построении современных распределенных систем и микросервисной архитектуры. В основе работы. . .
Как преобразовать список списков в простой список в Python
bytestream 22.01.2025
При работе с Python разработчики часто сталкиваются с необходимостью обработки сложных структур данных, среди которых особое место занимают вложенные списки. Эти структуры представляют собой списки,. . .
Что такое GUID / UUID и как их создать
bytestream 22.01.2025
В мире разработки программного обеспечения существует постоянная потребность в уникальной идентификации объектов, записей и ресурсов. Эта задача становится особенно актуальной в распределенных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru