Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как динамически создать массив из динамически конструируемых экземпляров класса? https://www.cyberforum.ru/ cpp-beginners/ thread2206563.html
Есть два класса.Подразумевается ,что первый в конструкторе выделяет интовый массив длинной n,второй выделяет массив экземпляров первого длинной m.И при этом n зависит от индекса внутри m. //Cl1.h...
Найти самое короткое и самое длинное слово в строке C++
Посмотрите на код, что не так пишу? #include <iostream> #include <string.h> #include <locale.h> using namespace std; char a; int main() { cout « "Enter string ";
Обмен информацией между классами. Попытка 2 C++
Первая тема превратилась в гору флуда, попробую еще раз. Модераторы, простите за дубль. Вероятно, я плохо объяснил задачу. Есть два класса: Class1 и Class2. Они должны использоваться друг в друге. В...
C++ Структура Sotrudnik, вывод информации о сотрудниках указанного возраста 1.Описать запись с именем Sotrudnik, содержащую следующие поля: • фамилия, имя сотрудника; • стаж работы; • возраст; • пол; 2.Написать программу, выполняющую следующие действия: • Ввод данных... https://www.cyberforum.ru/ cpp-beginners/ thread2206527.html
C++ Проверить, является ли число палиндромом https://www.cyberforum.ru/ cpp-beginners/ thread2206524.html
Водится шестнадцатеричное число. Проверить является ли оно палиндромом, то есть симмметричным относительно середины.
Функция rotate в двумерном массиве C++
Здравствуйте, есть стандартный двумерный массив: int a = 0, b = 0, c, x, y, count, cmin, cmax; cin >> x >> y; for (a = 0; a < x; a++) for (b = 0; b < y; b++) cin >> c; И в...
C++ Сохранить в множество те числа, в двоичном представлении которых ровно n единиц
Задан диапазон целых чисел. Сохранить в множество те числа, в двоичном представлении которых ровно n единиц. Вывести размер множества.
C++ Аналог trim() для std::string Не подскажите аналог trim() для std::string в std? Нужно убрать лишние пробелы с начала и конца строки. https://www.cyberforum.ru/ cpp-beginners/ thread2206519.html
C++ Нужен совет в компоновки этого кода, что-бы работал как одна программа https://www.cyberforum.ru/ cpp-beginners/ thread2206516.html
С клавиатуры вводится текстовая строка. Разработать программу, реализующая указанные действия: 1) подсчитывает количество слов в тексте; 2) выводит на экран слово, содержащее наибольшее количество...
C++ Выполнить транслитерацию текста с латиницы в кириллицу Создать программу, анализировать и обрабатывать введен пользователем текст в консоли соответствии с заданными условиями: - выполняет транслитерацию текста с латиницы в кириллицу. - После... https://www.cyberforum.ru/ cpp-beginners/ thread2206510.html
0 / 0 / 0
Регистрация: 06.03.2018
Сообщений: 25
0

Использование вектора для присваивания значений элементам структуры

06.03.2018, 19:37. Просмотров 467. Ответов 1
Метки (Все метки)

Здравствуйте, форумчане. Сразу отмечу, что я новичек, так что, возможно, мой вопрос покажется вам слегка туповатым, но все же:
Имеется структура:
"Видеокассета":
-​ название фильма;
-​ режиссер;
-​ продолжительность;
-​ цена.

Над этой структурой нужно провести операции: удалить все элементы с ценой выше заданной, добавить 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
#include "stdafx.h"
#include <iostream>
#include <string>
#include <vector>
 
using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::getline;
using std::vector;
 
int n;
struct cassettes // сама структура "кассеты"
{
    string name;
    string director;
    float time;
    float cost;
}; vector <cassettes> films;
 
void film(cassettes object) // процедура присваивания
{
    n = 0;
    cout << "Введите количество кассет: ";
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        cin.ignore(256, '\n');
        films.push_back(object);
        cout << "Введите название фильма :";
        getline(cin, films[i].name);
        cout << "Введите имя режиссера данного фильма: ";
        getline(cin, films[i].director);
        cout << "Введите продолжительность фильма: ";
        cin >> films[i].time;
        cout << "Введите цену фильма :";
        cin >> films[i].cost;
        
    }
}
 
 
int main()
{
    setlocale(LC_ALL, "Rus");
    cassettes tmp;
    film(tmp);
    return 0;
}
Проблема моя, собственно, заключается в том, что я инициализировал единственный объект структуры (cassettes tmp) и все данные о кассетах получаются занесенными туда.
Инициализировать большее количество объектов я не могу, ведь неизвестно сколько будет кассет(зависит от значения переменной n, введенного с консоли)
Подскажите пожалуйста, как более грамотно присвоить значения объектам структуры, чтобы каждый объект отвечал за отдельную кассету, или так как я сделал тоже нормально?

Вернуться к обсуждению:
Использование вектора для присваивания значений элементам структуры
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.03.2018, 19:37
Готовые ответы и решения:

Как перегрузить операцию = для присваивания элементам структуры внутри класса значений?
Помогите, если не затруднительно. Столкнулся с проблемой, когда пытался присвоить в конструкторе...

Присвоение значений элементам двумерного вектора
Недавно добрие люди помогли мне со следующим кодом 1 код vector&lt;vector&lt;char&gt;&gt; vv; // ......

Присвоение значений элементам вложенной структуры
Необходимо присвоить значение элементам массива структур struct message { unsigned char code;...

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

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