Страница 1 из 1

С++ Builder классы

Добавлено: 20 апр 2011, 21:09
JinZh
/*
Написать программу, в которой предусмотреть класс для организации
обработки целочисленного массива.
Внутри класса реализовать два конструктора:
1-й конструктор должен обеспечивать ввод элементов массива с клавиатуры;
2-й конструктор должен формировать значения элементов массива в задаваемом диапазоне [min, max]
c помощью генератора случайных значений.
Внутри класса предусмотреть 5 методов:
1-й метод должен вычислять значение максимального элемента в массиве;
2-й метод должен вычислять значение минимального элемента;
3-й метод должен обеспечивать вывод массива на экран.
Еще 2 метода спроектировать самостоятельно и реализовать.
*/

Вот код решения на С++ в консоли Builder

Код: Выделить всё

 #include "vcl.h"
 #include "iostream.h" 
 #include "conio.h" 
 #include <windows.h> 
 #include <math.h> 
 using namespace std; 

 class mass 
 { 
 public: mass_A1(int); 
 //~mass();
 void min_mass (int);
 void max_mass (int);
 void output_mass (int); 
 private: int m[10];

 }; 

 mass::mass_A1(int size)
 { for(int i = 1; i <= size; i++)
 { 
 m[i] = rand();
 cout << "Vvedite m["<<i<<"] element "; 
 cin >> m[i]; 
 } 

 } 

 void mass::min_mass(int size) 
 { 
 int min; min=m[1];
 for(int i = 1; i <= size; i++) 
 { 

 if (m[i]<=min) min=m[i];
 } 
 cout<<"Minimal'niy element ="<<min<<"\n"; 
 } 

 void mass::max_mass(int size)
 { 
 int max;
 max=m[1];
 for(int i = 1; i <= size; i++)
 {

 if (m[i]>=max) max=m[i];
 }
 cout<<"Maximal'niy element="<<max<<"\n";
 } 

 void mass:utput_mass(int size) 
 { cout<<" ===Vyvod=massiva===\n"; 
 for(int i = 1; i <= size; i++) 
 { 
 cout<<i<<".element="<<m[i]<<"\n";
 } 
 } 

 int main() 
 { int size;
 mass A1; //
 cout<<"Enter size: "; 
 cin>>size; 
 A1.mass_A1(size); 
 A1.min_mass(size); 
 A1.max_mass(size); 
 A1.output_mass(size); 

 getch(); 
 return 0;

 }
Мне нужна помощь по реализации этой задачи в Builder.. как связать классы с формой и функции класса с кнопками. Кто может примерно показать куда нужно заносить класс. Препод еще говорил что нужно создавать еще 1 класс с этим массивом, что бы при изменении возвращаться к исходнику.
P.S пожайлуйста помогите хотя бы инфой, через 5 дней сдача курсовой! =(

Re: С++ Builder классы

Добавлено: 21 апр 2011, 13:44
JinZh
попробывал реализовать ,все получается.. только бы еще ввод вручную как нибудь что бы работал , помогите....

Вот мой код:
Unit1.cpp

Код: Выделить всё

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

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
mass::mass()
{
//ввод вручную не получается
}
//рандомно------------------------------------------------------------------
mass::mass(int min,int max)
{
for (int i=0;i<10;i++) arr[i]= random(max-min)+min;
}
//максимальное--------------------------------------------------------------
void mass::max_mass()
{
int t=arr[0];
for (int i=1;i<10;i++)
{
  if (arr[i]>t) t=arr[i];
}
Form1->Memo1->Lines->Add("max="+IntToStr(t));
}
//минимальное----------------------------------------------------------------
void mass::min_mass()
{
int t=arr[0];
for (int i=1;i<10;i++)
{
  if (arr[i]<t) t=arr[i];
}
Form1->Memo1->Lines->Add("min="+IntToStr(t));
}
//вывод----------------------------------------------------------------------
void mass: :o utput_mass()
{
for (int i=0;i<10;i++)
{
  Form1->Memo1->Lines->Add(IntToStr(A->arr[i]));
}
}
//---------------------------------------------------------------------------
//пробовал ввод вручную
void mass::in_mass(int r)
{
 //if (Form1->Button1->OnClick)
arr[r]=StrToInt(Form1->Edit1->Text);
}
void __fastcall TForm1::Button4Click(TObject *Sender)
{
 A = new mass();
 A = new mass(1,50);
 A->output_mass();

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
{
delete A;//очищаем память
A=NULL;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Memo1->Text=" ";
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
A->max_mass();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
A->min_mass();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Memo1->Text=" ";
}
//---------------------------------------------------------------------------
Unit1.h

Код: Выделить всё

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

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:	// IDE-managed Components
        TEdit *Edit1;
        TButton *Button1;
        TButton *Button2;
        TButton *Button3;
        TButton *Button4;
        TLabel *Label1;
        TMemo *Memo1;
        TButton *Button5;
        void __fastcall Button4Click(TObject *Sender);
        void __fastcall FormClose(TObject *Sender, TCloseAction &Action);
        void __fastcall FormCreate(TObject *Sender);
        void __fastcall Button2Click(TObject *Sender);
        void __fastcall Button3Click(TObject *Sender);
        void __fastcall Button5Click(TObject *Sender);
private:	// User declarations
public:		// User declarations
        __fastcall TForm1(TComponent* Owner);
};
class mass
{
public:
 mass();
 mass(int,int);
 void max_mass();
 void min_mass();
 void output_mass();
 void in_mass(int);
 
private:
 int arr[10];
};
mass * A;

//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
http://s005.radikal.ru/i212/1104/77/2315dfd10994.jpg - Form