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

всеми любимые структуры

15.03.2013, 03:43. Просмотров 357. Ответов 2
Метки нет (Все метки)

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
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
 
#include <iostream>
using namespace std;
 
struct WORKER 
{
    char surname[40]; 
    char name[40];   
    char post[40];    
    int date;  
};
int main() 
{
    setlocale(LC_ALL, "rus"); 
    int const N = 10; 
    int staj; 
    bool f = true;
    WORKER mass[N]; 
    for( int i = 0; i < N; i++ ) 
    {
        cout << "Введите информацию о сотруднике №" << i+1 << "\n\n"; 
        cout << " Фамилия: ";    
        cin >> mass[i].surname; 
        cout << " Имя: "; 
    cin >> mass[i].name;
        cout << " Должность: "; 
    cin >> mass[i].post;
        cout << " Год поступление на работу: "; 
    cin >> mass[i].date;
    cout<<"\n";
 
    }
    cout << "Введите стаж работы в организации (текущий год 2013): ";
    cin >> staj;
 
    cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
    for( int i = 0; i < N; i++ ) 
    {
        if( (2013 - mass[i].date) > staj ) 
        {
            cout << mass[i].surname << endl; 
            f = false;
        }
    }
    if(f)
        cout << "\nНет таких людей." << endl;
    system("pause");
    return 0;
}
кто сможет прокомментировать код полностью, а то не очень понятно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 03:43
Ответы с готовыми решениями:

Любимые бинарные деревья.
Доброго времени суток. появилась проблема с решением задачи. собсна задача: &quot;найти количество...

Помещение структуры в вектор, удаление структуры, изменение элементов структуры
Здравствуйте. Помогите разобраться с тем, как: 1 - находить элементы в векторе зная уникальный...

Динамические структуры данных. Программа ввода в структуры и вывода информации из неё.
Автоматизированная информационная система на железнодорожном вокзале содержит сведения об...

Функция внутри структуры использует указатель, как поле этой структуры
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл...

Структуры, массивы структур (как можно присваивать(инициализировать) значения полям структуры)
Есть у меня вот такая структура, например struct Subject { int cost; int Volume; }; Потом...

2
UnsKneD
алкокодер
155 / 151 / 41
Регистрация: 27.12.2012
Сообщений: 550
15.03.2013, 05:39 2
C++
1
2
3
4
5
6
7
struct WORKER 
{
    char surname[40]; 
    char name[40];   
    char post[40];    
    int date;  
};
Структура работник с соответствующими полями.

C++
1
 WORKER mass[N];
Массив структур, N штук структур WORKER.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for( int i = 0; i < N; i++ ) 
    {
        cout << "Введите информацию о сотруднике №" << i+1 << "\n\n"; 
        cout << " Фамилия: ";    
        cin >> mass[i].surname; 
        cout << " Имя: "; 
    cin >> mass[i].name;
        cout << " Должность: "; 
    cin >> mass[i].post;
        cout << " Год поступление на работу: "; 
    cin >> mass[i].date;
    cout<<"\n";
 
    }
Ввод данных в поля N раз. То есть инициализация всех N структур.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
cout << "Введите стаж работы в организации (текущий год 2013): ";
    cin >> staj;
 
    cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
    for( int i = 0; i < N; i++ ) 
    {
        if( (2013 - mass[i].date) > staj ) 
        {
            cout << mass[i].surname << endl; 
            f = false;
        }
    }
    if(f)
        cout << "\nНет таких людей." << endl;
Здесь происходит сравнение, от текущего года отнимаем дату приёма на работу, если эта дата превышает staj выведет фамилию из i структуры.

Спрашивайте конкретнее.
0
taras atavin
4205 / 1768 / 211
Регистрация: 24.11.2009
Сообщений: 27,565
15.03.2013, 07:04 3
Поток умеет не только выводить массив чаров, но и корректно его вводить и для этого не надо заворачивать в свою фунгкцию потоквые методы?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 07:04

Вывод структуры, строка как элемент структуры
Описать структуру с именем TRAIN, содержащую следующие поля: □ название пункта назначения;...

Исследование структуры FILE или: что вообще можно выудить из этой структуры, указатель на которую мы получаем при открытии файла?
Ничего нельзя. Итак, новичкам напомню, что после выполнения кода FILE* f= fopen (&quot;file.txt&quot;,...

Оператор if и структуры. Возвращение структуры из функции
Здравствуйте, имеется такая вот функция. void InputStructEmployee (int StructSize) { ...


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

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

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