- •Задача 1. Конвертер
- •Задача 2. Фунты-килограммы
- •Задача 3. Сила тока.
- •Задача 4. Сопротивление
- •Задача 5. Кафе
- •Задача 6. Любимый напиток
- •Задача 7. Электроэнергия
- •Задание 8. Осаго
- •Задание 9.Просмотр иллюстраций
- •Задача 10. Калькулятор
- •Задача 11. Калькулятор-2
- •Задача 12.Секундомер
- •Задача 13. Угадай число
- •Задание 14.Угадай число-2
- •Задание 15.Запуск Internet Explorer
- •Задание 16.Конвертор
- •Задание 17.Конвертор 2
- •Задание 18.Погода
- •Задание 19.Средняя температура
- •Задание 20. Простая база данных
- •Задание 21. Редактор текста
- •Задание 22. Приветствие
- •Задача 23. Олимпийский флаг
- •Задание 24. Диаграмма
- •Задача 26. Круговая диаграмма.
- •Задача 27. Просмотр иллюстраций.
- •Задача 28 .Часы
- •Задача 29. Пинг понг.
- •Задача 30. Полет в облаках
- •Задача 31.Баннер
- •Задача 32. Фоновый рисунок
- •Задача 33. Wav
- •Задача 34. Mp3 Player
- •Задача 35.Воспроизведение midi
- •Задача 36.Compact Disk Player (версия 1)
- •Задача 37.Compact Disk Player (версия 2)
- •Задача 38.VideoPlayer
- •Задача 39. Анимация
- •Задача 40. Записная книжка
- •Задача 41 Магазин
- •Задача 42. Ежедневник
- •Задача 43. Сапер
- •Часть 1. Примеры и задачи
- •Часть 1. Примеры и задачи
- •Задача 44 Игра 15
- •Часть 1. Примеры и задачи
- •Задача 45. Игра "Собери картинку" (Puzzle)
- •Задача 46 Игра "Парные картинки"
- •Задача 47. Экзаменатор
- •Задача 48. Экзаменатор-2
- •Задача 49. Календарь
- •Задача 50. Будильник
- •Задача 51. Очистка диска
- •Задача 52.Печать
- •Задачи для самостоятельного решения Задача 1. Скидка
- •Задача 2.Доход по вкладу
- •Задача 3. Таблица умножения
- •Задача 4.Поездка на автомобиле
- •Задача 5.Стоимость разговора
- •Задача 6. Стеклопакет
- •Задача7. Калькулятор
- •Задача 8. Электроэнергия
- •Задача 9. Добрый день
- •Задача 10. Часы
- •Задача 11. Узоры
- •Задача 12. Курс доллара
- •Задача 13. Диаграмма
- •Задача 14. Домашние животные
- •Задача 15. Кораблик
- •Задача 16. Сапер
- •Задача 17 .Экзаменатор
- •Задача 18. База данных "Расходы"
Задача 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;
}
}
}
//---------------------------------------------------------------------------
