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

Файлы и структура - C++

Восстановить пароль Регистрация
 
Devastator1
4 / 4 / 0
Регистрация: 12.10.2010
Сообщений: 21
16.11.2010, 12:03     Файлы и структура #1
Всем привет!

Имеется структура:

C++
1
2
3
4
5
6
7
8
struct Sklad
{
    int num;
    char name[20];
    int kol;
    float cost;
    char date[20];
};
,где

num - id позиции
name - имя позиции
kol - количество
cost - цена
data - дата добавления

Когда заполняю структуру, получается файл такого типа:
_________________________
1 milk 10 20 10/10/2008
2 meal 30 30 11/11/2009
_________________________

Я могу его просматривать, доваблять записи в конец файла.

Остался вопрос: я ввожу с клавиатуры номер позиции, после ввода мне надо отредактировать цену этой поизиции. Проблема в том, что он не находит эту позицию в структуре.

Делаю так:
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
void updateRecord(fstream &updateFile)
        {
            int pos;
            do
            {   
            cout<<"Input tovar number (1-100): ";
            cin>>pos;
            } 
            while(pos<1 ||pos >100);
            Sklad s;
            updateFile.seekg((pos-1)*sizeof(s));
            updateFile.read((char*) &s,sizeof(s));
            if(s.num!=0)
            {
                outputLine(cout,s);
                cout<<endl<<"Enter new cost: ";
                float transaction;
                cin>>transaction;
                s.cost+=transaction;
                updateFile.seekp((pos-1)*sizeof(s));
                updateFile.write((char *)&s,sizeof(s));
                outputLine(cout,s);
            }
            else
                cerr<<"not found"<<endl;
        }

И функция вывода на экран:

C++
1
2
3
4
void outputLine(ostream &output,Sklad s)
{
    cout<<s.num<<setw(16)<<s.name<<setw(10)<<s.kol<<setw(8)<<s.cost<<setw(5)<<' '<<s.date<<endl;
}

вот мой заполненый файл:

1 milk 20 30 2008
2 cream 10 10 2001
5 soul 12 32 2005
8 tea 20 20 2001

когда хочу вывести позицию 1, то получаю это:
Миниатюры
Файлы и структура  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.11.2010, 12:03     Файлы и структура
Посмотрите здесь:

C++ Структура и файлы
C++ структура. файлы. командная строка. задание на зачет
C++ Структура и файлы. Расписание автобусных рейсов.
структура и файлы C++
C++ Многофайловая структура. Заголовочные файлы.
). Где в Visual Studio хранятся откомпилированы файлы. Какое расширение у файлов на языке СИ. Структура программы на СИ C++
Функции и файлы. Чтение и запись данных в файл. Структура "Ноутбук" C++
Структура "Цветной планшетный сканер", функции и файлы C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru