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

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

12.01.2014, 20:52. Показов 1075. Ответов 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2014, 20:52
Ответы с готовыми решениями:

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

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

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

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

4
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
13.01.2014, 10:04 2
Как оформить операцию создания (формирования) массива структур из 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  [ТС] 3
Я имел в виду как этот массив структур (с уже введёнными значениями) записать в виде функции.
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
584 / 387 / 216
Регистрация: 20.01.2013
Сообщений: 1,169
13.01.2014, 14:08 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
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  [ТС] 5
Я не волшебник, я только учусь. Спасибо за помощь.
0
13.01.2014, 23:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2014, 23:48
Помогаю со студенческими работами здесь

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

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

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

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru