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

Передача вектора структур в функцию

29.12.2017, 17:07. Просмотров 217. Ответов 11
Метки нет (Все метки)

Как передать значение вектора структур в функцию visual?
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
#include "stdafx.h"
#include <conio.h>
#include <windows.h>
#include <vector>
 
using namespace std;
 
struct pupil
{
    char name[30];
    char surname[30];
    char otch[30];
    char birth[10];
    int mark;
};
 
int mass()                      //масив структур
{
    int choice = 1;
 
    vector <pupil> mass;
    pupil stud;
 
    while (choice == 1)
    {
        printf("Введите имя абитуриента : ");
        scanf("%s", stud.name);
 
        printf("Введите фамилию абитуриента : ");
        scanf("%s", stud.surname);
 
        printf("Введите отчество абитуриента : ");
        scanf("%s", stud.otch);
 
        printf("Введите дату рождения абитуриента : ");
        scanf("%s", stud.birth);
 
        printf("Введите отметку абитуриента : ");
        scanf("%i", &stud.mark);
 
        printf("-----------------------------------------------\n");
 
        printf("Будете ли вы вводить ещё абитуриентов? (1 - да)(0 - нет) : ");
        scanf("%i", &choice);
        printf("-----------------------------------------------\n");
 
        mass.push_back(stud);
    }
 
    return 0;
}
 
 
int visual(vector<pupil> mass)
{
 
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    mass();
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2017, 17:07
Ответы с готовыми решениями:

Передача массива структур в функцию
День добрый, учусь работать с структурами. #include &quot;stdafx.h&quot; #include...

Передача массива структур в функцию
В общем проблема с передачей массива структур в функцию... Структура описана...

Передача массива структур в функцию
Помогите пожалуйста исправить ошибку. Массив student std должен передаваться в...

Передача вектора в функцию
Как правильно передавать вектор в функцию? Опускаю подробности его...

Передача вектора в функцию.
Сабж. #include &lt;iostream&gt; #include &lt;vector.h&gt; void show (); // ? int...

11
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
29.12.2017, 17:16 2
Цитата Сообщение от Keks_Stolicny Посмотреть сообщение
Как передать значение вектора структур в функцию visual?
не создавать его в функции mass, а создать в main
0
_stanislav
Рука
393 / 363 / 199
Регистрация: 16.08.2014
Сообщений: 1,630
Завершенные тесты: 2
29.12.2017, 17:19 3
Keks_Stolicny,
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
#include "stdafx.h"
#include <conio.h>
#include <windows.h>
#include <vector>
 
using namespace std;
 
struct pupil
{
    char name[30];
    char surname[30];
    char otch[30];
    char birth[10];
    int mark;
};
 
int mass(vector<pupil>& mass)                      //массив структур
{
    int choice = 1;
 
    pupil stud;
 
    while (choice == 1)
    {
        printf("Введите имя абитуриента : ");
        scanf("%s", stud.name);
 
        printf("Введите фамилию абитуриента : ");
        scanf("%s", stud.surname);
 
        printf("Введите отчество абитуриента : ");
        scanf("%s", stud.otch);
 
        printf("Введите дату рождения абитуриента : ");
        scanf("%s", stud.birth);
 
        printf("Введите отметку абитуриента : ");
        scanf("%i", &stud.mark);
 
        printf("-----------------------------------------------\n");
 
        printf("Будете ли вы вводить ещё абитуриентов? (1 - да)(0 - нет) : ");
        scanf("%i", &choice);
        printf("-----------------------------------------------\n");
 
        mass.push_back(stud);
    }
 
    return 0;
}
 
 
int visual(vector<pupil>& mass)
{
 
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    vector<pupil> mass;
    mass(mass);
    visual(mass);
 
    return 0;
}
0
Keks_Stolicny
5 / 5 / 3
Регистрация: 22.10.2017
Сообщений: 142
29.12.2017, 17:20  [ТС] 4
Raali, мне по заданию так нельзя)
0
Antikl
с++
298 / 289 / 155
Регистрация: 15.07.2015
Сообщений: 1,553
Завершенные тесты: 6
29.12.2017, 17:24 5
Цитата Сообщение от Keks_Stolicny Посмотреть сообщение
Как передать значение вектора структур в функцию visual?
а дальше что в этой функции будет?
0
Keks_Stolicny
5 / 5 / 3
Регистрация: 22.10.2017
Сообщений: 142
29.12.2017, 17:26  [ТС] 6
Antikl, вывод на экран, там ещё штуки 3 функций будет. Мне бы узнать как правильно делать return с вектором, то вообще идеально было бы
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
29.12.2017, 17:34 7
Цитата Сообщение от Keks_Stolicny Посмотреть сообщение
Мне бы узнать как правильно делать return с вектором
как и со всеми остальными типами

C++
1
2
3
4
5
vector<pupil> mass()
{
  vector<pupil> m;
  return m;
}
1
Keks_Stolicny
5 / 5 / 3
Регистрация: 22.10.2017
Сообщений: 142
29.12.2017, 17:48  [ТС] 8
Raali, отлично, а в мейне объявить как?
C++
1
visual(&mass);
так?
0
Raali
639 / 343 / 74
Регистрация: 06.07.2013
Сообщений: 1,107
Завершенные тесты: 1
29.12.2017, 17:56 9
нет, еще проще, с учетом объявления
C++
1
int visual(vector<pupil>& mass)
вызывать так-

C++
1
visual(mass);
только mass у тебя функция так называется, переименую свой вектор тогда как то, а то одинаковые имена что для массива что для функции

а, погоди, ты хочешь сразу с ретурна послать в visual- тогда так-

C++
1
visual(mass());
1
Keks_Stolicny
5 / 5 / 3
Регистрация: 22.10.2017
Сообщений: 142
29.12.2017, 18:05  [ТС] 10
Raali,
Ошибка C2664 "void visual(std::vector<pupil,std::allocator<_Ty>> &)": невозможно преобразовать аргумент 1 из "std::vector<pupil,std::allocator<_Ty>> (__cdecl *)(void)" в "std::vector<pupil,std::allocator<_Ty>> &"

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
#include "stdafx.h"
#include <conio.h>
#include <windows.h>
#include <vector>
 
using namespace std;
 
struct pupil
{
    char name[30];
    char surname[30];
    char otch[30];
    char birth[10];
    int mark;
};
 
vector <pupil> mass()                       //масив структур
{
    int choice = 1;
 
    vector <pupil> m;
    pupil stud;
 
    while (choice == 1)
    {
        printf("Введите имя абитуриента : ");
        scanf("%s", stud.name);
 
        printf("Введите фамилию абитуриента : ");
        scanf("%s", stud.surname);
 
        printf("Введите отчество абитуриента : ");
        scanf("%s", stud.otch);
 
        printf("Введите дату рождения абитуриента : ");
        scanf("%s", stud.birth);
 
        printf("Введите отметку абитуриента : ");
        scanf("%i", &stud.mark);
 
        printf("-----------------------------------------------\n");
 
        printf("Будете ли вы вводить ещё абитуриентов? (1 - да)(0 - нет) : ");
        scanf("%i", &choice);
        printf("-----------------------------------------------\n");
 
        m.push_back(stud);
    }
 
    return m;
}
 
 
void visual(vector<pupil> &mass)
{
    vector <pupil> k;
 
 
}
 
 
int main()
{
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    mass();
    visual(mass);
 
    return 0;
}
0
Selot
189 / 125 / 52
Регистрация: 19.01.2010
Сообщений: 508
Завершенные тесты: 2
29.12.2017, 18:32 11
C++
1
2
3
4
...    
vector<pupil> v = mass();
visual(v);
...
1
Keks_Stolicny
5 / 5 / 3
Регистрация: 22.10.2017
Сообщений: 142
29.12.2017, 19:06  [ТС] 12
Selot, Raali, спасибо большое)
0
29.12.2017, 19:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2017, 19:06

Передача вектора в функцию
Сабж. В главной программе есть структура: struct Complex { double Re;...

Передача вектора в функцию
void foo(vector&lt;int&gt; x) { //Тело функции } void foo(vector&lt;int&gt; &amp;x) {...

Передача вектора в функцию
И снова я сюда) Еще раз всем привет. Как передать ветор в функцию? Пробовал...


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

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

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