- при несоблюдении размерности исходных данных выводится сообщение об ошибке и вычисления не производятся;
- при не заданной массе или цене одно из товаров выводится сообщение об ошибке и вычисления не производятся.
Контрольный пример:
Исходные данные: грузоподъёмность = 11; масса первого вида товара = 3; масса второго вида товара = 5; масса третьего вида товара = 8; цена первого вида товара = 8; цена второго вида товара = 14; цена третьего вида товара = 23.
Выходные данные: количество товара первого вида = 1; количество товара второго вида = 0; количество товара третьего вида = 1; цена набора товаров = 31.
5. Дополнительные возможности
Дополнительные возможности отсутствуют.
6. Сообщение системному программисту
При отсутствии в каталоге с программой файла с примером входных данных будет выдано соответствующее сообщение (Рис. 1).
Рисунок 1 – Сообщение об отсутствии файла с примером
Необходимо восстановить файл с примером. Если копия файла не сохранилась, то можно создать его заново в любом текстовом редакторе и сохранить в формате txt. Содержание файла:
11
3
5
8
8
14
23
Пустые строки между группами чисел обязательны.
Приложение
Текст основного модуля.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "BagWin.h"
#include "Infr.cpp"
#include <limits.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TCalcWin *CalcWin;
//---------------------------------------------------------------------------
__fastcall TCalcWin::TCalcWin(TComponent* Owner)
: TForm(Owner)
{
//формирование исходного вида таблицы
Goods->Cells[0][0] = "Масса";
Goods->Cells[1][0] = "0";
Goods->Cells[0][1] = "Цена";
Goods->Cells[1][1] = "0";
}
//---------------------------------------------------------------------------
void __fastcall TCalcWin::AddGoodsClick(TObject *Sender)
{
/*в окне программы начального вида умецается 7 столбцов таблицы
поэтому, начиная с этого числа столбцов, при добавлении очередного столбца
нужно раздвигать окно программы на ширину ячейки до тех пор,
пока не достигнута граница экрана*/
if ((Goods->ColCount > 6) && (this->Width < Screen->Width))
{
this->Width += 72; //раздвигаем окно
Goods->Width += 72; //раздвигаем таблицу
OutPut->Width += 72; //раздвигаем поле вывода результата
}
Goods->ColCount++;
Goods->Cells[Goods->ColCount - 1][0] = "0";
Goods->Cells[Goods->ColCount - 1][1] = "0";
}
//---------------------------------------------------------------------------
void __fastcall TCalcWin::DelGoodsClick(TObject *Sender)
{
short i;
if (Goods->ColCount > 2)
{
if ((Goods->ColCount > 7) && ((Goods->ColCount * Goods->DefaultColWidth) <= Screen->Width))
{
this->Width -= 72; //cдвигаем окно
Goods->Width -= 72; //cдвигаем таблицу
OutPut->Width -= 72; //cдвигаем поле вывода результата
}
for (i = Goods->Col; i < (Goods->ColCount - 1); i++)
{
Goods->Cells[i][0] = Goods->Cells[i + 1][0];
Goods->Cells[i][1] = Goods->Cells[i + 1][1];
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.