0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 47
1

sortirovka slov

30.05.2013, 17:15. Показов 590. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
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
/*Написать программу, которая выполняет следующие действия:
• вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту;
• выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.*/
 
#include <iostream>
#include<Windows.h>
 
 
void CheckToErorrs(int T,int a,int b)
{
    while(T > a || T < b)
    {
        std::cout << "Извините, нет такой команды" << std::endl;
        std::cout << "\tПовторите Ввод! (1, 2, 3)" << std::endl;
        std::cin >> T;
    }
}
 
struct WORKER 
{
    char surname[40]; // фамилия
    char name[40];    //имя
    char post[40];    // название занимаемой должности
    int date;   //дата поступления на работу
};
int main() 
{
    while(true)
    {
        SetConsoleCP(1251);
        SetConsoleOutputCP(1251);
        int t;
        int const N = 3; 
        int staj; 
        bool f = true; // это логическая переменная, f равно значение истинно
        WORKER mass[N]; // массив структур
        std::cout << "\n\t==========МЕНЮ========" << std::endl;
        std::cout << "\t1.Ввод данных" << std::endl;
        std::cout << "\t2.Просмотр данных " << std::endl;
        std::cout << "\t3.Выход" << std::endl;
        std::cout << "\n\n";
        std::cout << "Выберите один из пунктов: ";
        std::cin >> t;
        system("cls"); // очистка экрана
        CheckToErorrs(t,3,1);
        if (t == 1) // если выбран первый пункт...
        {
            for( int i = 0; i < N; i++ ) // ... то заполняем массив структур (вводим данные)
            {
                std::cout << std::endl;
                std::cout << "Введите информацию о сотруднике №" << i+1 << "\n\n";
                std::cout << " Фамилия: ";    
                std::cin >> mass[i].surname; 
                std::cout << " Имя: "; 
                std::cin >> mass[i].name;
                std::cout << " Должность: "; 
                std::cin >> mass[i].post;
                std::cout << " Год поступление на работу: "; 
                std::cin >> mass[i].date;
                std::cout<<"\n";
            }
            std::cout << "Введите стаж работы в организации (текущий год 2013): ";
            std::cin >> staj;
            for (int i=0; i<N; i++)
    {
        for(int j=0; j<N; j++)
        {
            if(mass[i].surname[0] < mass[j].surname[0])
            {
                swap(mass[i], mass[j]);
            }
            else if(mass[i].surname[0] == mass[j].surname[0])
            {
                if(mass[i].surname[1] < mass[j].surname[1])
                {
                    swap(mass[i], mass[j]);
                }
            }
        }
    }
            system("cls");
        }
        else if (t == 2) // если выбран второй пункт то читаем данные (см. ниже)
        {        
 
            std::cout << "\nФамилии работников, чей стаж работы в организации превышает " << staj << " лет:\n\n";
            for( int i = 0; i < N; i++ ) // цикл для поиска работников
            {
                if( (2013 - mass[i].date) > staj ) //если стаж работы превышает значение заданного пользователем...
                {
                    std::cout << mass[i].surname << std::endl; //то выводим на экран фамилии работников чей стаж работы превышает значение
                    f = false; // переменной f присваиваем значение ложь
                }
            }
            std::cout << "\n\n";
            if (false) // если истинно то выводит соответствующее сбщ и ожидание нажатия клавиши
                std::cout << "\nНЕТ ТАКИХ РАБОТНИКОВ!\n\n";
            system("pause");
            system("cls");
        }
        else if (t == 3) exit(0); // иначе если выбран третий пункт то закрываем консоль
    }
    system("pause");
    return 0;
}
нужно чтобы фамилии работников(чей стаж работы превышает) выводились в алфавитном порядке. как сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.05.2013, 17:15
Ответы с готовыми решениями:

sortirovka slov
задан текст. выполнить сортировку слов расположив их в порядке увеличения букв. (пример: qqqq...

SORTIROVKA
POMOGITE OTSORTIROVAT DVYXMERNI MASSIV V PORIADKE VOZRASTANIA 4ISEL

Не сохраняются изменения в массиве после выполнения slov
procedure slov(str:string;var c:integer); var i:integer; begin c:=0; str:=str+' '; sl:='';...

Sortirovka dannih v tablice SubForm
Dobroe vrema sutok! Mojet danni vopros i iavlaetsa lamerskim voprosom, no poproshu otvetit. Kak...

1
12 / 12 / 2
Регистрация: 28.09.2012
Сообщений: 39
30.05.2013, 18:10 2
strcmp
0
30.05.2013, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.05.2013, 18:10
Помогаю со студенческими работами здесь

(ASP.NET) DataGrid: Sorting сортировка -> Kak uznat' po kakoi kolonki sortirovka?
V DataGrid -&gt; OnSortCommand='dgArtSorting' Public Sub dgArtSorting(ByVal source As Object, ByVal...


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

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

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