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

Редактирование структуры по номеру записи

06.05.2015, 16:34. Показов 3148. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Короче говоря, есть структура, которая читается из текстового файла, записывается в бинарный и выводится на экран. Пользователь вводит номер записи, которую нужно отредактировать и редактирует...
Файл такой:
1 Фамилия Имя Отчество Код Год ну и т.д.
2 Фамилия(2) Имя(2) Отчество(2) Код Год......
Так вот, ума не приложу по поводу редактирования. Подскажите пожалуйста.
Вот что есть:
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
#include<iostream>
#include<fstream>
#include<Windows.h>
#include<string.h>
#include<iomanip>
using namespace std;
const int n=100;
struct w
{
    char nom[3],
        fam[15],
        name[15],
        otch[15],
        spez[12];
    int god,ek1,ek2,ek3;
};
int vvod()
{
    ifstream in;
    ofstream out;
    out.open("k.dat",ios::binary);
    w wed;
    in.open("C:\\baza.txt");
    int k=0;
    if(in)
    {
        while(!in.eof())
        {   in>>wed.nom;
            in>>wed.fam;
            in>>wed.name;
            in>>wed.otch;
            in>>wed.god;
            in>>wed.spez;
            in>>wed.ek1;
            in>>wed.ek2;
            in>>wed.ek3;
            out.write((char*)&wed,sizeof(w));
            k++;
        }
        in.close();
        out.close();
    }
    else cout<<"File not found!"<<endl;
    return k;
}
void print()
{
    w wed;
    ifstream in;
    in.open("k.dat",ios::binary);
    if(in)
    {
        cout<<"Абитуриенты:"<<endl;
        cout<<left<<setw(3)<<" "<<setw(11)<<"Фамилия"<<setw(10)<<"Имя"<<setw(15)<<"Отчество"<<setw(9)<<"Год"<<setw(7)<<"Код"<<setw(8)<<"Математика"<<setw(8)<<"Русский"<<setw(8)<<"Физика"<<endl;
        in.read((char*)&wed,sizeof(w));
        while(!in.eof())
        {
            cout<<left<<setw(3)<<wed.nom<<setw(11)<<wed.fam<<setw(10)<<wed.name<<setw(15)<<wed.otch<<setw(8)<<wed.god<<setw(10)<<wed.spez<<setw(10)<<wed.ek1<<setw(10)<<wed.ek2<<setw(8)<<wed.ek3<<endl;
            in.read((char*)&wed,sizeof(w));
        }
        in.close();
    }
    else cout<<"File not found!"<<endl;
}
void main()
{
    setlocale (0,"");
    int b=vvod();
    if(b>0);
    print();
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2015, 16:34
Ответы с готовыми решениями:

Телефонная книга, не работает редактирование записи по номеру
Ребята, понимаю, как всех уже достало одно и то же, но я в упор не вижу в чем ошибка. Не работает функция EditRecord, которая должна...

Записи: определить количество школьников с именем Сергей. Упорядочить записи по номеру школы
Нужно создать консольное приложение без формы по данной таблице Таблица 8.3. Сведения о школьнике Фамилия Имя Дата рождения ...

Сортировка структуры по номеру телефона
Всем доброго времени суток! Моя структура: typedef struct Tel { int telephone; int time; int telephoneA; ...

7
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 16:48
Если номера записей подряд идут, то, открываешь файл для чтения и записи, через seekg() перемещаешься к нужной записи (используя размер структуры), запоминаешь позицию курсора (tellg()), читаешь запись, редактируешь, взвращаешься к прежней позиции, записываешь в файл отредактированную структуру (после этого flush()).
0
0 / 0 / 1
Регистрация: 23.12.2014
Сообщений: 23
06.05.2015, 17:03  [ТС]
lss, Спасибо, нам про seek и tell вообще ничего не объясняли, еще и их принцип работы самостоятельно освоить не могу дня 3 уже, кодом не поможете?)
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
06.05.2015, 17:06
Цитата Сообщение от 420 Посмотреть сообщение
кодом не поможете?)
Сейчас, нет. Поиском по форуму воспользуйся, примеры должны быть.
0
06.05.2015, 17:47

Не по теме:

lss, Помню в свое время была такая же задача, я тогда только учился программировать и про seekg и tellg ничего не знал, действовал в лобовую открывал файл для чтения, считывал во временную струтктуру,(делал проверку что это нужная запись изменял данные в структуре) и записывал в еще один файлик, удалял исходный файл, переименовывал новый файл в оригинал

0
lss
06.05.2015, 18:34

Не по теме:

Цитата Сообщение от Zazy Посмотреть сообщение
я тогда только учился программировать
Уже научился? Састливый, я до сих пор учусь... Zazy, можно по-разному. Я привёл один из возможных вариантов.

0
0 / 0 / 1
Регистрация: 23.12.2014
Сообщений: 23
06.05.2015, 18:37  [ТС]
Zazy, А там в условии задачи написано, что именно с помощью seekg редактирование проводить нужно
0
0 / 0 / 1
Регистрация: 23.12.2014
Сообщений: 23
11.05.2015, 13:55  [ТС]
актуально
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2015, 13:55
Помогаю со студенческими работами здесь

Структуры (Сделать поиск человека по номеру телефона)
Задание: из файла считать в структуру фамилию, имя, телефон, дату рождения. Сделать поиск человека по номеру телефона. Не понимаю, почему...

Написать программу за выводом инфо по номеру телефону (структуры)
Уважаемые форумчани задача следующая. Создать список, в котором хранится информация об абонентах АТС: лицевой счет, фамилия, имя,...

Редактирование структуры данных
Всем доброго времени суток, есть такая проблема. Сайт состоит в следующем - есть опрос в который можно вносить дополнительные...

Сортировка по номеру записи в запросе
Что то и я запуталась в запросах, никак не могу создать , помогите пожалуйста Есть таблица в ней имеем такие поля ID - ключ Nom -...

Удаление записи по номеру в группе
Здравствуйте. Как удалить запись из таблицы по номеру в сформированной группе? Например, есть запрос: SELECT id, adding_date...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru