powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите з контейнером iterator
7 сообщений из 7, страница 1 из 1
Помогите з контейнером iterator
    #33734275
cruse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У єсть код поиска даних за ключем.
Дание зчитиваютса з файла и заносятса в асоциативний список.
Мне надо как то их вивести!!

//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#include <conio.h>
#include <map>
#include <cstring>
#pragma hdrstop

#include "Unit6.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
FILE *R,*V;
char rs[80],vs[80];
using namespace std;
// клас для зберігання імен-ключів
class name {
char str[80];
public:
name() {strcpy(str, "");}
name(char *s) {strcpy(str, s);}
char *get() {return str;}
};
// для объектів класу name треба
// визначити оператор < (менше)
bool operator<(name a, name b) {
return strcmp(a.get(), b.get()) < 0;
}
// клас для зберігання номерів-значень
class phonenum {
char str[80];
public:
phonenum() {strcmp(str, "");}
phonenum(char *s) {strcpy(str, s);}
char *get() {return str;}
};
typedef map<name, phonenum, less<name> > psevdo;
// друк однієї пари ключ/значення
template <class First, class Second> ostream&
operator<<(ostream& out, const pair<First,Second>
&pp){
cout <<"Reis: "<< pp.first.get() << " Vartist: "<< pp.second.get();//Как ето обоити
чтоби виводить на форму!!
return out;
}

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

void __fastcall TForm1::BReadClick(TObject *Sender)
{
R=fopen("Reis.txt","r+t");
V=fopen("Vart.txt","r+t");
/// Reis.txt
Memo1->Clear();
Memo1->Lines->Add("РЕЙС:");
do
{
fgets (rs,80,R);
if(feof(R)) break;
if(rs[strlen(rs)-1]=='\n')rs[strlen(rs)-1]=0;//видалення зі стрічки останній символ
Memo1->Lines->Add(rs);
}
while(true);
fclose(R);
Memo2->Clear();
Memo2->Lines->Add("ВАРТІСТЬ:");
do
{
fgets (vs,80,V);
if(feof(V)) break;
if(vs[strlen(vs)-1]=='\n')vs[strlen(vs)-1]=0; //видалення зі стрічки останній символ
Memo2->Lines->Add(vs);
}
while(true);
fclose(V);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BSaveClick(TObject *Sender)
{
LaE1->GetTextBuf(rs,LaE1->GetTextLen()+1);
LaE2->GetTextBuf(vs,LaE2->GetTextLen()+1);
R=fopen("Reis.txt","a+t");
fprintf(R,"%s\n",rs);
fclose(R);
V=fopen("Vart.txt","a+t");
fprintf(V,"%s\n",vs);
fclose(V);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BAsociaClick(TObject *Sender)
{
R=fopen("Reis.txt","r+t");
V=fopen("Vart.txt","r+t");
map<name, phonenum, less<name> > m;
// ініціалізація асоціативного списку
// іменами і номерами
do
{
fgets (rs,80,R);
fgets (vs,80,V);
if(feof(R)) break;
if(feof(V)) break;
m.insert(pair <name, phonenum>
(name(rs),phonenum(vs)));
}
while(true);
fclose(R);
fclose(V);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BSearchClick(TObject *Sender)
{ char str[80];
LaE3->GetTextBuf(str,LaE3->GetTextLen()+1);
map<name, phonenum, less<name> > m;
map <name, phonenum, less<name> >::iterator p;
// пошук номера за іменем-ключем
p = m.find (name(str));
if (p != m.end())
{ cout << "Znachennia: " << *p;}();//Как ето обоити
чтоби виводить на форму!!
else
{Application->MessageBox("Результат","Значення незнайдено",,MB_OK);}
}
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33734786
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-перше: про використання SRC тобi вже казали... звикай
По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання

По-третє:
cruse
Код: plaintext
1.
2.
3.
4.
if (p != m.end())
{ cout << "Znachennia: " << *p;}();//Как ето обоити чтоби виводить на форму!!
else
{Application->MessageBox("Результат","Значення незнайдено",,MB_OK);}
}
Використовуй TMemo, TStringList абощо... залежить вiд того, що ти намагаєшся зробити.
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33735283
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitrii K.По-перше: про використання SRC тобi вже казали... звикай
По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання


Чет я нипонял, ты малдаванин, или украинец ?
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33735317
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv Dmitrii K.По-перше: про використання SRC тобi вже казали... звикай
По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання


Чет я нипонял, ты малдаванин, или украинец ?
Молдавский украинец со знанием русского :) Хохол, одним словом )))
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33735327
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivЧет я нипонял, ты малдаванин, или украинец ?
А вообще: Оффтоп и какая, нафиг, разница... :)
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33736625
cruse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что такое SRC!!
...
Рейтинг: 0 / 0
Помогите з контейнером iterator
    #33736654
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cruseЧто такое SRC!!
Кнопочка такая над полем сообщения (когда пишешь сообщение в форум)...
Нажимаешь на неё и в поле сообщения появляется: [ S R C c + + ] [ / S R C ]
Внутри тэга вставляешь программный код, теперь он будет более читабельным, так будет удобнее форумчанам, читающим твои сообщения...

Если надо, могу вышесказанное перевести на рiдну мову ;)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Помогите з контейнером iterator
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]