Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2010, 23:36   #1
zeppelin58
 
Регистрация: 03.12.2008
Сообщений: 8
По умолчанию Нужно подправить код

Првиет всем форумчанам, прощу вашей помощи, если это возможно а именно:

нужно переделать со 2 варианта на 1ый.

Вариант 1
Список книг, хранящихся в библиотеке. О каждой книге хранятся следующие сведения: инвентарный номер, шифр УДК, название книги, Ф.И.О. автора, место издания, год издания. Вывести сведения о книгах, имеющих заданный шифр УДК и выпущенных не раньше указанного года.
Вариант 2
Список книг, хранящихся в библиотеке. О каждой книге хранятся следующие сведения: инвентарный номер, шифр УДК, название книги, Ф.И.О. автора, место издания, год издания. Вывести сведения о книгах заданного автора, выпущенных не раньше заданного года.

Во вложенном файле вся программа.
Прога на С++ builder 6

Листинг программы:
//-------------------------------------------------
#include <vcl.h>
#include <stdio.h>
#pragma hdrstop
#include "Unit1.h"
//-------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;

typedef struct
{
int inv;
int udk;
char name[40];
char fio[40];
char mesto[2];
int izd;
}
TLibrary;
TLibrary Lib[100];
int n=0;
FILE *Fs;

//-------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//-------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
strcpy(Lib[n].name,Name->Text.c_str());
strcpy(Lib[n].fio,Fio->Text.c_str());
strcpy(Lib[n].mesto,Mesto->Text.c_str());
Lib[n].inv=StrToInt(Inv->Text);
Lib[n].udk=StrToInt(Udk->Text);
Lib[n].izd=StrToInt(Izd->Text);
Memo1->Lines->Add(IntToStr(Lib[n].inv)+" "+IntToStr(Lib[n].udk)+" "
+AnsiString(Lib[n].name)+" "+AnsiString(Lib[n].fio)+" "
+AnsiString(Lib[n].mesto)+" "+IntToStr(Lib[n].izd)+" ");
fwrite(&Lib[n],sizeof(TLibrary),1,Fs);
n++;
}
//-------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
OpenDialog1->Title="New File";
if (OpenDialog1->Execute())
{
char *FileNameS=OpenDialog1->FileName.c_str();
if ((Fs=fopen(FileNameS,"wb"))==NULL)
{
ShowMessage("Ôàéë íå ñîçäàí");
return;
}
Button1->Enabled=true;
}
}
//-------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
OpenDialog1->Title="Open File";
if (OpenDialog1->Execute())
{
char *FileNameS=OpenDialog1->FileName.c_str();
if ((Fs=fopen(FileNameS,"rb"))==NULL)
{
ShowMessage("Ôàéë íå îòêðûò");
return;
}
Button1->Enabled=true;
Memo1->Clear();
n=0;
do
{
fread(&Lib[n],sizeof(TLibrary),1,Fs);
if (feof(Fs))
break;
Memo1->Lines->Add(IntToStr(Lib[n].inv)+" "+IntToStr(Lib[n].udk)+" "
+AnsiString(Lib[n].name)+" "+AnsiString(Lib[n].fio)+" "
+AnsiString(Lib[n].mesto)+" "+IntToStr(Lib[n].izd)+" ");
n++;
}
while(True);
Button1->Enabled=true;
}
}
//-------------------------------------------------
void __fastcall TForm1::Button4Click(TObject *Sender)
{
SaveDialog1->Title="Save File";
if (SaveDialog1->Execute())
{
AnsiString FileNameR=SaveDialog1->FileName;
Memo1->Lines->SaveToFile(FileNameR);
}
}
//-------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
fclose(Fs);
Form1->Close();
}
//-------------------------------------------------
void __fastcall TForm1::Button6Click(TObject *Sender)
{
char pfio[40];
int pizd;
TLibrary tmp;
Memo1->Clear();
Memo1->Lines->Add("Ðåçóëüòàò");
strcpy(pfio,Pfio->Text.c_str());
pizd=StrToInt(Pizd->Text);
for (int i=0;i<n;i++)
if (IntToStr(Lib[i].izd)>=pizd && AnsiString(Lib[i].fio)==AnsiString(pfio))
Memo1->Lines->Add(IntToStr(Lib[i].inv)+" "+IntToStr(Lib[i].udk)+" "
+AnsiString(Lib[i].name)+" "+AnsiString(Lib[i].fio)+" "
+AnsiString(Lib[i].mesto)+" "+IntToStr(Lib[i].izd)+" ");
}
//-------------------------------------------------
Вложения
Тип файла: rar var2.rar (366.8 Кб, 13 просмотров)
zeppelin58 вне форума Ответить с цитированием
Старый 28.05.2010, 12:11   #2
zeppelin58
 
Регистрация: 03.12.2008
Сообщений: 8
По умолчанию

тему закройте пожалуйста
zeppelin58 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подправить код werser Помощь студентам 4 14.03.2010 23:26
Подправить рабочий код. michaelk Общие вопросы C/C++ 0 06.12.2009 11:33
нужно всего лишь подправить! Татяна Паскаль, Turbo Pascal, PascalABC.NET 6 20.05.2009 21:17
подправить код ELF astserg01 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 09.04.2009 06:49