Форум программистов, компьютерный форум CyberForum.ru

Можно ли использовать такую конструкцию? - C++

Восстановить пароль Регистрация
 
ovner
7 / 7 / 0
Регистрация: 06.10.2012
Сообщений: 140
11.07.2013, 19:22     Можно ли использовать такую конструкцию? #1
Здраствуйте! Нужно ввести несколько работником тоесть их ФИО и зарплату.
Можно ли использовать для ввода ФИО работников двумерный массив string и работать с ним? Потом еще надо будет отсортировать работников по алфавиту.

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
#include <iostream>
#include <string>
using namespace std;
 
class A
{
private:
    string S[20][20];
public:
    A(){};
    ~A(){};
    void in(int a)
    {
        for (int i = 0; i < a; i++)
        getline (cin, S[i][i]);
    }
    void out(int a)
    {
        for (int i = 0; i < a; i++)
        cout << S[i][i] << endl;
    }
};
 
void main()
{
    A obj;
    obj.in(3);
    obj.out(3);
    cin.get();
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
328 / 405 / 24
Регистрация: 27.05.2012
Сообщений: 1,162
Завершенные тесты: 2
11.07.2013, 19:34     Можно ли использовать такую конструкцию? #2
а нельзя ФИО хранить в одной строке? не понятно зачем двумерный массив
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
12.07.2013, 05:41     Можно ли использовать такую конструкцию? #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
#include <iostream>
#include <string>
using namespace std;
 
class A
{
private:
    string fio;
public:
    A(){};
    ~A(){};
    void in()
    {
        
        getline (cin, fio);
    }
    void out()
    {
       cout << fio << endl;
    }
};
 
int main()
{
    A obj[3];
    for (int i = 0; i < 3; ++i)
        obj[i].in();
    for (int i = 0; i < 3; ++i) 
        obj[i].out();
 
    cin.get();
    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
#include <iostream>
#include <string>
using namespace std;
 
class A
{
private:
    string family;
    string name;
    string otch;
public:
    A(){};
    ~A(){};
    void in()
    {
        cin >> family >> name >> otch;
    }
    
    void out()
    {
        cout << family << ' ' << name << ' ' << otch << endl;
    }
};
 
int main()
{
    A obj[3];
    for (int i = 0; i < 3; ++i)
        obj[i].in();
    for (int i = 0; i < 3; ++i) 
        obj[i].out();
 
    cin.get();
    cin.get();
    return 0;
}
nxtech
77 / 59 / 2
Регистрация: 26.06.2013
Сообщений: 198
12.07.2013, 07:21     Можно ли использовать такую конструкцию? #4
Хранить ФИО, как предложил alsav22 (одной или тремя отдельными, по моему не очень важно, хотя если требуется сортировка только по фамилии, то наверное тремя). Для хранения массива реализовать отдельный класс, используя, например, std::vector<A*> arr. В этом классе реализовать методы добавления (и удаления) записей и сортировки (например, std::sort)
Yandex
Объявления
12.07.2013, 07:21     Можно ли использовать такую конструкцию?
Ответ Создать тему
Опции темы

Текущее время: 07:30. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru