Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Определить объединение из двух полей. Первое поле - массив из двух байт, второе - слово Определить объединение из двух полей. Первое поле - массив из двух байт, второе - слово. Ввести x в диапазоне от 1 до 15. Вычислить целое y={x}^{3} + 150. Вывести полное значение y, старший байт y и младший байт y в шестнадцатеричном виде. Помогите пожалуйста конкретно с выводом, т.е. - как вывести старший байт и младший байт в шестнадцатеричном виде. https://www.cyberforum.ru/ cpp-beginners/ thread1700920.html Разрушение стека около локальной переменной C++
В функции имеется такая строка char target=""; Все работает хорошо, но при выходе из подпрограммы пишет "Stack around the variable 'target' was corrupted". Однако, если сделать переменную глобальной, то все хорошо. Не хотелось бы прибегать к такому решению и выводить переменную в глобальный уровень. Логично, что при выходе из процедуры она извлекается из стека, но почему вдруг смерть локальной...
C++ Найти максимальную выборку в двумерном массиве Здравствуйте. Есть массив n на m. Как в нем найти максимальную выборку так, чтобы элементы не стояли на одной строке или одном столбце (по сути - задача как о 8ми ферзях, но только у каждого поля доски есть ценность). https://www.cyberforum.ru/ cpp-beginners/ thread1700914.html C++ Как сравнивать структуры Есть структура например struct TIME { int min; int sec; }; TIME A={10,15},B; B=A; //можно сделать https://www.cyberforum.ru/ cpp-beginners/ thread1700904.html
Проверить какие флаги потока вывода установлены и заменить попарно десятичные на шестнадцатеричные C++
1) Проверить какие флаги потока вывода установлены и заменить попарно на десятичные на шестнадцатеричные (и наоборот) левое выравнивание на правое выравнивание (и наоборот) Проверить результат. Добавить в программу два своих манипулятора. Один выводит сообщение, другой устанавливает шестнадцатеричный вывод и символ заполнения _.
C++ Написать программу решения квадратного уравнения 1) Написать программу решения квадратного уравнения. Корни только вещественные. Ввод и вывод через стандартные потоки ввода-вывода. Вывод результата в "научном" формате. Установить ширину поля 12 символов, установить точность 4 цифры, заполнить вместо пробелов символом _. с помощью функций и манипуляторов. Результат выводится на экран в десятичной и шестнадцатеричной системе.... https://www.cyberforum.ru/ cpp-beginners/ thread1700892.html
C++ Найти причину возникновения ошибки Выбрасывает здесь ошибку (if (Mart>Max)) не знаю почему #include<stdio.h> #include<math.h> #include<iostream> #include<conio.h> using namespace std; int n; https://www.cyberforum.ru/ cpp-beginners/ thread1700890.html C++ Вставить картинку png (Glut) С++
Вообщем написал змейку с помощью glut. Все работает прекрасно. Решил заменить квадраты (которые ест змейка) на картинки яблок. Начал гуглить, нашел способ вставить с помощью glut. О боже.... как я начал ненавидеть glut. Он удачно загружает только 24 битовые картинки с белым фоном, а на все остальное выдает "unknown dib file format". Гуглил решение, не нашел... Помогите! Может подскажите,...
C++ Простой дек Всем доброго вечера Столкнулся со следующей проблемой. Есть задание на простой дек: Реализуйте структуру данных "дек". Напишите программу, содержащую описание дека и моделирующую работу дека, реализовав все указанные здесь методы. Программа считывает последовательность команд и в зависимости от команды выполняет ту или иную операцию. После выполнения каждой команды программа должна вывести... https://www.cyberforum.ru/ cpp-beginners/ thread1700842.html C++ Найдите сумму элементов массива, расположенных после минимального элемента https://www.cyberforum.ru/ cpp-beginners/ thread1700839.html
2. Найдите сумму элементов массива, расположенных после минимального элемента.
C++ Вычислите количество элементов массива, равных 0
1. Вычислите количество элементов массива, равных 0.
C++ Удаление из очереди чисел, кратных пяти https://www.cyberforum.ru/ cpp-beginners/ thread1700819.html
Создать очередь из целых чисел. Вывести исходную очередь. Удалить из этой очереди числа кратные пяти. Вывести полученную очередь на печать. Я создал очередь вот код: #include <iostream> using namespace std; void main() { struct node { int info; struct node *next; };
0 / 0 / 1
Регистрация: 22.06.2011
Сообщений: 24
03.04.2016, 14:54  [ТС] 0

Чтение и запись в файл динамического массива классов - C++ - Ответ 8972207

03.04.2016, 14:54. Показов 2600. Ответов 12
Метки (Все метки)

Ответ

А если я считаю всё в вектор, то я смогу потом, например, сделать выборку этих данных по значению в определённом поле?

Добавлено через 2 часа 44 минуты
Спасибо за помощь!! Всё работает как надо!

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
#include <iostream>
#include <fstream>
using namespace std;
class Store
{
        public:
                char Name[20];
                short int Size;
                int Height;
                char Color[10];
                char ModNum[10];
};
istream& operator >> (istream &stream, Store& Shop)
        {
                stream>>Shop.Name;
                stream>>Shop.Size;
                stream>>Shop.Height;
                stream>>Shop.Color;
                stream>>Shop.ModNum;
                return stream;
        }
ostream& operator << (ostream& stream, Store& Shop)
        {
                stream<<Shop.Name<<"\t";
                stream<<Shop.Size<<"\t";
                stream<<Shop.Height<<"\t";
                stream<<Shop.Color<<"\t";
                stream<<Shop.ModNum<<endl;;
                return stream;
        }
 
int main ()
{
        int i, N;
        string FileName;
        fstream FPin, FPout;
        char Choice;
        cout<<"Vvedite name faila\n";
        cin>>FileName;
        FPout.open(FileName.c_str(), ios_base::in | ios_base::binary);
        if (FPout==NULL)
        {
                FPout.close();
                cout<<"Faila s takim imenem net. Hotite sozdat fail? Y/N \n";
                cin>>Choice;
                if (Choice=='N') return 0;
                else
                {
                        FPin.open(FileName.c_str(), ios::out);
                        cout<<"\nVvedite kolichestvo zapisei: ";
                        cin>>N;
                        Store *Cloth=new Store[N];
                        cout<<"\n Vvedite dannie tovara:\n";
                        cout<<"\nNaimenovanie\tRazmer\tRost\tCvet\tNomer modeli\n";
                        for (i=0; i<N; i++)
                        {
                                cin>>Cloth[i].Name>>Cloth[i].Size>>Cloth[i].Height>>Cloth[i].Color>>Cloth[i].ModNum;
                                FPin<<Cloth[i];
                        }
                        FPin.close();
                        delete []Cloth;
                        return 0;
                }
        }
        FPout.seekg(ios_base::end);
        N=FPout.tellg()*5;
        FPout.seekg(ios_base::beg-1);
        Store *Cloth=new Store[N];
        cout<<"\nNaimenovanie\tRazmer\tRost\tCvet\tNomer modeli\n";
        N=0;
        while (FPout>>Cloth[N])
        {
                cout<<Cloth[N].Name<<"\t"<<Cloth[N].Size<<"\t"<<Cloth[N].Height<<"\t"<<Cloth[N].Color<<"\t"<<Cloth[N].ModNum<<endl;
                N++;
        }
        FPout.close();
        cout<<"\nResultati viborki: \n";
        for (i=0; i<N; i++)
        {
                if (stricmp(Cloth[i].Name,"Kostum")==0 && Cloth[i].Size>=52)
                        cout<<Cloth[i].Name<<"\t"<<Cloth[i].Size<<"\t"<<Cloth[i].Height<<"\t"<<Cloth[i].Color<<"\t"<<Cloth[i].ModNum<<endl;
        }
        //delete []Cloth;
    system("PAUSE");
    return 0;
}
Единственное, что не понятно, почему на строку delete []Cloth; в конце программы компилятор ругается. Но если её закомментировать, то всё в порядке =) Может быть код в целом не совсем удачный, но работает =) Спасибо за потраченное время. Тема исчерпана.

Вернуться к обсуждению:
Чтение и запись в файл динамического массива классов C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2016, 14:54
Готовые ответы и решения:

Чтение и запись двухмерного динамического массива
Нужна помощь в работе с массивами: Имеем: 1. Игра типа Blocks (уничтожать несколько блоков...

Запись и чтение объектов разных классов в один файл
Здравствуйте. Изучаю С++ по Лафоре. Дошёл до места, где объясняется, как записывать объекты разных...

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран...

Запись динамического массива в файл (не правильно выводит данные)
Выделяю память под массив, заполняю его числами. int *mem_arr; int i; int n = 50;...

12
03.04.2016, 14:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2016, 14:54
Помогаю со студенческими работами здесь

Чтение и запись массива в файл
кто решит эту задачу. Массив Х размером n=20 прочитать из текстового файла,сформировать массив...

Запись массива в файл и чтение
нужно записать массив чисел(смешаных) в файл и считать его оттуда. 0, 0.56, 0.972, 1.26, 1.46,...

Организовать чтение массива из файла, и запись массива в файл
Доброго времени суток! Как организовать чтение массива из файла и вывести массив в файл?

Запись массива в файл/чтение из файла
1) ввести с клавиатуры матрицу ( размером 4*4 или 5*5) и записать в файл; 2) обр. оерация- считать...

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