Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
_Naron_
0 / 0 / 0
Регистрация: 15.01.2017
Сообщений: 1
1

почему в функции add не работает gets_s?

15.01.2017, 21:56. Просмотров 378. Ответов 2
Метки c++ (Все метки)

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
/*
Записи в линейном списке содержат ключевое поле типа *char(строка символов).
Сформировать двунаправленный список. Удалить К элементов из конца списка.
Добавить элемент после элемента с заданным ключом.
*/
#include<iostream>
#include<fstream>
using namespace std;
struct slark
{
    char M[256];
    slark *next, *prev;
};
slark * sbr(int n);
slark * gen(char ms[256]);
void del(slark *el, int n);
void add(slark *el);
void print(slark *et);
 
 
 
#include"def.h"
void main()
{
    setlocale(LC_ALL, "rus");
    int n;
    slark *el = new slark;
    cout << "Введите количество элемент === ";
    cin >> n;
    el = sbr(n);
    print(el);
    del(el,n);
    print(el);
    add(el);
    print(el);
    system("pause");
}
 
 
#include"def.h"
slark * sbr(int n)
{
    slark *el, *el2;
    char ms[256];
    for (int k = 0;k < n + 1;k++)
    {
        if (k!=0)
        cout << "Ввод в " << n - k + 1 << " элемент" << endl;
        gets_s(ms);
        el = gen(ms);
        if (k > 1)
        {
            el->next = el2;
            el2->prev = el;
        }
        if (k > 0)
        {
            el2 = el;
        }
        else
        {
            delete el;
        }
    }
    return (el);
}
slark * gen(char ms[256])
{
    slark *el;
    el = (slark*)malloc(sizeof(slark));
    strcpy(el->M,ms);
    el->next = NULL;
    el->prev = NULL;
    return(el);
}
void del(slark *el, int n)
{
    slark *e = el, *e1, *end;
    int k;
    cout << endl << "Введите К === ";
    cin >> k;
    for (int t = 0;t < n;t++)
    {
        if (t > n - k)
        {
            e1 = e;
            e = e->next;
            delete e1;
        }
        else
        {
            if (t == n - k)
            {
                end = e;
            }
            e = e->next;
        }
    }
    end->next = NULL;
}
void add(slark *el)
{
    slark *e = el, *e1, *e2;
    char pr[256], n[256];
    cout<< endl << "Введите ключ === ";
    gets_s(pr);cout << endl;
    while (e != NULL)
    {
        if (strcmp(pr, e->M) == 0)
        {
            cout << "Ввод в новый элемент" << endl;
            gets_s(n);
            e1 = gen(n);
            e2 = e->next;
            e->next = e1;
            e1->prev = e;
            e1->next = e2;
            e2->prev = e1;
            break;
        }
        else
        {
            e = e->next;
        }
    }
}
void print(slark *et)
{
    cout << endl << endl;
    int n = 1;
    slark *new_elem = et;
    while (new_elem != NULL)
    {
        cout << "Вывод № " << n << " : " << new_elem->M << endl;
        n++;
        new_elem = new_elem->next;
    }
}

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.01.2017, 21:56
Ответы с готовыми решениями:

Не работает gets_s()
Почему не работает gets_s()? Как исправить? Работаю в Visual Studio 2015. #include &lt;iostream&gt;...

Почему не работает Controls.Add()?
Всем добрый день. Я не так давно начал изучать C# и вот появилась проблема, которую я не смог...

Почему не работает метод Headers.Add?
не могу понять в чем поблема

Почему-то ADD FOREIGN KEY при ALTER TABLE не работает
После того как создал таблицы CREATE TABLE Customers ( CustomerID CHAR(5) NOT...

После компиляции dll в vc++ 2008 имя функции вот такое ?Add@MyMathFuncs@MathFuncs@@SAJJ@Z. Почему?
Я ожидал имя в dll Add@MyMathFuncs@MathFuncs Но не такое ?Add@MyMathFuncs@MathFuncs@@SAJJ@Z Вот...

2
nd2
3058 / 2563 / 1122
Регистрация: 29.01.2016
Сообщений: 8,625
15.01.2017, 22:08 2
Распространенные ошибки
0
zss
Модератор
Эксперт С++
8333 / 7390 / 4591
Регистрация: 18.12.2011
Сообщений: 19,572
Завершенные тесты: 1
15.01.2017, 22:29 3
Справка по функциям вызывается нажатием клавиши F1:
char *gets_s(
char *buffer,
size_t sizeInCharacters);
[out] buffer
Storage location for input string.

[in] sizeInCharacters
The size of the buffer.
И где в Вашем коде sizeInCharacters?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.01.2017, 22:29

Почему git add . и git add * это плохо? И как тогда быть?
Вопрос по гиту, почему git add . и git add * это плохо? и как тогда быть?

Почему не работает счетчик в функции?
я написал вот такую не хитрую функцию , в ней все работает как надо,кроме переменной &quot;V&quot; - в чем...

табуляция функции. почему не работает код?
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;stdlib.h&gt; #include &lt;cstdio&gt; using...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru