Ilo
3 / 3 / 0
Регистрация: 18.12.2013
Сообщений: 30

Как оформить операцию создания (формирования) массива структур из 5 полей (фамилия, имя, улица, дом, квартира) в виде функции?

12.01.2014, 20:52. Показов 1179. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как операцию создания массива структур (фамилия, имя, улица, № дома, № квартиры) записать в виде функции? Массив структур тут:
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
//control2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 #include <iostream>
 #include <fstream>
 #include <Windows.h>
 #include <string.h>
 
 using namespace std;
 const int NotUsed = system( "color F0" );
 
 struct student
 {
 char lastname[30];
 char firstname[30];
 char street[30];
 int house;
 int apartment;
 }mas;
 
 int _tmain(int argc, _TCHAR* argv[])
 {
 cout <<endl<<"Make"<<endl;
 int i;
 struct student mas[10];
 strcpy_s(mas[0].lastname, "Anisimov");
 strcpy_s(mas[0].firstname, "Anton");
 strcpy_s(mas[0].street, "Budanuva"); 
 mas[0].house=10;
 mas[0].apartment=3;
 strcpy_s(mas[1].lastname, "Bunin");
 strcpy_s(mas[1].firstname, "Pavel");
 strcpy_s(mas[1].street, "Oboronu"); 
 mas[1].house=20;
 mas[1].apartment=5;
 strcpy_s(mas[2].lastname, "Cuprin");
 strcpy_s(mas[2].firstname, "Vasiliy");
 strcpy_s(mas[2].street, "Lesnaay"); 
 mas[2].house=15;
 mas[2].apartment=8;
 strcpy_s(mas[3].lastname, "Dostoevskiy");
 strcpy_s(mas[3].firstname, "Igor");
 strcpy_s(mas[3].street, "Globova"); 
 mas[3].house=1;
 mas[3].apartment=15;
 strcpy_s(mas[4].lastname, "Esenin");
 strcpy_s(mas[4].firstname, "Evgeniy");
 strcpy_s(mas[4].street, "Respublikanskay"); 
 mas[4].house=56;
 mas[4].apartment=5;
 strcpy_s(mas[5].lastname, "Bach");
 strcpy_s(mas[5].firstname, "Anton");
 strcpy_s(mas[5].street, "Chmelnaay"); 
 mas[5].house=11;
 mas[5].apartment=88;
 strcpy_s(mas[6].lastname, "Pushkin");
 strcpy_s(mas[6].firstname, "Aleksandr");
 strcpy_s(mas[6].street, "Rechnaay"); 
 mas[6].house=132;
 mas[6].apartment=33;
 strcpy_s(mas[7].lastname, "Nosov");
 strcpy_s(mas[7].firstname, "Nikolay");
 strcpy_s(mas[7].street, "Treugolnaay"); 
 mas[7].house=16;
 mas[7].apartment=81;
 strcpy_s(mas[8].lastname, "Ostrovskiy");
 strcpy_s(mas[8].firstname, "Igor");
 strcpy_s(mas[8].street, "Komarskaay"); 
 mas[8].house=19;
 mas[8].apartment=8;
 strcpy_s(mas[9].lastname, "Asprin");
 strcpy_s(mas[9].firstname, "Robert");
 strcpy_s(mas[9].street, "Snezhnaay"); 
 mas[9].house=6;
 mas[9].apartment=24;
 for (i=0;i<10;i++)
 cout<<""<<mas[i].lastname<<" "<<mas[i].firstname<<" st. "<<mas[i].street<<" "<<mas[i].house<<", ap."<<mas[i].apartment<<endl; 
 system("pause");
 return 0;
 }

В первой контрольной работе (приводится ниже) операции с массивом (создание массива случайных чисел, вывод на экран, поиск максимума и минимума, сортировка, поиск заданного числа) в виде функций я оформил.
Мне нужен пример оформления операции по созданию массива структур в виде функции для второй контрольной работы.

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
//control.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <Windows.h>
#include <string.h>
#include <ctime> 
using namespace std;
const int NotUsed = system( "color F0" );
 
int make(int *mas);
int print(int *mas);
int minmax(int *mas);
int sort(int *mas);
int find(int *mas);
 
int _tmain(int argc, _TCHAR* argv[])
{
int option = 0;
while(option != -1) {
cout<<endl<<"1 - Make 2 - Print 3 - MinMax 4 - Sort 5 - Find 0 - Exit"<<endl;
cout<<"Input Num ";
cin >> option;
switch(option) {
    case 1:
int mas[100];
make(mas);
break;
    case 2:
print(mas);
break;
    case 3:
minmax(mas);
break;
    case 4:
sort(mas);
break;
    case 5:
find(mas);
break;
    case 0: return 0;
default:
cout <<endl<<"Error"<<endl;
                }
                   }
system("pause");
return 0;
}
int make(int *mas)
{
    cout <<endl<<"Make array"<<endl;
    srand((unsigned)time(0));
    for(int i=0; i<100; i++)
    { 
             mas[i] = (10+rand()%11); 
             cout<< "M[" << i << "]="<<mas[i]<<endl;
    }
    return *mas;
}
 
int print (int *mas)
{
    cout <<endl<<"Array"<<endl;
    for(int i=0; i<100; i++)
    { 
             cout<< "M[" << i << "]="<<mas[i]<<" ";
             if(i>0 && i%9 == 0 )  cout <<endl;
    }
    return *mas;
}
 
int minmax(int *mas)
{
    cout <<"MinMax"<<endl;
    int min, imin, max, imax;
    min=max=mas[0];
    imin=imax=0;
    for (int i=1; i<100; i++)
             if (mas[i]<min)
    { 
             min=mas[i];
             imin=i;
    }
    else
             if (mas[i]>max)
    { 
    max=mas[i];
    imax=i;
    }
    cout << "Max = "<< "M[" << imax << "]= "<< max << endl;
    cout << "Min = "<< "M[" << imin << "]= "<< min << endl;
    return *mas;
}
 
int sort(int *mas)
{
    cout <<endl<<"Sort"<<endl;
    for(int i=0; i<100; ++i)
    for(int j=i+1; j<100; ++j)
             if(mas[j]<mas[i])swap(mas[i],mas[j]);
    for(int i=0; i<100; ++i)
    cout<<""<<mas[i]<<endl;
    return *mas;
}
 
int find(int *mas)
{
    cout <<endl<<"Find"<<endl;
    int k, ok=0, nom, i;
    cout <<"Input value M: ";
    cin >> k;
    for(i = 0; i < 100; i++)
    if(mas[i] == k) {ok=1;nom=i;break;}
             if(ok==1)
    cout <<"Element M["<<nom<<"]="<<k<<endl;
             else 
    cout <<"There is no such element."<<endl;
    return *mas;
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.01.2014, 20:52
Ответы с готовыми решениями:

Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира)
2. Дан массив данных о клиентах пункта проката: фамилия, имя, отчество, адрес (улица, дом, квартира) и что взял (только один предмет). Во...

Опишите, используя структуру записи, данные о студентах (фамилия, улица, дом, квартира)
Помогите составить программу: Опишите, используя структуру записи, данные о студентах (фамилия, улица, дом, квартира). ...

Текстовые файлы: Дан файл f, содержащий сведения об учениках (фамилия, улица, дом, квартира)
Здравствуйте,помогите пожалуйста справится с задачей. Дан файл f, содержащий сведения об учениках (фамилия, улица, дом, квартира)....

4
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
13.01.2014, 10:04
Как оформить операцию создания (формирования) массива структур из 5 полей (фамилия, имя, улица, дом, квартира) в виде функции?
Как то так
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
struct student
 {
 char lastname[30];
 char firstname[30];
 char street[30];
 int house;
 int apartment;
 }
 
void input(student & st)
{
    std::cin >> st.lastname;
    std::cin >> st.firstname;
    std::cin >> st.street;
    std::cin >> st.house;
    std::cin >> st.apartment;
}
 
int main()
{ 
   const unsigned SIZE = 5;
   student st[SIZE];
   for(unsigned i = 0; i < SIZE; ++i)
       input(st[i]);
   return 0
}
0
Ilo
3 / 3 / 0
Регистрация: 18.12.2013
Сообщений: 30
13.01.2014, 13:52  [ТС]
Я имел в виду как этот массив структур (с уже введёнными значениями) записать в виде функции.
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
//control2.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
 #include <iostream>
 #include <fstream>
 #include <Windows.h>
 #include <string.h>
 
 using namespace std;
 const int NotUsed = system( "color F0" );
 
 struct student
 {
 char lastname[30];
 char firstname[30];
 char street[30];
 int house;
 int apartment;
 }mas;
 
 int _tmain(int argc, _TCHAR* argv[])
 {
 cout <<endl<<"Make"<<endl;
 int i;
 struct student mas[10];
 strcpy_s(mas[0].lastname, "Anisimov");
 strcpy_s(mas[0].firstname, "Anton");
 strcpy_s(mas[0].street, "Budanuva"); 
 mas[0].house=10;
 mas[0].apartment=3;
 strcpy_s(mas[1].lastname, "Bunin");
 strcpy_s(mas[1].firstname, "Pavel");
 strcpy_s(mas[1].street, "Oboronu"); 
 mas[1].house=20;
 mas[1].apartment=5;
 strcpy_s(mas[2].lastname, "Cuprin");
 strcpy_s(mas[2].firstname, "Vasiliy");
 strcpy_s(mas[2].street, "Lesnaay"); 
 mas[2].house=15;
 mas[2].apartment=8;
 strcpy_s(mas[3].lastname, "Dostoevskiy");
 strcpy_s(mas[3].firstname, "Igor");
 strcpy_s(mas[3].street, "Globova"); 
 mas[3].house=1;
 mas[3].apartment=15;
 strcpy_s(mas[4].lastname, "Esenin");
 strcpy_s(mas[4].firstname, "Evgeniy");
 strcpy_s(mas[4].street, "Respublikanskay"); 
 mas[4].house=56;
 mas[4].apartment=5;
 strcpy_s(mas[5].lastname, "Bach");
 strcpy_s(mas[5].firstname, "Anton");
 strcpy_s(mas[5].street, "Chmelnaay"); 
 mas[5].house=11;
 mas[5].apartment=88;
 strcpy_s(mas[6].lastname, "Pushkin");
 strcpy_s(mas[6].firstname, "Aleksandr");
 strcpy_s(mas[6].street, "Rechnaay"); 
 mas[6].house=132;
 mas[6].apartment=33;
 strcpy_s(mas[7].lastname, "Nosov");
 strcpy_s(mas[7].firstname, "Nikolay");
 strcpy_s(mas[7].street, "Treugolnaay"); 
 mas[7].house=16;
 mas[7].apartment=81;
 strcpy_s(mas[8].lastname, "Ostrovskiy");
 strcpy_s(mas[8].firstname, "Igor");
 strcpy_s(mas[8].street, "Komarskaay"); 
 mas[8].house=19;
 mas[8].apartment=8;
 strcpy_s(mas[9].lastname, "Asprin");
 strcpy_s(mas[9].firstname, "Robert");
 strcpy_s(mas[9].street, "Snezhnaay"); 
 mas[9].house=6;
 mas[9].apartment=24;
 for (i=0;i<10;i++)
 cout<<""<<mas[i].lastname<<" "<<mas[i].firstname<<" st. "<<mas[i].street<<" "<<mas[i].house<<", ap."<<mas[i].apartment<<endl; 
 system("pause");
 return 0;
 }
0
 Аватар для egor2116
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
13.01.2014, 14:08
Вы про циклы, что нибудь слышали ?
с уже введёнными значениями) записать в виде функции
Как то так
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
void input(student * mas, size_t SIZE)
{
 strcpy_s(mas[0].lastname, "Anisimov");
 strcpy_s(mas[0].firstname, "Anton");
 strcpy_s(mas[0].street, "Budanuva"); 
 mas[0].house=10;
 mas[0].apartment=3;
 strcpy_s(mas[1].lastname, "Bunin");
 strcpy_s(mas[1].firstname, "Pavel");
 strcpy_s(mas[1].street, "Oboronu"); 
 mas[1].house=20;
 mas[1].apartment=5;
 strcpy_s(mas[2].lastname, "Cuprin");
 strcpy_s(mas[2].firstname, "Vasiliy");
 strcpy_s(mas[2].street, "Lesnaay"); 
 mas[2].house=15;
 mas[2].apartment=8;
 strcpy_s(mas[3].lastname, "Dostoevskiy");
 strcpy_s(mas[3].firstname, "Igor");
 strcpy_s(mas[3].street, "Globova"); 
 mas[3].house=1;
 mas[3].apartment=15;
 strcpy_s(mas[4].lastname, "Esenin");
 strcpy_s(mas[4].firstname, "Evgeniy");
 strcpy_s(mas[4].street, "Respublikanskay"); 
 mas[4].house=56;
 mas[4].apartment=5;
 strcpy_s(mas[5].lastname, "Bach");
 strcpy_s(mas[5].firstname, "Anton");
 strcpy_s(mas[5].street, "Chmelnaay"); 
 mas[5].house=11;
 mas[5].apartment=88;
 strcpy_s(mas[6].lastname, "Pushkin");
 strcpy_s(mas[6].firstname, "Aleksandr");
 strcpy_s(mas[6].street, "Rechnaay"); 
 mas[6].house=132;
 mas[6].apartment=33;
 strcpy_s(mas[7].lastname, "Nosov");
 strcpy_s(mas[7].firstname, "Nikolay");
 strcpy_s(mas[7].street, "Treugolnaay"); 
 mas[7].house=16;
 mas[7].apartment=81;
 strcpy_s(mas[8].lastname, "Ostrovskiy");
 strcpy_s(mas[8].firstname, "Igor");
 strcpy_s(mas[8].street, "Komarskaay"); 
 mas[8].house=19;
 mas[8].apartment=8;
 strcpy_s(mas[9].lastname, "Asprin");
 strcpy_s(mas[9].firstname, "Robert");
 strcpy_s(mas[9].street, "Snezhnaay"); 
 mas[9].house=6;
 mas[9].apartment=24;
}
int _tmain(int argc, _TCHAR* argv[])
 {
 cout <<endl<<"Make"<<endl;
 int i;
 struct student mas[10];
 input(mas, 10);
 ///....
1
Ilo
3 / 3 / 0
Регистрация: 18.12.2013
Сообщений: 30
13.01.2014, 23:48  [ТС]
Я не волшебник, я только учусь. Спасибо за помощь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.01.2014, 23:48
Помогаю со студенческими работами здесь

Описать, используя структуру данных запись, данные на учеников (фамилия, улица, дом, квартира)
Описать, используя структуру данных запись, данные на учеников (фамилия, улица, дом, квартира). Составить программу, определяющую, сколько...

Описать, используя структуру данных запись, квартиросъемщика (фамилия и инициалы, город, улица, дом, квартира, количество комнат)
Помогите пожалуста!!!!!!!! Описать, используя структуру данных запись, квартиросъемщика (фамилия и инициалы, город, улица, дом,...

Запрос с параметрами Улица, Дом, Квартира, Жители
Добрый день! Сейчас делаю запрос с параметрами: Улица, Дом, Квартира, Жители. Надо, когда программа запрашивает , а пользователь не...

Вложенность типов адресса: улица, дом, квартира
Добрый вечер. Есть json строка, я пытаюсь разложить ее по типу: для каждой улицы свои дома, для дома - свои квартиры, но пока...

Выбор данных в связанных списках Улица, Дом, Квартира
Всем привет! Помогите, пожалуйста, реализовать выборку данных. На форме Выборка с полями Улица, Дом, Квартира - при выборе данных...


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

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

Новые блоги и статьи
Популярные LM модели ориентированы на увеличение затрат ресурсов пользователями сгенерированного кода (грязь -заслуги чистоплюев).
Hrethgir 12.06.2025
Вообще обратил внимание, что они генерируют код (впрочем так-же ориентированы разработчики чипов даже), чтобы пользователь их использующий уходил в тот или иной убыток. Это достаточно опытные модели,. . .
Топ10 библиотек C для квантовых вычислений
bytestream 12.06.2025
Квантовые вычисления - это та область, где теория встречается с практикой на границе наших знаний о физике. Пока большая часть шума вокруг квантовых компьютеров крутится вокруг языков высокого уровня. . .
Dispose и Finalize в C#
stackOverflow 12.06.2025
Работая с C# больше десяти лет, я снова и снова наблюдаю одну и ту же историю: разработчики наивно полагаются на сборщик мусора, как на волшебную палочку, которая решит все проблемы с памятью. Да,. . .
Повышаем производительность игры на Unity 6 с GPU Resident Drawer
GameUnited 11.06.2025
Недавно копался в новых фичах Unity 6 и наткнулся на GPU Resident Drawer - штуку, которая заставила меня присвистнуть от удивления. По сути, это внутренний механизм рендеринга, который автоматически. . .
Множества в Python
py-thonny 11.06.2025
В Python существует множество структур данных, но иногда я сталкиваюсь с задачами, где ни списки, ни словари не дают оптимального решения. Часто это происходит, когда мне нужно быстро проверять. . .
Работа с ccache/sccache в рамках C++
Loafer 11.06.2025
Утилиты ccache и sccache занимаются тем, что кешируют промежуточные результаты компиляции, таким образом ускоряя последующие компиляции проекта. Это означает, что если проект будет компилироваться. . .
Настройка MTProxy
Loafer 11.06.2025
Дополнительная информация к инструкции по настройке MTProxy: Перед сборкой проекта необходимо добавить флаг -fcommon в конец переменной CFLAGS в Makefile. Через crontab -e добавить задачу: 0 3. . .
Изучаем Docker: что это, как использовать и как это работает
Mr. Docker 10.06.2025
Суть Docker проста - это платформа для разработки, доставки и запуска приложений в контейнерах. Контейнер, если говорить образно, это запечатанная коробка, в которой находится ваше приложение вместе. . .
Тип Record в C#
stackOverflow 10.06.2025
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы. . .
Разработка плагина для Minecraft
Javaican 09.06.2025
За годы существования Minecraft сформировалась сложная экосистема серверов. Оригинальный (ванильный) сервер не поддерживает плагины, поэтому сообщество разработало множество альтернатив. CraftBukkit. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru