Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Задача 4.Поездка на автомобиле
Напишите программу, при помощи которой можно вычислить стоимость поездки на автомобиле. (рис.66) Рис 66 Вывод: В этом задании мы научились расчитывать стоимость поездки на автомобиле. Листинг #include < vcl.h> #pragma hdrstop
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; int a, b, c, d; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click(TObject *Sender) { a = StrToInt(Edit1-> Text); b = StrToInt(Edit2-> Text); c = StrToInt(Edit3-> Text);
d= c/b*a; Label4-> Caption = IntToStr(d); } //---------------------------------------------------------------------------
Задача 5.Стоимость разговора Напишите программу вычисления стоимости исходящего звонка с сотового телефона. (Рис. 67) Рис 67 Вывод: В этом задании мы создали программу для вычисления стоимости исходящего звонка с сотового телефона. Листинг #include < vcl.h> #pragma hdrstop
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; int a, b, c, d; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { a = 0; b = 1, 2; c = 1, 5; } //---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click(TObject *Sender) { d = StrToInt(Edit1-> Text); if (RadioButton1-> Checked == True) { d = d * 0; }
if (RadioButton2-> Checked == True) { d = d * 1.5; }
if (RadioButton3-> Checked == True) { d = d * 1; }
Label2-> Caption = IntToStr(d); } //---------------------------------------------------------------------------
Задача 6. Стеклопакет Напишите программу, при помощи которой можно вычислить стоимость окна (стеклопакета). (рис. 68) Рис 68 Вывод: В этом задании мы создали програму при помощи которой можно вычислить стоимость окна (стеклопакета). Листинг #include < vcl.h> #pragma hdrstop #include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; int a, b, c, e, g = 100; int d = 2; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { } //---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click(TObject *Sender) { a=StrToInt(Edit1-> Text); b=StrToInt(Edit2-> Text); c=a*b; if (CheckBox1-> Checked ==true) c=c+g; if (RadioButton1-> Checked ==true) Label3-> Caption =IntToStr(c);
if (RadioButton2-> Checked ==true) { e=c*d; Label3-> Caption =IntToStr(e); }
} //---------------------------------------------------------------------------
Задача7. Калькулятор Усовершенствуйте программу Калькулятор так, чтобы можно было выполнять операции умножения и деления. (рис. 69) Рис 69 Вывод: В этом задании мы создали калькулятор который делит и умножает числа. Листинг #include < vcl.h> #pragma hdrstop
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; float a, b; AnsiString op; int f; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { f=0; } //---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click(TObject *Sender) { if(f==0){ Memo1-> Text=((TButton*)Sender)-> Caption; f=1; } else Memo1-> Text=Memo1-> Text+((TButton*)Sender)-> Caption; b=StrToFloat(Memo1-> Text); } //--------------------------------------------------------------------------- void __fastcall TForm1:: Button12Click(TObject *Sender) { if(f){ a=StrToFloat(Memo1-> Text); op=((TButton*)Sender)-> Caption; Memo1-> Lines-> Add(((TButton*)Sender)-> Caption); f=0; } } //--------------------------------------------------------------------------- void __fastcall TForm1:: Button17Click(TObject *Sender) { if(op=='+'){ a+=b; f=0; } else if(op=='-'){ a-=b; f=0; } else if(op=='*'){ a*=b; f=0; } else if(op=='/'){ a/=b; f=0; } Memo1-> Lines-> Add(FloatToStrF(a, ffGeneral, 5, 2));
} //--------------------------------------------------------------------------- void __fastcall TForm1:: Button16Click(TObject *Sender) { Memo1-> Clear(); f=0; } //--------------------------------------------------------------------------- void __fastcall TForm1:: Button10Click(TObject *Sender) { if(! f){ Memo1-> Text=" 0, "; f=1; } else if(Memo1-> Text.Pos(", " )==0) Memo1-> Text=Memo1-> Text+", "; } //---------------------------------------------------------------------------
Задача 8. Электроэнергия Напишите программу, которая сохраняет в файле electr.txt показания счетчика расхода электроэнергии.(Рис.70) Рис 70 Вывод: В этом задании мы написали программу, которая сохраняет показания счетчика расхода электроэнергии. Листинг #include < vcl.h> #pragma hdrstop #include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { Edit2-> OnKeyPress = Edit1KeyPress; Edit3-> OnKeyPress = Edit1KeyPress;
Edit1-> Tag = 1; Edit2-> Tag = 2; Edit3-> Tag = 3; } //---------------------------------------------------------------------------
void __fastcall TForm1:: Button1Click(TObject *Sender) { float prior, curr; float tariff; float summ; prior = StrToFloat(Edit1-> Text); curr = StrToFloat(Edit2-> Text); tariff = StrToFloat(Edit3-> Text);
if (curr < prior)
{MessageDlg(" Текущее показание счетчика не может быть меньше предыдущего", mtWarning, TMsgDlgButtons() < < mbOK, 0); return; } summ = (curr - prior) * tariff; Label4-> Caption = " Сумма к оплате: " + FloatToStrF(summ, ffCurrency, 6, 2); } //---------------------------------------------------------------------------
void __fastcall TForm1:: Edit1KeyPress(TObject *Sender, char & Key) { TEdit * Edit; Edit = (TEdit*)Sender;
if ( Key == VK_RETURN) switch (Edit-> Tag) { case 1:
Edit2-> SetFocus(); break; case 2: Edit3-> SetFocus(); break; case 3: Button1-> SetFocus(); break; } return; if ( (( Key > = '0') & & ( Key < = '9' )) || (Key == VK_BACK))
return; if ((Key == ', ') || (Key == '.')) { Key = DecimalSeparator; if ((Edit1-> Text).Pos(DecimalSeparator)! = 0) Key = 0; return; } if ( Key == VK_BACK ) return;
Key = 0; } //---------------------------------------------------------------------------
Задача 9. Добрый день Измените программу Добрый день таким образом, чтобы в зависимости от времени суток менялся не только текст приветствия, но и фоновый рисунок.(рис. 71) Рис 71 Вывод: В этом задании мы создали программу Добрый день таким образом, чтобы в зависимости от времени суток менялся не только текст приветствия, но и фоновый рисунок. Листинг #include < vcl.h> #pragma hdrstop #include < DateUtils.hpp>
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; Graphics:: TBitmap *bgp; // фоновыйрисунок AnsiString sMonth[] = {" ", " января", " февраля", " марта", " апреля", " мая", " июня", " июля", " августа", " сентября", " октября", " ноября", " декабря" };
//--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { bgp = new Graphics:: TBitmap(); try { bgp-> LoadFromFile(" sky.bmp" ); } catch (EFOpenError & e) { } } //---------------------------------------------------------------------------
void __fastcall TForm1:: FormPaint(TObject *Sender) { int h; AnsiString mes; int wt, ht;
int x, y; h = HourOf(Now()); if ( h < = 4 ) mes = " Доброй ночи! "; else if ( h < 12 ) mes = " Доброеутро! " ; else if ( h < = 16) mes = " Добрыйдень! " ; else mes = " Добрыйвечер! "; Form1-> Font-> Name = " Times New Roman"; //Forml-> Font-> Color = clBlue; Form1-> Canvas-> Font-> Size = 20;
wt = Canvas-> TextWidth(mes); ht = Canvas-> TextHeight(mes); x = (ClientWidth - wt) / 2; y = ClientHeight / 2 - ht;
Canvas-> Draw(0, 0, bgp);
Canvas-> Brush-> Style = bsClear; Canvas-> TextOutA(x, y, mes); y = y + ht;
mes = FormatDateTime(" Сегодня d", Now() ); mes = mes + " " + sMonth[MonthOf( Now())] + ", " + FormatDateTime(" dddd", Now() );
Canvas-> Font-> Size -= 4; wt = Canvas-> TextWidth(mes); ht = Canvas-> TextHeight(mes); x = (ClientWidth - wt) / 2; y = y + 6; Canvas-> TextOutA(x, y, mes); } //---------------------------------------------------------------------------
void __fastcall TForm1:: FormResize(TObject *Sender) { Form1-> Refresh(); } //---------------------------------------------------------------------------
Задача 10. Часы Напишите программу Часы, в окне которой отображается текущее время. Двоеточие на индикаторе должно мигать. Вывод: В этом задании мы создали программу часы. Листинг #include < vcl.h> #pragma hdrstop
#include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #include " DateUtils.hpp" #include " math.h" #pragma resource " *.dfm" #define R 75 TForm1 *Form1; int x0, y0; int ahr, amin, asec; //--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { TDateTime t; ClientHeight = (R + 30)*2; ClientWidth = (R + 30)*2; x0 = R + 30; y0 = R + 30; t = Now();
ahr = 90 - HourOf(t)*30-(MinuteOf(Today() ) / 12) *6;
amin = 90 - MinuteOf(t)*6; asec = 90 - SecondOf( Today() )*6; Timerl-> Interval = 1000; Timerl-> Enabled = true;
} //---------------------------------------------------------------------------
Задача 11. Узоры Напишите программу, в окне которой формируется узор из окружностей произвольного диаметра и цвета. Вывод: Листинг
Задача 12. Курс доллара Напишите программу, в окне которой на фоне картинки отображается график изменения курса доллара.Данные должны загружаться из файла. (Рис. 72) Рис 72 Вывод: В этом задании мы создалипрограмму, в окне которой на фоне картинки отображается график изменения курса доллара Листинг #include < vcl.h> #pragma hdrstop #include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; Graphics:: TBitmap *bgp; float data[] = {27.98, 28.01, 27.96, 27.96, 28.11, 28.08, 28.00, 27.98, 28.15, 28.15, 28.11, 27.94, 27.86, 27.88, 27.95, 27.95}; AnsiString Title = " Изменение курса доллара";
//--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { bgp = new Graphics:: TBitmap(); try { bgp-> LoadFromFile(" C: \\Users\\SysAdmin\\Desktop\\Никита - Антон\\ПрактикаПроги\\График\\sky.bmp" ); } catch (EFOpenError & e) { } } //---------------------------------------------------------------------------
void __fastcall TForm1:: FormPaint(TObject *Sender) { int n; int x, y; int dx; int x0, y0; Canvas-> Font-> Name = " Tahoma"; Canvas-> Font-> Size = 12; x0 = (ClientWidth - Canvas-> TextWidth(Title)) /2; Canvas-> Brush-> Style = bsClear; Canvas-> TextOutA(x0, 10, Title); n = sizeof(data) / sizeof(float); int min, max; min =0; max =0; for (int i = 1; i < n; i++) { if (data[i] < data[min]) min = i; if (data[i] > data[max]) max = i; } bool frmin = true; dx= (ClientWidth - 20) / (n-1); Canvas-> Font-> Size -= 2; Canvas-> Pen-> Color = clGreen; Canvas-> Pen-> Width = 1; x0 = 10; y0 = ClientHeight - 10; x = x0; dx= (ClientWidth - 20) / (n-1); for ( int i = 0; i < n; i++) { if (! frmin) y = y0 + (ClientHeight- - 90) * data [i]/data[max]; else y = y0-(ClientHeight - 90) * (data[i]-data[min])/(data[max] - data[min])-10;
Canvas-> Rectangle(x-2, y-2, x+2, y+2); if (i! = 0) Canvas-> LineTo(x, y); if ( ( i == 0) || (data[i]! = data[i-1])) { AnsiString st; st = FloatToStrF(data[i], ffGeneral, 5, 2); Canvas-> Brush-> Style = bsClear; Canvas-> TextOutA(x, y-20, st); } Canvas-> MoveTo(x, y); x += dx; } } //--------------------------------------------------------------------------- void __fastcall TForm1:: FormResize(TObject *Sender) { Form1-> Refresh(); } //---------------------------------------------------------------------------
Задача 13. Диаграмма Напишите программу, в окне которой, в виде диаграммы, отображается динамика изменения, например, цены мониторов. (рис. 73) Рис 73 Вывод: В этом задании мы сделали диаграмму на которой отображены цены на мониторы. Листинг //------------------------------------------------------------- #include < vcl.h> #pragma hdrstop #include " Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource " *.dfm" TForm1 *Form1; float data[] = {27.98, 28.01, 27.96, 27.96, 28.11, 28.08, 28.00, 27.98, 28.15, 28.15, 28.11, 27.94, 27.86, 27.88, 27.95, 27.95}; AnsiString Title = " Изменениеценымониторов";
//--------------------------------------------------------------------------- __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { }
//---------------------------------------------------------------------------
void __fastcall TForm1:: FormResize(TObject *Sender) { Form1-> Refresh(); } //---------------------------------------------------------------------------
void __fastcall TForm1:: FormPaint(TObject *Sender) { { int x, y; Canvas-> Font-> Name = " Tahoma"; Canvas-> Font-> Size =12; x = (ClientWidth - Canvas-> TextWidth(Title)) /2; Canvas-> Brush-> Style = bsClear; Canvas-> TextOutA(x, 10, Title); int n; int wCol;
#define MC 5 n = sizeof(data) / sizeof(float); wCol = (ClientWidth - (n - 1)*MC - 20) / n; x = 10; y = ClientHeight - 20; int min, max; min =0; max =0; for (int i = 1; i < n; i++) { if (data[i] < data[min]) min = i; if (data[i] > data[max]) max = i; } bool frmin = true; int h; Canvas-> Font-> Size -= 2; for ( int i = 0; i < n; i++) { if (! frmin) h = (ClientHeight - 90) * data[i]/data[max]; else h = (ClientHeight - 90) * (data[i] - data[min])/(data[max] - data[min]) + 10;
Canvas-> Brush-> Style = bsSolid; Canvas-> Brush-> Color = clLime; Canvas-> Rectangle(x, y, x+wCol, y-h); AnsiString st; st = FloatToStrF(data[i], ffGeneral, 5, 2); Canvas-> Brush-> Style = bsClear;
Canvas-> TextOutA(x, y-h-20, st); x = x + wCol + MC; } }
} //---------------------------------------------------------------------------
Популярное:
|
Последнее изменение этой страницы: 2017-03-08; Просмотров: 806; Нарушение авторского права страницы