powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / не копируется структура
4 сообщений из 29, страница 2 из 2
не копируется структура
    #38637603
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl?В неинициализированной глобальной переменной не что угодно, а совершенно точно NULL.Заблуждаешься.

В чистом С?
...
Рейтинг: 0 / 0
не копируется структура
    #38637677
woojin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
кому интересно, смотрите
было задание на курсач:
Вариант 17
На междугородной телефонной станции картотека абонентов. содержащая сведе-
ния о телефонах и их владельцах. организована в виде линейного списка.
Написать программу. которая:

* обеспечивает начальное формирование картотеки в виде линейного списка;

* производит вывод всей картотеки:

* вводит номер телефона и время разговора;

* выводит извещение на оплату телефонного разговора

Программа должна обеспечивать диалог с помощью меню и контроль ошибок при
вводе.


сделал вот так:
файл "main.h"
Код: 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.
//---------------------------------------------------------------------------

#ifndef mainH
#define mainH
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Grids.hpp>
#include <Mask.hpp>
#include <DateUtils.hpp>
#include <ComCtrls.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
	TStringGrid *StringGrid1;
	TButton *add;
	TButton *edit;
	TButton *del;
	TGroupBox *GroupBox1;
	TGroupBox *GroupBox2;
	TButton *apply;
	TEdit *Edit3;
	TEdit *Edit2;
	TEdit *Edit1;
	TLabel *Label5;
	TLabel *Label4;
	TLabel *Label3;
	TLabel *Label2;
	TLabel *Label1;
	TEdit *Edit4;
	TLabel *Label6;
	TButton *find;
	TGroupBox *GroupBox3;
	TLabel *Label7;
	TMaskEdit *MaskEdit3;
	TButton *izv;
	TMemo *Memo1;
	TButton *cler;
	TButton *rest;
        TDateTimePicker *DateTimePicker1;
        TDateTimePicker *DateTimePicker2;
	void __fastcall FormCreate(TObject *Sender);
	void __fastcall Edit3KeyPress(TObject *Sender, char &Key);
	void __fastcall Edit1KeyPress(TObject *Sender, char &Key);
	void __fastcall MaskEdit3KeyPress(TObject *Sender, char &Key);
	void __fastcall Edit2KeyPress(TObject *Sender, char &Key);
	void __fastcall addClick(TObject *Sender);
	void __fastcall applyClick(TObject *Sender);
	void __fastcall editClick(TObject *Sender);
		void __fastcall FormDestroy(TObject *Sender);
	void __fastcall delClick(TObject *Sender);
	void __fastcall findClick(TObject *Sender);
	void __fastcall clerClick(TObject *Sender);
	void __fastcall izvClick(TObject *Sender);
	void __fastcall restClick(TObject *Sender);
		void __fastcall DateTimePicker1KeyPress(TObject *Sender,
		  char &Key);
		void __fastcall DateTimePicker2KeyPress(TObject *Sender,
		  char &Key);
		void __fastcall Edit4KeyPress(TObject *Sender, char &Key);
private:	// User declarations
public:		// User declarations
	__fastcall TForm1(TComponent* Owner);
};
struct Abonent {
	AnsiString fam;
	AnsiString nam;
	AnsiString tel;
	AnsiString start;
	AnsiString end;
	Abonent *next;
};
Abonent *TelList = 0, *find_list = 0;

//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
void add_abn(Abonent& abn);
void edit_abn(Abonent &beg);
void del_abn(AnsiString fam, AnsiString nam, AnsiString tel);
void add_finded(Abonent &abn);
void find_abn(Abonent *pv, AnsiString tel);
Abonent* find_abn(Abonent *pv, AnsiString fam, AnsiString nam, AnsiString tel, Abonent** prev);
AnsiString notice(int pay, Abonent *pv);
int read_dbase(char* filename);
int write_dbase(char *filename);


файл "main.cpp"
Код: 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.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
277.
278.
279.
280.
281.
282.
283.
284.
285.
286.
287.
288.
289.
290.
291.
292.
293.
294.
295.
296.
297.
298.
299.
300.
301.
302.
303.
304.
305.
306.
307.
308.
309.
310.
311.
312.
313.
314.
315.
316.
317.
318.
319.
320.
321.
322.
323.
324.
325.
326.
327.
328.
329.
330.
331.
332.
333.
334.
335.
336.
337.
338.
339.
340.
341.
342.
343.
344.
345.
346.
347.
348.
349.
350.
351.
352.
353.
354.
355.
356.
357.
358.
359.
360.
361.
362.
363.
364.
365.
366.
367.
368.
369.
370.
371.
372.
373.
374.
375.
376.
377.
378.
379.
380.
381.
382.
383.
384.
385.
386.
387.
388.
389.
390.
391.
392.
393.
394.
395.
396.
397.
398.
399.
400.
401.
402.
403.
404.
405.
406.
407.
408.
409.
410.
411.
412.
413.
414.
415.
416.
417.
418.
419.
420.
421.
422.
423.
424.
425.
426.
427.
428.
429.
430.
431.
432.
433.
434.
435.
436.
437.
438.
439.
440.
441.
442.
443.
444.
445.
446.
447.
448.
449.
450.
451.
452.
453.
454.
455.
456.
457.
458.
459.
460.
461.
462.
463.
464.
465.
466.
467.
468.
469.
470.
471.
472.
473.
474.
475.
476.
477.
478.
479.
480.
481.
482.
483.
484.
485.
486.
487.
488.
489.
490.
491.
492.
493.
494.
495.
496.
497.
498.
499.
500.
501.
502.
503.
504.
505.
506.
507.
508.
509.
510.
511.
512.
513.
514.
515.
516.
517.
518.
519.
520.
521.
522.
523.
524.
525.
526.
527.
528.
529.
530.
531.
532.
533.
534.
535.
536.
537.
538.
539.
540.
541.
542.
543.
544.
545.
546.
547.
548.
549.
550.
551.
552.
553.
554.
555.
556.
557.
558.
559.
560.
561.
562.
563.
564.
565.
566.
567.
568.
569.
570.
571.
572.
573.
574.
575.
576.
577.
//---------------------------------------------------------------------------

#include <vcl.h>
#include <stdio.h>
#pragma hdrstop

#include "main.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
bool add_edit=false;
AnsiString familia, name, telephone;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{
}
// ---ResizeGrid--------------------------------------------------------------
void ResizeGrid(TStringGrid* SG) {
	int cols, widths, w, c;

	cols = SG->ColCount;
	c = cols-1;
	w = SG->ColWidths[0];
	w = SG->Width - w;
	widths = (w / c) - 6;
	for (int i = 1; i <= cols - 1; i++) {
		SG->ColWidths[i] = widths;
	}
}

// ---обновлени StringGrid и очистка Edits--------------------------------------------------------------
void ReadActiv(TStringGrid* SG) {
		Form1->GroupBox1->Enabled = false;
		Form1->Label1->Enabled = false;
		Form1->Label2->Enabled = false;
		Form1->Label3->Enabled = false;
		Form1->Label4->Enabled = false;
		Form1->Label5->Enabled = false;
	Form1->Edit1->Enabled = false;
	Form1->Edit2->Enabled = false;
	Form1->Edit3->Enabled = false;
	Form1->DateTimePicker1->Enabled = false;
	Form1->DateTimePicker2->Enabled = false;
	Form1->DateTimePicker1->Time = Form1->DateTimePicker1->Time.CurrentTime();
	Form1->DateTimePicker2->Time = Form1->DateTimePicker2->Time.CurrentTime();
		Form1->apply->Enabled = false;
		Form1->rest->Enabled = false;

	Form1->Edit1->Text = "";
	Form1->Edit2->Text = "";
	Form1->Edit3->Text = "";

		for (int r = 1; r < SG->RowCount; r++) {
				for (int c = 0; c < SG->ColCount; c++) {
						SG->Cells[c][r] = "";
				}
		}
	SG->RowCount = 2;

	Abonent *pv;

	if (find_list) {
		pv = find_list;
	} else {
		pv = TelList;
	}

		while(pv) {
			SG->RowCount++;
			SG->Cells[0][SG->RowCount-2] = SG->RowCount - 2;
			SG->Cells[1][SG->RowCount-2] = pv->fam;
			SG->Cells[2][SG->RowCount-2] = pv->nam;
			SG->Cells[3][SG->RowCount-2] = pv->tel;
			SG->Cells[4][SG->RowCount-2] = TimeToStr(StrToTime(pv->end) - StrToTime(pv->start));
			pv=pv->next;
		}
	if (SG->RowCount>2) {
		Form1->edit->Enabled = true;
		Form1->del->Enabled = true;
		Form1->GroupBox3->Enabled = true;
	} else {
		Form1->edit->Enabled = false;
		Form1->del->Enabled = false;
		Form1->GroupBox3->Enabled = false;
	}
		Form1->add->Enabled = true;
}

// ---главная--------------------------------------------------------------
void start() {
	read_dbase("dbase.abn");
}
// ---добавление абонента--------------------------------------------------------------
void add_abn(Abonent& abn)
{
	Abonent *pv = new Abonent;
	*pv = abn;
	pv->next=0;

	if(TelList)
	{
		Abonent *temp = TelList;
		while(temp->next)
			temp = temp->next;
		temp->next = pv;
	}
	else
		TelList = pv;
}

// ---корректировка--------------------------------------------------------------
void edit_abn(Abonent &beg)
{
	Abonent *prev;
	AnsiString fam = beg.fam;
	AnsiString nam = beg.nam;
	Abonent *abn = find_abn(TelList, familia, name, telephone, &prev);
	abn->fam = beg.fam;
	abn->nam = beg.nam;
	abn->tel = beg.tel;
	abn->start = beg.start;
	abn->end = beg.end;
}

// ---удаление--------------------------------------------------------------
void del_abn(AnsiString fam, AnsiString nam, AnsiString tel)
{
	Abonent *prev;
	Abonent *pv=find_abn(TelList, fam, nam, tel, &prev);
	if (pv)
	{
		if(pv == TelList)
			TelList = TelList->next;
		else
			TelList->next = pv->next;
		delete pv;
	}
}

// ---добавление найденых записей в список поиска по телефону--------------------------------------------------------------
void add_finded(Abonent &abn) {
	Abonent *pv = new Abonent;
	*pv = abn;
	pv->next=0;

	if(find_list)
	{
		Abonent *temp = find_list;
		while(temp->next)
			temp = temp->next;
		temp->next = pv;
	}
	else
				find_list=pv;
}
// ---поиск по телефону--------------------------------------------------------------
void find_abn(Abonent *pv, AnsiString tel)
{
	Abonent *prev = 0, *first = 0;
	Abonent *ret = pv;
	Abonent *tmp = new Abonent;
	tmp->next = 0;
	while(ret)
	{
		if(ret->tel == tel) {
		   add_finded(*ret);
		}
		ret=ret->next;
	}
		if (!find_list) {
				ShowMessage("Ничего не найдено");
		}
}

// ---поиск по фамилии, имени и телефону--------------------------------------------------------------
Abonent* find_abn(Abonent* pv, AnsiString fam, AnsiString nam, AnsiString tel, Abonent** prev)
{
	*prev=0;
	while(pv != NULL)
	{
		if(pv->fam == fam && pv->nam == nam && pv->tel == tel) {
			return pv;
		}
		*prev=pv;
		pv=pv->next;
	}
	return 0;
}

// ---формирование извещения--------------------------------------------------------------
AnsiString notice(int pay, Abonent *pv) {
	AnsiString not;
	not = "Абонент: " + pv->fam + " " + pv->nam + "\r\n";
	not+= "Номер телефона: " + pv->tel + "\r\n";
	not+= "Начало разговора: " + pv->start + "\r\n";
	not+= "Окончание разговора: " + pv->end + "\r\n";
	not+= "Длительность разговора: " + TimeToStr(StrToTime(pv->end) - StrToTime(pv->start)) + "\r\n";

	TTime call_duration = StrToTime(pv->end) - StrToTime(pv->start);
	int h = HourOf(call_duration);
	int m = MinuteOf(call_duration);
	int s = SecondOf(call_duration);
	float mins = h * 60 + m + (float)s / 60;
	AnsiString tmp = FormatFloat("0.00", (mins * pay));
	int rub = tmp.SubString(0, tmp.Pos(",")-1).ToInt();
	int kop = tmp.SubString(tmp.Pos(",")+1, tmp.Length()).ToInt();

	not+= "Сумма к оплате: " + IntToStr(rub) + " руб. " + IntToStr(kop) + " коп.";

	return not;
}

// ---чтение из файла--------------------------------------------------------------
int read_dbase(char* filename)
{
	FILE* fin;
	Abonent abn;
	const int MaxLen = 255;
	char fam[MaxLen], nam[MaxLen], tel[MaxLen], start[MaxLen], end[MaxLen];

	if((fin=fopen(filename,"r"))==0)
	{
		return 0;
	}
	while(!feof(fin))
	{
				fscanf(fin, "%s\n%s\n%s\n%s\n%s\n", fam, nam, tel, start, end);

		abn.fam=AnsiString(fam);
		abn.nam=AnsiString(nam);
		abn.tel=AnsiString(tel);
		abn.start=AnsiString(start);
		abn.end=AnsiString(end);
		add_abn(abn);
	}
	fclose(fin);
	return 0;
}

// ---запись в файл--------------------------------------------------------------
int write_dbase(char *filename)
{
	FILE *fout;
		Abonent *pv = TelList;
	if ((fout=fopen(filename,"w")))
	{
		while(pv != NULL)
		{
				fprintf(fout, "%s\n%s\n%s\n%s\n%s\n", pv->fam, pv->nam, pv->tel, pv->start, pv->end);
				pv=pv->next;
		}
		}
	fclose(fout);
	return 0;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
	StringGrid1->Cells[0][0] = "№";
	StringGrid1->Cells[1][0] = "Фамилия";
	StringGrid1->Cells[2][0] = "Имя";
	StringGrid1->Cells[3][0] = "Номер";
	StringGrid1->Cells[4][0] = "Длительность";
	ResizeGrid(StringGrid1);
	start();
	ReadActiv(StringGrid1);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
	write_dbase("dbase.abn");
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key)
{
	if(((Key>='А')&&(Key<='я')) || ((Key>='a')&&(Key<='z'))
			|| ((Key>='A')&&(Key<='Z'))||(Key==VK_BACK)) return;
	if (Key=13) {
		Edit2->SetFocus();
	}
	Key=0;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Edit2KeyPress(TObject *Sender, char &Key)
{
	if(((Key>='А')&&(Key<='я')) || ((Key>='a')&&(Key<='z'))
			|| ((Key>='A')&&(Key<='Z'))||(Key==VK_BACK)) return;
	if (Key=13) {
		Edit3->SetFocus();
	}
	Key=0;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::Edit3KeyPress(TObject *Sender, char &Key)
{
	switch (Key) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case '-':
	case '+':
	case 8:
		break;
	case 13: {
			DateTimePicker1->SetFocus();
			break;
		}
	default:
		Key = 0;
	}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit4KeyPress(TObject *Sender, char &Key)
{
	switch (Key) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case '-':
	case '+':
	case 8:
		break;
	case 13: {
			find->Click();
			break;
		}
	default:
		Key = 0;
	}
}

//---------------------------------------------------------------------------
void __fastcall TForm1::DateTimePicker1KeyPress(TObject *Sender, char &Key)
{
	switch (Key) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 8:
		break;
	case 13: {
			DateTimePicker2->SetFocus();
			break;
		}
	default:
		Key = 0;
	}
}

//---------------------------------------------------------------------------
void __fastcall TForm1::DateTimePicker2KeyPress(TObject *Sender, char &Key)
{
	switch (Key) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 8:
		break;
	case 13: {
			apply->Click();
			break;
		}
	default:
		Key = 0;
	}
}

//---------------------------------------------------------------------------
void __fastcall TForm1::MaskEdit3KeyPress(TObject *Sender, char &Key)
{
	switch (Key) {
	case '0':
	case '1':
	case '2':
	case '3':
	case '4':
	case '5':
	case '6':
	case '7':
	case '8':
	case '9':
	case 8:
		break;
	case 13: {
			izv->Click();
			break;
		}
	default:
		Key = 0;
	}
}

//---------------------------------------------------------------------------
void __fastcall TForm1::addClick(TObject *Sender)
{
	add_edit = false;
		GroupBox1->Enabled = true;
		Label1->Enabled = true;
		Label2->Enabled = true;
		Label3->Enabled = true;
		Label4->Enabled = true;
		Label5->Enabled = true;
	Edit1->Enabled = true;
	Edit2->Enabled = true;
	Edit3->Enabled = true;
	DateTimePicker1->Enabled = true;
	DateTimePicker2->Enabled = true;
		apply->Enabled = true;
		rest->Enabled = true;
	Edit1->SetFocus();

		add->Enabled = false;
		edit->Enabled = false;
		del->Enabled = false;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::editClick(TObject *Sender)
{
	add_edit = true;
		GroupBox1->Enabled = true;
		Label1->Enabled = true;
		Label2->Enabled = true;
		Label3->Enabled = true;
		Label4->Enabled = true;
		Label5->Enabled = true;
	Edit1->Enabled = true;
	Edit2->Enabled = true;
	Edit3->Enabled = true;
	DateTimePicker1->Enabled = true;
	DateTimePicker2->Enabled = true;
		apply->Enabled = true;
		rest->Enabled = true;
	Edit1->SetFocus();

		add->Enabled = false;
		edit->Enabled = false;
		del->Enabled = false;

	Abonent* prev;
	AnsiString fam = StringGrid1->Cells[1][StringGrid1->Row];
	AnsiString nam = StringGrid1->Cells[2][StringGrid1->Row];
	AnsiString tel = StringGrid1->Cells[3][StringGrid1->Row];
	Abonent* pv = find_abn(TelList, fam, nam, tel, &prev);

	Edit1->Text = pv->fam;
	Edit2->Text = pv->nam;
	Edit3->Text = pv->tel;
	DateTimePicker1->Time = StrToTime(pv->start);
	DateTimePicker2->Time = StrToTime(pv->end);

	familia = pv->fam;
	name = pv->nam;
	telephone = pv->tel;
}

//---------------------------------------------------------------------------
void __fastcall TForm1::applyClick(TObject *Sender)
{
		Edit1->Text = Edit1->Text.Trim();
		Edit2->Text = Edit2->Text.Trim();
		Edit3->Text = Edit3->Text.Trim();

		Abonent abn;
		if (Edit1->Text.Length() && Edit2->Text.Length() && Edit3->Text.Length()) {
			abn.fam = Edit1->Text;
			abn.nam = Edit2->Text;
			abn.tel = Edit3->Text;
			abn.start = DateTimePicker1->Time.TimeString();
			abn.end = DateTimePicker2->Time.TimeString();
		} else {
		   ShowMessage("Все поля должны быть заполнены");
		   return;
		}

	if (!add_edit) {
		add_abn(abn);
	} else {
		edit_abn(abn);
	}

	ReadActiv(StringGrid1);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::restClick(TObject *Sender)
{
	ReadActiv(StringGrid1);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::delClick(TObject *Sender)
{
	AnsiString fam = StringGrid1->Cells[1][StringGrid1->Row];
	AnsiString nam = StringGrid1->Cells[2][StringGrid1->Row];
	AnsiString tel = StringGrid1->Cells[3][StringGrid1->Row];
	del_abn(fam, nam, tel);
		ReadActiv(StringGrid1);
}

//---------------------------------------------------------------------------
void __fastcall TForm1::findClick(TObject *Sender)
{
	AnsiString tel = Edit4->Text;
	find_list = 0;
	find_abn(TelList, tel);
	ReadActiv(StringGrid1);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::clerClick(TObject *Sender)
{
	Edit4->Text = "";
	find_list = 0;
	ReadActiv(StringGrid1);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::izvClick(TObject *Sender)
{
	Memo1->Clear();
	AnsiString tmp_pay = MaskEdit3->Text.Trim();
	if (tmp_pay.Length()) {
		int pay = StrToInt(tmp_pay);
		Abonent* prev;
		int row = StringGrid1->Row;
		if (row == 0) {
			row++;
		}
		AnsiString fam = StringGrid1->Cells[1][row];
		AnsiString nam = StringGrid1->Cells[2][row];
		AnsiString tel = StringGrid1->Cells[3][row];
		Abonent* pv = find_abn(TelList, fam, nam, tel, &prev);

		AnsiString not = notice(pay, pv);
		Memo1->Lines->Add(not);
	} else {
		ShowMessage("Введите цену минуты");
	}
}

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


во вложении проект целиком
...
Рейтинг: 0 / 0
не копируется структура
    #38638011
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
White Owl?В неинициализированной глобальной переменной не что угодно, а совершенно точно NULL.Заблуждаешься.Идем вот сюда http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3797.pdf и читаем до просветления...
...
Рейтинг: 0 / 0
не копируется структура
    #38638014
?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
?
Гость
Сначала хотел отправить читать http://www.c-cpp.ru/books/inicializaciya-peremennyh но подумал лучше отправить на более авторитетный источник
...
Рейтинг: 0 / 0
4 сообщений из 29, страница 2 из 2
Форумы / C++ [игнор отключен] [закрыт для гостей] / не копируется структура
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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