Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.10.2012
Сообщений: 8

Исправление ошибок. Файлы. Структура

23.02.2013, 01:44. Показов 865. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Прошу, помогите найти ошибки. Первые попытка ваяния на билдере. Записывает криво, считывает криво в чем дело не пойму.

Условие задачи:
Для книг, хранящихся в библиотеке, задаются: регистрационный номер книги, автор, название, год издания, издательство, количество страниц. Вывести список книг с фамилиями авторов в алфавитном порядке(к этой части еще не приступал), изданных после заданного года. Требование: все через файлы, данные в структуре.
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
#include <vcl.h>
#pragma hdrstop
 
#include "Unit1.h"
#include "stdio.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
typedef struct {
        int reg;
        char avtor[15];
        char name[15];
        int  year;
        char isdat[10];
        int kolstr;
    } Tlib;
Tlib lib[100];
String FNam,FName2;
FILE *L;
FILE *N;
int nzap=0;
bool flag;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 
 
ListView1->Items->Add()->Caption=Edit2->Text.t_str();
ListView1->Items->Item[nzap]->SubItems->Add(StrToInt(Edit1->Text));
ListView1->Items->Item[nzap]->SubItems->Add(Edit3->Text.t_str());
ListView1->Items->Item[nzap]->SubItems->Add(StrToInt(Edit4->Text));
ListView1->Items->Item[nzap]->SubItems->Add(Edit5->Text.t_str());
ListView1->Items->Item[nzap]->SubItems->Add(StrToInt(Edit6->Text));
 
nzap++;
 
lib[nzap].reg=StrToInt(Edit1->Text);
strcpy(lib[nzap].avtor,Edit2->Text.t_str());
strcpy(lib[nzap].name,Edit3->Text.t_str());
lib[nzap].year=StrToInt(Edit4->Text);
strcpy(lib[nzap].isdat,Edit5->Text.t_str());
lib[nzap].kolstr=StrToInt(Edit6->Text);
 
 
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
 
if (OpenDialog1->Execute())
{
FNam=OpenDialog1->FileName;
L=fopen(FNam.t_str(),"r");
if(!L) return;
nzap=0;
while (!feof(L))
  {
fread(&lib[nzap],sizeof(lib),1,L);
 
ListView1->Items->Add()->Caption=lib[nzap].avtor;
ListView1->Items->Item[nzap]->SubItems->Add(IntToStr(lib[nzap].reg));
ListView1->Items->Item[nzap]->SubItems->Add(lib[nzap].name);
ListView1->Items->Item[nzap]->SubItems->Add(IntToStr(lib[nzap].year));
ListView1->Items->Item[nzap]->SubItems->Add(lib[nzap].isdat);
ListView1->Items->Item[nzap]->SubItems->Add(IntToStr(lib[nzap].kolstr));
 
nzap++;
 
  }
fclose(L);
 }
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
if(SaveDialog1->Execute())
   {
FName2=SaveDialog1->FileName;
  N=fopen(FName2.t_str(),"w");
 
for(int i=1;i<nzap+1;i++)
{
fwrite(&lib[nzap],sizeof(lib),1,N);
}
fclose(N);
}
 
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
 
{
 
FNam=OpenDialog1->FileName;
  N=fopen(FNam.t_str(),"w");
if(!L) return;
for(int i=0;i<nzap;i++)
{
fwrite(&lib[nzap],sizeof(lib),1,L);
}
fclose(L);
 
}
//---------------------------------------------------------------------------
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2013, 01:44
Ответы с готовыми решениями:

Исправление ошибок
Здравствуйте.Помогите, пожалуйста,исправить ошибки. //--------------------------------------------------------------------------- ...

Исправление ошибок с функцией
Пишу сейчас курсовую работу. Время к сдаче 2 дня а у меня не хочет работать функция для вычисления обратной матрицы. Выбивает 3...

Пишу компонент. Исправление ошибок.
Спасите форумчани прошу... Пытаюс сделать такое, пишу обиект и класс для обиекта, но не работает вот етот част кода, тут я питаюс...

1
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.02.2013, 02:34
Ошибки (дословно) ?

Добавлено через 1 минуту
Цитата Сообщение от Cavil Посмотреть сообщение
C++
1
2
3
4
5
6
Tlib lib[100]; 
String FNam,FName2; 
FILE *L; 
FILE *N; 
int nzap=0; 
bool flag;
Избегай глобальных объявлений

Добавлено через 1 минуту
C++
1
 N=fopen(FName2.t_str(),"w");
Используй
C++
1
 N=fopen(AnsiString(FName2).c_str(),"w");
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.02.2013, 02:34
Помогаю со студенческими работами здесь

Исправление ошибок
Помогите разобраться, в чём моя ошибка. Не хочет компилировать. #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; ...

Исправление ошибок в C++
Всем доброго времени суток! У меня появился такой вопрос, есть ли в Visual Studio 8 или 10 такая фича как показывание ошибок еще во время...

Исправление ошибок
Какие ошибки есть в следующем коде? for (int i =О: i &lt;= phrase.size(): ++i) { cout « &quot;Character at position &quot; « i « &quot;...

Исправление ошибок
Есть задание : Во введенной строке заменить все пробелы на запятые, а запятые на точки. Посчитать количество запятых во введенной строке....

исправление ошибок
//funkcijas1 #include &lt;iostream&gt; using namespace std; int main() { int i, fact=1, n; cout &lt;&lt;&quot;Введите целое...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru