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

Автозаполнение полей класса через массив

31.10.2023, 16:19. Показов 415. Ответов 6

Author24 — интернет-сервис помощи студентам
Не могу понять как реализовать автозаполнение полей класса через массив. Я хочу чтобы пользователь вводил номер и оклад 3-х работников. Можно конечно и без "For" делать, напрямую вызывав функцию SetAll, но это увеличивает код. Код я написал, но почему то заполняется только 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
#include <iostream>
using namespace std;
 
class Employee
{
private:
    int number;
    float salary;
public:
    /*Employee(int a, float b)
    {
        a = number;
        b = salary;
    }*/
    void SetAll(int a, float b)
    {
        a = number;
        b = salary;
    }
    void Print()
    {
        cout << "Номер:\t" << number << "\n" << "Оклад:\t" << salary << "\n";
    }
 
};
 
Employee info[2];
int a;
float b;
 
int main()
{
    setlocale(LC_ALL, "RU");
    for (int i = 0; i < 3; i++)
    {
        cout << "Введите номер: " << i + 1 << "-го сотрудника\n";
        cin >> a;
        cout << "Введите оклад: " << i + 1 << "-го сотрудника\n";
        cin >> b;
        info[i].SetAll(a, b);
    }
    for (int i = 0; i < 3; i++)
    {
        cout <<  "сотрудник: " << i + 1<<"\n";
        info[i].Print();
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2023, 16:19
Ответы с готовыми решениями:

Автозаполнение полей класса через массив c++
Не могу понять как реализовать автозаполнение полей класса через массив. Я хочу чтобы пользователь...

Инициализация полей класса через vector<>
Здравствуйте, можете подсказать как правильно инициализировать поля класса, вот например есть класс...

Представление полей одного класса через другой
Задача следующего сожержания: Как реализовать поля класса bull через класс Time? ...

Ввод с клавиатуры полей класса через конструктор
программа работает, но работаен не совсем вернро. В общем при создании второго элемента вектора,...

Вывод полей класса через статический вектор
Долго не мусоля покажу имеющийся код: описание класса: class Document { public: ...

6
20 / 12 / 8
Регистрация: 30.10.2023
Сообщений: 32
31.10.2023, 16:29 2
Первое, что бросается в глаза - у вас памяти выделено под двух сотрудников, а заполняете вы индексы от 0 до 2. Надо info сделать размера 3.
0
0 / 0 / 0
Регистрация: 31.10.2023
Сообщений: 3
31.10.2023, 16:35  [ТС] 3
Это уже исправил,спасибо
0
20 / 12 / 8
Регистрация: 30.10.2023
Сообщений: 32
31.10.2023, 17:03 4
У вас еще внутри методов перепутаны переменные. Вы присваиваете переменной "a" значение номера, а не наоборот. В итоге меняется не поле класса, а какая-то случайная переменная.
C++
1
2
3
4
5
void SetAll(int a, float b)
{
a = number;
b = salary;
}
1
фрилансер
 Аватар для Алексей1153
5862 / 5401 / 1106
Регистрация: 11.10.2019
Сообщений: 14,433
31.10.2023, 17:03 5
Цитата Сообщение от Senssei Посмотреть сообщение
Не могу понять как реализовать автозаполнение полей класса через массив.
тоже не могу понять, что что речь. Может, список инициализации нужен?

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
#include <iostream>
 
class Employee
{
public:
    int number{};
    float salary{};
    
    void Print()const
    {
        std::cout << "Сотрудник: \n";
        std::cout << "   Номер: " << number << "\n" << "   Оклад: " << salary;
    }
};
 
int main()
{
    Employee info[2]
    {
        {1,100},
        {2,200},
    };
 
    for (const auto& i:info)
    {
        i.Print();
        std::cout << '\n';
    }
}
0
2784 / 1937 / 570
Регистрация: 05.06.2014
Сообщений: 5,602
31.10.2023, 17:10 6
Начнем с того, что в info только два элемента, так что, заполнение третьего ведет к UB.
0
0 / 0 / 0
Регистрация: 31.10.2023
Сообщений: 3
31.10.2023, 17:22  [ТС] 7
Глупо получилось, я делал предыдущую работу также все работало отлично странно. Спасибо большое
0
31.10.2023, 17:22
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
31.10.2023, 17:22
Помогаю со студенческими работами здесь

Автозаполнение полей, зависимость нескольких полей от одного
Всем привет! Решил для работы создать незатейливую БД для учёта файлов посадочных мест различных...

Получение полей класса через ICollection
Здравствуйте, у меня к вам вопрос. Как через ссылку на класс, что автоматически создаётся, при...

Значение полей класса через метод и конструктор
Добрый день! Есть задача Сделал класс через конструктор, аргументы прописаны заранее....

Как получить значения полей объекта класса через арибуты
Предположим, мне нужно вывести на экран 1 Jack 2 Jill при помощи метода статического класса...

Отправить через ajax массив файлов и массив полей input
Есть форма &lt;form action=&quot;test.php&quot; enctype=&quot;multipart/form-data&quot; method=post&gt; &lt;input name=tid...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Компьютер как универсальное устройство для работы с информацией
hw_wired 28.01.2025
Введение в устройство компьютера Компьютер представляет собой универсальное электронное устройство, предназначенное для автоматической обработки информации. В современном мире компьютер стал. . .
Информация и информационные процессы
hw_wired 28.01.2025
Понятие информации и ее виды В современном мире информация является одним из фундаментальных понятий, пронизывающих все сферы человеческой деятельности. Под информацией понимают любые сведения об. . .
Алгоритмика
hw_wired 28.01.2025
Введение: Основы алгоритмики и её роль в информатике В современном мире программирование и алгоритмическое мышление стали неотъемлемой частью образования и профессиональной деятельности. . . .
Информационное моделирование
hw_wired 28.01.2025
Введение в информационное моделирование В современном мире информационное моделирование стало неотъемлемой частью научной, образовательной и профессиональной деятельности. Это мощный инструмент. . .
Объекты и их имена
hw_wired 28.01.2025
Введение: Основы объектного подхода и их роль в информатике В современном мире информационных технологий объектный подход стал фундаментальным принципом организации и обработки информации. Этот. . .
Элементы алгоритмизации
hw_wired 28.01.2025
Основы алгоритмизации В современном мире алгоритмы играют фундаментальную роль в развитии информационных технологий и программирования. Понимание основ алгоритмизации является ключевым элементом в. . .
Человек и информация
hw_wired 28.01.2025
Введение: роль информации в познании мира В современном мире информация играет фундаментальную роль в процессе познания окружающей действительности. Она представляет собой совокупность сведений об. . .
Компьютер и информация
hw_wired 28.01.2025
Эволюция вычислительных машин История развития вычислительной техники начинается задолго до появления первых электронных устройств. Человечество всегда стремилось упростить процесс вычислений и. . .
Информационные технологии
hw_wired 28.01.2025
Введение в современные технологии работы с информацией В современном мире информационные технологии стали неотъемлемой частью практически всех сфер человеческой деятельности. Они существенно. . .
Информация вокруг нас
hw_wired 28.01.2025
Основные понятия информации В современном мире понятие информации является фундаментальным и охватывает практически все сферы человеческой деятельности. Информация представляет собой совокупность. . .
Компьютер для начинающих
hw_wired 28.01.2025
Введение в мир компьютерных технологий В современном мире информация стала одним из важнейших ресурсов человечества, определяющим развитие общества и технологий. Наша жизнь неразрывно связана с. . .
[golang] 189. Rotate Array
alhaos 28.01.2025
Повороты рукоятки, целочисленный слайс нужно сдвинуть на целое положительное число. Мне очень нравится решение на GO / / https:/ / leetcode. com/ studyplan/ top-interview-150/ package topInterview . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru