|
|
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
У єсть код поиска даних за ключем. Дание зчитиваютса з файла и заносятса в асоциативний список. Мне надо как то их вивести!! //--------------------------------------------------------------------------- #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);} } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 06:29 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
По-перше: про використання SRC тобi вже казали... звикай По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання По-третє: cruse Код: plaintext 1. 2. 3. 4. Використовуй TMemo, TStringList абощо... залежить вiд того, що ти намагаєшся зробити. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 11:07 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
Dmitrii K.По-перше: про використання SRC тобi вже казали... звикай По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання Чет я нипонял, ты малдаванин, или украинец ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 12:55 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
MasterZiv Dmitrii K.По-перше: про використання SRC тобi вже казали... звикай По-друге: якщо хочеш, щоб тобi давали нормальнi вiдповiдi, формулюй корректнiше запитання Чет я нипонял, ты малдаванин, или украинец ? Молдавский украинец со знанием русского :) Хохол, одним словом ))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:01 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
MasterZivЧет я нипонял, ты малдаванин, или украинец ? А вообще: Оффтоп и какая, нафиг, разница... :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 13:03 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
Что такое SRC!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 17:56 |
|
||
|
Помогите з контейнером iterator
|
|||
|---|---|---|---|
|
#18+
cruseЧто такое SRC!! Кнопочка такая над полем сообщения (когда пишешь сообщение в форум)... Нажимаешь на неё и в поле сообщения появляется: [ S R C c + + ] [ / S R C ] Внутри тэга вставляешь программный код, теперь он будет более читабельным, так будет удобнее форумчанам, читающим твои сообщения... Если надо, могу вышесказанное перевести на рiдну мову ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.05.2006, 18:03 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33735317&tid=2031243]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
55ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 219ms |
| total: | 361ms |

| 0 / 0 |
