Форум программистов, компьютерный форум CyberForum.ru

Удаление записи из структуры - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ одновременный ввод/вывод с двух потоков http://www.cyberforum.ru/cpp-beginners/thread29709.html
Создаю новый поток с помощью CreateThread(). Некая функция должна выводить какието строки на экран printf`ом или чем нибуть подобным, нипринципиально, и при этом в мэйне команда scanf дожна читать команду внизу экрана. Ну и получаеться билибирда какаято, принтф пишет прям туда где курсор находится (в строке ввода). Как это решить, есть какиенибуть функции, для считывания/установки положения...
C++ Case клавиш Подскажите пожалуйста, как мне узнать какие case у клавиш: w, a, s, d и пробела. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread29692.html
Запись матрицы в файл C++
Не могу записать введёную матрицу в файл: #include <conio.h> #include <stdio.h> #include <malloc.h> #include <stdlib.h> void main() { //int mas; int i,j,n;
создание класса C++
Мне нужно разработать класс для представления понятия "контроллер видеомагнитофона"(обеспечивает програмное управление видеомагнитофоном, который может осуществлять запись, выполнять воспроизведение кассеты и осуществлть перемотку в указанном направлении) Кто нить может поделиться похожими прогами или просто с определением класса
C++ Работа с матрицей (нахождение детерминант) http://www.cyberforum.ru/cpp-beginners/thread29678.html
привет всем форумчанинам! моя первая тема так что за оформление сори)) а теперь о главном)) В общем есть программа написанная на паскале, задание там следущее - найти детерминант матрицы заданной размерности, она работает. Попробовал перенести ее в С++ и допускаю ошибки, не могу разобраться=( Может у кого-нибудь есть готовый программный код, который не будет отличаться большой трудностью......
C++ Здраствуйте мои будущие колеги я не могу решить эту задачу помогите, если не трудно: Ребенок нарисовал кружки, и некоторые из них соединил отрезками. Кружки он пометил целыми числами от 1 до N, а на каждом отрезке поставил стрелочку. Затем он приписал каждому кружочку вес в виде некоторого целого числа и определил начальный и конечный кружочки. Из первого он должен выйти, а во второй попасть. Ребенок решил для себя набрать... подробнее

Показать сообщение отдельно
darkAngel
Технофашист
214 / 195 / 4
Регистрация: 11.03.2009
Сообщений: 860
12.04.2009, 16:54     Удаление записи из структуры
Может тебе следует делать проще:
Находишь в своём массиве структур нужную структуру и вызываешь декструктор для этого объекта. А после полностью перезаписываешь файл data.txt

Добавлено через 1 час 22 минуты 49 секунд
Цитата Сообщение от CoRoBOK
О, а можете подсказать что значит, деструктура? как это записать?
При создании каждого нового объекта (структуры), вызывается конструктор (такая функция), который инициализирует данные этого объекта (структуры).
В противоположность ему - деструктор. Деструктор удаляет данные объекта (структуры).

Т.к. Вы используете не динамические структуры, данные можно просто обнулять.
Вот описание вашей структуры с деструктором:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
struct firm
{
    char name[100];
    int medic;
    int industry;
    int food;
    int inform;
    int chemic;
    
    ~firm()          // Деструктор              
    {
       medic = 0; 
       industry = 0;
       food = 0;
       inform = 0;                    //Обнуление данных
       chemic = 0;
       for (int i=0; i<100; i++) name[i] = 0;
    }
} st[100];

Теперь, для того чтобы обнулить все данные, к примеру, у структуры st[17], следует вызвать деструктор этой структуры:
C++
1
st[17].~firm();
После этого все данные структуры st[17] будут обнулены.

Как следствие, могу предложить далее в вашей программе делать так: чтобы в файл не записывались структуры с обнулёнными данными, нужно у каждой структуры делать проверку поля name[100] перед записью её в файл. Если name[0] = 0, то значит структура пустая и записывать её данные в файл data.txt не стоит.

Также могу предложить вот ещё что: после удаления (или изменения) какиой либо структуры из вашего массива структур, перезаписывать файл data.txt полностью, чтобы в нём не оставалось устаревших данных.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru