Помогите дописать программу.

  • Автор темы gaikamen
  • Дата начала
G

gaikamen

#1
Здравствуйте, помогите пожалуйста. Я пишу программу в которой с помощью базы данных выводятся фирмы. база данных в формате txt
Но программа прочитывает только слово до первого пробела.А если например такая запись:
190 завод ремонтных средств связи (4855)21-00-75,28-01-90/Сергей Анатольевич . Как мне сделать чтобы выводилось все имя целиком(190 завод ремонтных средств связи)

Я в этих делах новичек. Помогите пожалуйста, как решить мою проблему?
 
S
#2
А где код программы?

Если название фирмы всегда предшествует телефону, который начинается с символа "(" то необходимо организовать чтение до этого символа. А вообще, если БД представлена в текстовом виде, то поля БД необходимо разделять специальным символом, например, табуляцией. Соответственно ориентироваться по данному разделителю.
 
G

gaikamen

#3
А как это сделать

Вот код:
Код:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"

TForm1 *Form1;
#include <fstream.h>
class TFirma
{
public:
char name[17];
char phone[15];
char conatct[20];

};
TFirma firma[30];
ifstream baza("baza.txt");

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
char name_request[10];
strcpy(name_request,Edit1->Text.c_str());
for(int i=0; i<30; ++i)
{
baza >> pupil[i].name >> pupil[i].phone >> pupil[i].contact;
// создаем поиск

if(strcmp(name_request,pupil[i].name)==0)
{
Edit2->Text=pupil[i].name;
Edit3->Text=pupil[i].phone;
Edit4->Text=pupil[i].contact;
}
}
}