0 / 0 / 1
Регистрация: 28.02.2016
Сообщений: 74
1

Удаление из файла строки

25.03.2016, 00:39. Показов 1298. Ответов 3
Метки нет (Все метки)

Есть файл (computers.dat) куда записываются данные (структура) о компьютерах (тип, год, цена).
Задание: Пользователь вводит год компьютера, который хочет удалить и удаляется вся информация об этом компьютере (тип, год, цена).

Кликните здесь для просмотра всего текста
http://i.**********/uckmYZv.png
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2016, 00:39
Ответы с готовыми решениями:

Удаление строки из файла\либо удаление самого файла.
День добрый, вот функция(используемые переменные объявленны ранее): void delete_cruise() { FILE...

Удаление строки из файла
Добрый день, возник вопрос возможно ли удалить/изменить в файле слово/строку, не перезаписывая при...

Удаление строки файла
Подскажите как удалить строку из файла? я знаю что можно перезаписывать файл, удалить из первого...

Удаление строки из файла
Сабж, осуществляю ввод и вывод с помощью iostream и использованием векторного массива, нужно...

3
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.03.2016, 00:57 2
Ascendary, ты что на ответы в постах не реагируешь?
Как передать параметр в функцию?
0
0 / 0 / 1
Регистрация: 28.02.2016
Сообщений: 74
25.03.2016, 01:11  [ТС] 3
nd2, да, я думал ты ушёл )

Добавлено через 8 минут
nd2,
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
case 3:
        {
                  Computer computer;
                  for (int i = 0; i < NumberOfComputers; i++)
                  {
                      Delete(&computer, NumberOfComputers);
                  }
                  system("PAUSE");
                  break;
        }
 
 
void Delete(Computer *pcomputer, int NumberOfComputers)
{
    ifstream file;
    file.open("computers.dat", ios::binary);
    if (!file) cout << " ERROR! " << endl;
    else
    {
        file.seekg(0, ios::end);
        int size = file.tellg();
        size = size / sizeof(Computer);
        file.seekg(0, ios::beg);
        Computer *computers = new Computer[size];
        file.read((char*)computers, sizeof(Computer)*size);
        file.close();
        cout << endl << "+-----------------------------+-----------------------+-----------------------+\n"
            "|       TYPE Of Computer      |    YEAR Of Release    |   PRICE Of Computer   |\n"
            "+-----------------------------+-----------------------+-----------------------+\n";
        for (int i = 0; i < size; i++)
            Print(computers[i]);
 
        unsigned int RemoveComputer;
        int NumberCopy;
        NumberCopy = NumberOfComputers;
        cout << "Enter YEAR of the computer which you want to REMOVE: ";
        cin >> RemoveComputer;
        while (RemoveComputer > 2016 || RemoveComputer < 1900)
        {
            cout << endl << "Entered incorrect value. YEAR cant be more than 2016 and less than 1900." << endl;
            cout << "Enter YEAR of the computer what you want to REMOVE: ";
            cin >> RemoveComputer;
        }
        for (int i = 0; i < NumberOfComputers; i++)
        if (RemoveComputer == pcomputer->YearOfRelease)
        {
            for (int j = i; j < NumberCopy - 1; j++)
                pcomputer[j] = pcomputer[j + 1];
            NumberOfComputers--;
            i = -1;
        }
        if (NumberCopy == NumberOfComputers)
            cout << endl << "The computer with this YEAR doesn't exist." << endl;
        else
            cout << endl << "Computers with " << RemoveComputer << " YEAR are REMOVED. In total REMOVED: " << NumberCopy - NumberOfComputers << " computers." << endl;
        
    }
}
Что то типа того?
0
nd2
3431 / 2810 / 1249
Регистрация: 29.01.2016
Сообщений: 9,426
25.03.2016, 01:33 4
Цитата Сообщение от Ascendary Посмотреть сообщение
Что то типа того?
Что-то типа не того... После file.close() все данные из файла у тебя в массиве данных:
Цитата Сообщение от nd2 Посмотреть сообщение
Дальше нужно переписать файл (открыв его для записи, а не для дозаписи), исключая те данные, которые нужно удалить.
И не нужно в Delete() ничего передавать.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.03.2016, 01:33
Помогаю со студенческими работами здесь

Удаление строки из файла
Здравствуйте! Подскажите пожалуйста, как реализовать функцию удаления нужной строки из файла....

Удаление строки из файла
Кто может подсказать рабочую функцию удаление строки из файла. Поиск строки не нужен, только...

Удаление строки из файла
В общем у меня есть текстовый документ, в котором что-то записано таблицей. И мне надо удалить из...

Удаление определённой строки из файла
Здравствуйте, меня интересует такой вопрос - как удалить определённую строку из файла, если я знаю ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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