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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Respected
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
#1

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

15.03.2013, 03:43. Просмотров 321. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос всеми любимые структуры (C++):

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

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

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

Функция внутри структуры использует указатель, как поле этой структуры - C++
Коротко, есть класс A, описан в файле A_class.h ну и реализованы функции в A_class.cpp, есть файл GlobalItems.h, где хранятся глобальные...

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
UnsKneD
алкокодер
154 / 150 / 11
Регистрация: 27.12.2012
Сообщений: 548
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
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
15.03.2013, 07:04 #3
Поток умеет не только выводить массив чаров, но и корректно его вводить и для этого не надо заворачивать в свою фунгкцию потоквые методы?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 07:04
Привет! Вот еще темы с ответами:

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

Структуры. Работа с файлами, содержащими структуры - C++
2) Дана совокупность сведений, каждое из которых состоит из следующих рекви-зитов: фамилия и инициалы автора – 25 знаков; название книги –...

Структуры. Вызов данных структуры по указателю. с++ - C++
Условие задачи: Помогите, пожалуйста, с как реализовать печать вообще не представляю.

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


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

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

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