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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ динамический массив http://www.cyberforum.ru/cpp-beginners/thread192041.html
Помогите пожалуйста)Порядок выполнения лабораторной работы Вывести приглашение пользователю на ввод размерностей матри-цы. Выделить память под динамические массивы соответствующих размеров. Вывести приглашение на ввод необходимой операции. Проверить, можно ли применить выбранную операцию к создан-ным матрицам (проверить соответствие размерностей матриц). Вычисление результатов операций над...
C++ Динамические структуры данных Реализовать односвязный список для хранения данных вида: ФИО, группа, средний балл. Обеспечить выполнение операций: добавление элементов в список; удаление элементов со средним баллом, меньше заданного числа. отображение элементов заданной группы. Можете кто-нибудь написать конкретно код программы? http://www.cyberforum.ru/cpp-beginners/thread192039.html
Чтение из файла C++
хочу прочесть из фалай пример txt втору строку первый символ пробывал fgets читает "все" какие варианты еще есть чтения из файла?
Связный список C++
По СРСП задали создать "программу" с возможностью добавлять, удалять, находить (несколько алгоритмов) и сортировать (несколько алгоритмов) элементы в массиве и связном списке. С обычным массивом проблем не было - все готово. В интернете нашел код более понятный для меня код (еще не проходили классы и структуры). Как я понял структура - это создание подобия типа, с вложенными несколькими...
C++ Дата и время http://www.cyberforum.ru/cpp-beginners/thread191999.html
Здравствуйте!Легкий думаю вопрос для вас всех будет :) Собственно вопрос вот какой, нужно создать массив структуры, всего в структуре 3 поля, одно из них "дата и время"! Каким типом воспользоваться чтобы в дальнейшем добавлять вручную дату и время и потом сравнивать их! Буду очень признателен за какой либо понятный пример!Спасибо :)
C++ В произвольной матрице поменять местами в каждой строке минимальный и максимальный элементы Доброго времени суток господа! Помогите закончить программу, условие таково: В произвольной матрице поменять местами в каждой строке минимальный и максимальный элементы. Необходимо дополнить case 3: #include "stdafx.h" подробнее

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

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

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, то получаю это:
Миниатюры
Файлы и структура  
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru