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

Описать структуру с именем WORKER (найти ошибку)

05.04.2012, 22:32. Показов 1806. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Описать структуру с именем WORKER, содержащую поля:
фамилия и инициалы работника;
название занимаемой должности;
зарплату;
год поступления на работу.
Написать программу, выполняющую следующие действия:
ввод с клавиатуры данных в массив, состоящий из 5 структур типа WORKER;
вывод на дисплей фамилий работников, чей стаж работы в организации превышает значение, введенное с клавиатуры;
если таких работников нет, вывести соответствующее сообщение.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.04.2012, 22:32
Ответы с готовыми решениями:

Описать структуру с именем Worker
здраствуйте !!!помогите пожалуйста!!!! Описать структуру с именем Worker, содержащую следующие поля: 1)фамилия и инициалы занимаемой...

Описать структуру с именем Worker
Нужно написать программу на языке С или C++ на борланде. Задание: Описать структуру с именем Worker содержащую следующие поля: •...

Описать структуру с именем Worker
Не могу описать структуру с именем Worker, содержащий следующие поля: - Фамилия и инициалы работника; - Название занимаемой должности; ...

12
 Аватар для pipets24
9 / 9 / 4
Регистрация: 04.04.2012
Сообщений: 59
06.04.2012, 03:21
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>
using namespace std;
 
struct worker
{
char fio[30];
char pos[30];
float money;
int year; 
}; 
void main()
{
worker arr[5];
int xp, count = 0;
for(int i = 0; i < 5; i++)
{
cin >> worker[i].fio >> worker[i].pos >> worker[i].money >> worker[i].year;
}
cout >> "vvedite stajj";
cin >> xp;
for(int i = 0; i < 5; i++)
if(worker[i].year + xp <= 2012)
{
cout << worker[i].fio;
++count;
}
if(count = 0)
cout << "takih rabotnikov net";
system("pause");
}
на работоспособность не проверял, т.к. писал прямо здесь. так что если есть какие то ошибки, прошу извинить))
1
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 49
20.05.2012, 16:20  [ТС]
в чём ошибка, почему оно нормально не выводит результат?
Задание: Описать структуру с именем WORKER, содержащую поля:
 фамилия и инициалы работника;
 название занимаемой должности;
 зарплату;
 год поступления на работу.
Написать программу, выполняющую следующие действия:
 ввод с клавиатуры данных в массив, состоящий из 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
#include "stdafx.h"
#include <iostream>
 
using namespace std;
struct WORKER
{   
    char name[5]; // 5 символов маловато
    char job; // работа одним символом задана?
    int salary, years; // зряплата обычно double
};
 
int main ()
{
    const int SIZE = 5;
    const int CYEAR = 2012;
    WORKER S[SIZE];
    for (int i = 0; i < SIZE; ++i) // массив с 0 начинается
    {
        cout << "input name of worker: ";
        cin >> S[i].name;
        cout << "input job: ";
        cin >> S[i].job;
        cout << "input salary: ";
        cin >> S[i].salary;
        cout << "input years of work: ";
        cin >> S[i].years;
    }
    int ros = 0;
    cout << "input record of service? ";
    cin >> ros; 
    for (int i = 0; i < SIZE; ++i)
    {
        if ((CYEAR - S[i].years) >= ros)
        {
            cout << "Name: " << S[i].name << " works for: << (CYEARS - S[i].years) "<< endl;
        }
    }
    system("pause");
    return 0;
}
0
9 / 9 / 7
Регистрация: 20.05.2012
Сообщений: 101
20.05.2012, 16:51
Может что-то не то вижу, но помоему на хватает закрывающих скобок в 35 строке?

C++
1
cout << "Name: " << S[i].name << " works for: " << (CYEARS - S[i].years) << endl;
0
 Аватар для B.Krols
8 / 8 / 6
Регистрация: 10.02.2012
Сообщений: 21
20.05.2012, 17:02
В дополнение к сказанному Harmonster:
C++
1
2
3
4
5
6
7
struct WORKER
{   
    char name[20]; // 5 символов маловато? Ну так сделайте больше
    char job[10]; // работа одним символом задана? Ну так сделайте, чтобы не одним
    float salary; // зряплата обычно double? Для зарплаты обычно хватает float))
    int years;
};
Цитата Сообщение от olya.kay Посмотреть сообщение
если таких работников нет, вывести соответствующее сообщение.
Реализовываем:
C++
1
2
3
4
5
6
7
8
9
10
11
    bool flag = false;
    for (int i = 0; i < SIZE; ++i)
    {
        if ((CYEAR - S[i].years) >= ros)
        {
            cout << "Name: " << S[i].name << " works for: " << (CYEAR - S[i].years) << endl;
            flag = true;
        }
    }
    if (!flag)
        cout << "Employees who work more than " << ros << " years have not been found" << endl;
0
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
20.05.2012, 17:12
Если быть точнее, то
C++
1
cout << "Name: " << S[i].name << " works for: " << (CYEAR - S[i].years) << endl;
Константа объявлена CYEAR (без S в конце). В остальном программа работает верно. Я правильно понял, что years - это год, когда работник устроился на предприятие?

P.S. сообщение только не выводится, если никого не нашлось
0
 Аватар для taras atavin
4226 / 1796 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
20.05.2012, 17:36
Цитата Сообщение от Harmonster Посмотреть сообщение
Может что-то не то вижу, но помоему на хватает закрывающих скобок в 35 строке?
Скобки на месте, а вот кавычки явно не там.
0
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 49
20.05.2012, 18:22  [ТС]
я все по исправляла, но все равно выводит какуето лубуду.
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 "stdafx.h"
#include <iostream>
 
using namespace std;
struct WORKER
{   
    char name[5]; 
    char job; 
    float salary;
int  years; 
};
 
int main ()
{
    const int SIZE = 5;
    const int CYEAR = 2012;
    WORKER S[SIZE];
    for (int i = 0; i < SIZE; ++i) 
    {
        cout << "input name of worker: ";
        cin >> S[i].name;
        cout << "input job: ";
        cin >> S[i].job;
        cout << "input salary: ";
        cin >> S[i].salary;
        cout << "input years of work: ";
        cin >> S[i].years;
    }
    int ros = 0;
    cout << "input record of service? ";
    cin >> ros; 
     bool flag = false;
    for (int i = 0; i < SIZE; ++i)
    {
        if ((CYEAR - S[i].years) >= ros)
        {
            cout << "Name: " << S[i].name << " works for: " << (CYEAR - S[i].years) << endl;
            flag = true;
        }
    }
    if (!flag)
        cout << "Employees who work more than " << ros << " years have not been found" << endl;
    system("pause");
    return 0;
}
Миниатюры
Описать структуру с именем WORKER (найти ошибку)  
0
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
20.05.2012, 18:43
я все по исправляла, но все равно выводит какуето лубуду.
job - переменная типа char. Либо меняйте на массив символов, либо в программе вводите только один символ
0
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 49
20.05.2012, 19:19  [ТС]
уточни не поняла.
0
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
20.05.2012, 20:04
Вот здесь (22 и 23 строки):
C++
1
2
cout << "input job: ";
cin >> S[i].job;
задаётся значение S[i].job, но переменная job объявлена как char. Это значит, что можно ввести только 1 символ. То есть вводить следует так:
Миниатюры
Описать структуру с именем WORKER (найти ошибку)  
0
1 / 1 / 0
Регистрация: 17.03.2012
Сообщений: 49
20.05.2012, 20:08  [ТС]
а что надо сделать что бы вводить не одним символом?
0
67 / 67 / 9
Регистрация: 04.01.2012
Сообщений: 231
Записей в блоге: 1
20.05.2012, 20:34
В описании структуры заменить на массив символов:
C++
1
2
3
4
5
6
7
struct WORKER
{   
    char name[15]; 
    char job[10];
    float salary;
    int  years; 
};
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.05.2012, 20:34
Помогаю со студенческими работами здесь

Описать структуру с именем WORKER
Описать структуру с именем WORKER, содержащий следующие поля: NAME-фамилия и инициалы работника, POS-название должности, YEAR - год...

Описать структуру с именем WORKER
Помогите пожалуйста дописать условие в программе задание было Описать структуру с именем WORKER, содержащую следующие поля: ...

Описать структуру с именем Worker
, прошу,выручите господа программисты...

Описать структуру с именем WORKER
описать структуру с именем WORKER содержащую следующие поля: Фамилия инициалы роботника; названия занемаемой должности; год...

Описать структуру с именем WORKER
Помогите пожалуйста: 1: Описать структуру с именем WORKER, содержащую следующие поля: -NAME - фамилия и инициалы паботника; -POS...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru