Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
3 / 2 / 1
Регистрация: 11.10.2019
Сообщений: 60

Исправьте ошибку, пожалуйста! класс Worker

15.12.2019, 17:52. Показов 844. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать программу, выполняющую следующие действия:
• ввод с клавиатуры данных в массив, состоящий из десяти структур типа WORKER; записи должны быть размещены по алфавиту.
• вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
• если таких работников нет, вывести на дисплей соответствующее сообщение.

выводит символы, вместо фамилий и сортировка не работает.
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
#include <iostream>   
#include <string.h>  
#include <conio.h>
 
using namespace std;
 
struct WORKER
{
    char surname[20]; // фамилия 
    char initials[20]; // инициалы
    char post[20]; // должность 
    int date; // год поступления на работу
};
int main()
{
    setlocale(LC_ALL, "");
    int const N = 2;
    int staj, i;
    bool f = true;
    WORKER mass[N];
    for (int i = 0; i < N; ++i)
    {
        cout << "Введите информацию о сотруднике №" << i + 1 << ":" << endl;
        cout << "1) Фамилия: "; cin >> mass[i].surname;
        cout << "2) Инициалы: "; cin >> mass[i].initials;
        cout << "3) Должность: "; cin >> mass[i].post;
        cout << "4) Год поступление на работу: "; cin >> mass[i].date;
    }
     
    cout << endl;
    /*int qsort = mass[i].surname.compare(0, 1, mass[i].surname, 1, 1);*/
 
    cout << "Введите стаж работы в организации (текущий год 2019): ";
    cin >> staj;
    cout << "Фамилии работников, чей стаж работы в организации превышает " << staj << " лет:" << endl;
    for (int i = 0; i < N; ++i)
    {
        if ((2019 - mass[i].date) >= staj)
        {
            printf(" % 3d ", mass[i].surname);
            cout << mass[i].surname << endl;
            f = false;
        }
    }
    if (f)
        cout << "Отсутствуют." << endl;
    system("pause");
    return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.12.2019, 17:52
Ответы с готовыми решениями:

Исправьте пожалуйста ошибку
Программа не работает. Может хоть вы подскажете в чем здесь проблема. #include &lt;iostream&gt; using namespace std; void main() //...

Исправьте ошибку, пожалуйста
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cmath&gt; double Yx(double x) { return pow(x, 2) * atan(x); } double...

Исправьте ошибку, пожалуйста
#include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;windows.h&gt; #include &lt;stdio.h&gt; using namespace std; struct product { ...

5
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
15.12.2019, 18:10
Цитата Сообщение от AinurK Посмотреть сообщение
Исправьте ошибку
что за ошибка?
0
3 / 2 / 1
Регистрация: 11.10.2019
Сообщений: 60
15.12.2019, 18:51  [ТС]
выводит символы вместо фамилий
и хотелось бы сделать сортировку в алфавитном порядке.

Добавлено через 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
#include <iostream>
#include <string.h>
 
using namespace std;
struct Worker
{
    int YEAR;
    char surname[20]; // фамилия 
    char initials[20]; // инициалы
    char DOL[20]; // должность 
};
int main() {
    setlocale(LC_ALL, "");
    int const N = 2;
    int i;
    int flag = 1;
    char Temp;
    int staj;
    Worker mass[N];
    for (i = 0; i < N; ++i)
    {       
        cout << "Введите информацию о сотруднике №" << i + 1 << ":" << endl;
        cout << "Введите фамилию: ";      cin >> mass[i].surname;
        cout << "Введите Инициалы: ";        cin >> mass[i].initials;
        cout << "Введите должность: ";      cin >> mass[i].DOL;
        cout << "Введите год: ";              cin >> mass[i].YEAR;
    }
    cout << endl;
    //сортировка
    do
    {
        flag = 1;
        for (i = 0; i < N - 1; i++)
        {
            if (mass[i].surname > mass[i + 1].surname)
            {
                Temp = mass[i].surname;
                mass[i].surname = mass[i + 1].surname;
                mass[i + 1].surname = Temp;
                flag = 0;
            }
        }
    } while (flag = 0); 
    cout << "Введите стаж: ";
    cin >> staj;
    system("cls");
    cout << "Работники со стажем больше "<<staj<<" лет: \n";
    for (int i = 0; i < N; ++i)
    {
        if ((2019 - mass[i].YEAR) >= staj)
        {
            cout << " " << mass[i].surname;
            cout << " " << mass[i].initials;
            cout << " " << mass[i].DOL;
            cout << " " << mass[i].YEAR <<endl;         
        }       
        else
        {
            int clrscr();
            cout << "RABOTNIKOV NET";
        }
    }
    cout << "\nВсе работники: \n";
    for (i = 0; i < N; i++)
    {
        cout << " " << mass[i].surname;
        cout << " " << mass[i].initials;
        cout << " " << mass[i].DOL;
        cout << " " << mass[i].YEAR<<endl;
    }
    return 0;
}
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
15.12.2019, 20:10
а если так?
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
#include <iostream>
#include <string>
#include <locale>
 
struct WORKER
{
    std::wstring surname; // фамилия
    std::wstring initials; // инициалы
    std::wstring post; // должность
    int date; // год поступления на работу
    WORKER()
    {
        surname = L"0";
        initials = L"0";
        post = L"0";
        date = 0;
    }
};
int main()
{
    setlocale(LC_ALL, "");
 
    WORKER mass[2];
 
    mass[0].surname     = L"Супер\0";
    mass[0].initials    = L"Супер Пупер хороший\0";
    mass[0].post        = L"Дизайнер\0";
    mass[0].date        = 2020;
 
    mass[1].surname     = L"Шувчик\0";
    mass[1].initials    = L"Шувчик Мария Супер\0";
    mass[1].post        = L"Дизайнер\0";
    mass[1].date        = 2009;
 
 
    for(int i = 0; i < 2; i++)
    {
        std::wcout<<mass[i].surname<<"\n";
        std::wcout<<mass[i].initials<<"\n";
        std::wcout<<mass[i].post<<"\n";
        std::cout<< mass[i].date<<"\n\n";
    }
    std::cin.get();
    return 0;
}
1
3 / 2 / 1
Регистрация: 11.10.2019
Сообщений: 60
16.12.2019, 18:38  [ТС]
ввод данных с клавиатуры
0
с++
1282 / 523 / 225
Регистрация: 15.07.2015
Сообщений: 2,562
18.12.2019, 19:11
Цитата Сообщение от AinurK Посмотреть сообщение
ввод данных с клавиатуры
C++
1
std::wcin>>mass[0].surname;
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.12.2019, 19:11
Помогаю со студенческими работами здесь

Исправьте 1 ошибку пожалуйста
Помогите пожалуйста исправить ошибку, код должен быть для C++ 6.0 Вот код программы #include &lt;iostream.h&gt; #include...

исправьте ошибку,пожалуйста
Вычислить среднее значение элементов, расположенных в массиве между первым и послед-ним нулевыми элементами. Поменять местами максимальный...

Найдите и исправьте ошибку этой программы,пожалуйста
Задача։ Создать однозвенный напрваленный список в начале все глас-ные,а остальные в конец из псевдослучайных, от А до Я удовлетворяющий...

Метод золотого сечения.исправьте ошибку пожалуйста
Задача &quot;Провести оптимизацию полученных полиномов на всем заданном интервале по методу золотого сечения&quot; вот что я закодил: ...

[Error] no matching function for call to 'worker::worker()' (Worker-структура)
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;cstring&gt; using namespace std; struct worker { worker (worker* w, int n); ...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru