Форум программистов, компьютерный форум, киберфорум
Наши страницы

Динамическое выделение памяти для структуры в функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ошибка при написании ф-ции удаления элемента из списка http://www.cyberforum.ru/cpp-beginners/thread1206001.html
выдаёт ошибку в 12 строке void List::deleteFromHead() { if (emptyList()) { cout << "list is empty!" << endl; exit(1); } Node *newHead=head->next;
C++ Наследование классов: неудачный пример из Лафоре И снова всем доброй ночи :). Начал читать про наследование классов и совсем запутался может быть вы мне растолкуете в чем ошибка и чего я не понял. Вот пример: #include <iostream> using... http://www.cyberforum.ru/cpp-beginners/thread1205977.html
C++ Отсортировать по номеру маршрута
Описать структуру с именем MARSH, содержащую следующие поля: BEGST — название начального пункта маршрута; TERM — название конечного пункта маршрута; NUMER — номер маршрута. 2. Написать...
Проверить, образуют ли элементы целочисленного массива арифметическую прогрессию C++
Помогите написать програму! Ввести целочисленный массив с 5-ти элементов и проверить, образуют его элементы арифметическую прогрессию.
C++ Дано двумерный массив размерности nxn. Определить место нахождения минимального элемента http://www.cyberforum.ru/cpp-beginners/thread1205962.html
Дано двумерный массив размерности nxn. Определить место нахождения минимального элемента.
C++ В массиве А (n) определить количество элементов, значения которых равны 3 В массиве А (n) определить количество элементов, значения которых равны 3. подробнее

Показать сообщение отдельно
sedoi_starik
1 / 1 / 0
Регистрация: 13.06.2013
Сообщений: 41
14.06.2014, 13:19  [ТС]
Тут нашел на форуме
long len,n,m=sizeof(Student);
fseek(datafile, 0, SEEK_END);
len = ftell(datafile);
n = len/m;
fseek(datafile,0,SEEK_SET);
Но у меня почему то получается на сотню больше. Я грешу вот на это:
fwrite(&pDB[i], sizeof(pDB), 100, pFile);
И я до сих пор не могу понять как правильно это число писать?

Добавлено через 26 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void OpenDB(int szDB, DBcar*& pDB){
    FILE * pFile;
    pFile = fopen("myfile.bin", "rb");
    if(pFile==NULL) {
        cout<<"Файл не найден. Будет произведена инициализация базы данных.";
        pSizeDB=InitDB(pDB);
    }
    else {
        cout<<"Открывается база данных.";
        cout<<'\n';
        pSizeDB=GetSizeStruct(car);
        pDB=new DBcar[pSizeDB];
        for(int i=0; i<pSizeDB; i++){
        fread(&pDB[i], sizeof(pDB), 100, pFile);
        }
        cout<<"Загрузка завершена.";
//      fclose(pFile);
    }
//  fclose(pFile);
}
C++
1
2
3
4
5
6
7
8
9
10
11
int GetSizeStruct(DBcar *pDB){
    FILE * pFile;
    pFile = fopen("myfile.bin", "rb");
    long len,n,m=sizeof(pDB);
    fseek(pFile, 0, SEEK_END);
    len = ftell(pFile);
    n = len/m/100;
    fseek(pFile,0,SEEK_SET);
    fclose(pFile);
    return n;
}
Добавлено через 1 минуту
не пойму почему у меня ошибка вылазит если я рассокентирую одну fclose(pFile) в функции OpenDB()

Добавлено через 12 часов 17 минут
Как добавлять новые данные не используя алгоритм сортировки

Добавлено через 2 минуты
Задание №2
При добавлении новой записи, запись должна добавляться в соответствии её алфавитного порядка
(Пример: Бд содержит:"Вася", "Петя", "Саша". Добавляем запись "Женя". В БД должно быть "Вася","Женя", "Петя","Саша").
В процессе добавления, удаления, изменения записей сортировка производиться не должна.
И при выводе на экрна то же.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.