Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

ЗАДАЧА1: разработать программу использующую структурный тип данных. Детская игрушка характеризуется ценой и нижней границей возраста ребенка. Сведения о каждой игрушке представляют собой запись с



ЗАДАЧА1: разработать программу использующую структурный тип данных. Детская игрушка характеризуется ценой и нижней границей возраста ребенка. Сведения о каждой игрушке представляют собой запись с тремя полями: одно поле строкового типа (название), одно поле действительного типа (цена) и одно - целое (нижняя граница возраста ребенка). Обеспечить ввод и вывод информации об одной игрушке.

 

РЕШЕНИЕ:

Создайте новое приложение. Сохраните ваш проект. Модулю Unit1.cpp дайте имя UStruct1.cpp. Имя проекта задайте вместо Project1 как StructType1. Перенесите на форму по три компонента Label, Edit и два компонента Button. Форма программы приведена на рис. 1.

Рис. 1. Форма программы

Настройте значения имен компонентов в соответствии с таблицей 1.

Таблица 1. Значение имен компонентов.

Компонент

Свойство

Значение

Edit1

Name

EName

Edit2

Name

ECost

Edit3

Name

EAge

Button1

Name

BEnter

Button2

Name

BShow

 

Настройте значения свойств компонентов в соответствии с таблицей 2.

Таблица 2. Значение свойств компонентов.

Компонент

Свойство

Значение

Комментарий

Form1

Caption

Детская игрушка

 

Label1

Caption

Название

 

Label2

Caption

Цена

 

Label3

Caption

Минимальный возраст

 

EName

Text

 

Отсутствие текста

ECost

Text

 

Отсутствие текста

EAge

Text

 

Отсутствие текста

BEnter

Caption

Ввести инфо об игрушке

 

BShow

Caption

Показать инфо об

игрушке

 

BShow

Enabled

false

Кнопка «недоступна»

 

Настройте значения событий компонентов в соответствии с таблицей 3.

Таблица 3. Значение событий компонентов.

Компонент

Событие

Комментарий

BEnter

OnClick

щелчок на кнопке «Ввести инфо об игрушке»

BShow

OnClick

щелчок на кнопке «Показать инфо об

игрушке»

 

Программный код файла реализации UStruct1.cpp выглядит следующим образом:

 

#include <vcl.h>

#pragma hdrstop

#include "UStruct1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

//область определения глобальных переменных

TForm1 *Form1; //объявление переменной для формы

struct TToy //объявление структурного типа для детской игрушки

{

AnsiString Name; //название игрушки

float Cost; //цена игрушки

int Age; //нижняя граница возраста ребенка

};

TToy A1; //объявление переменной А1 структурного типа

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

//нажатие на кнопке «Ввести инфо об игрушке»

void __fastcall TForm1::BEnterClick(TObject *Sender)



{

A1.Name=EName->Text;

A1.Cost=StrToFloat(ECost->Text);

A1.Age=StrToInt(EAge->Text);

BShow->Enabled=true;

}

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

//нажатие на кнопке «Показать инфо об игрушке»

void __fastcall TForm1::BShowClick(TObject *Sender)

{

ShowMessage("Наименование игрушки: "+A1.Name+"\nцена игрушки:

"+A1.Cost+"\nнижний порог возраста ребенка:"+A1.Age);

}

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

 


ЗАДАЧА2: Дополнительно к предыдущей задаче обеспечить ввод 3х игрушек. Определить игрушку с максимальной ценой. Определить игрушки для детей старше трех лет.

 

РЕШЕНИЕ:

Создайте новое приложение или переделайте приложение из задачи №1. Сохраните ваш проект. Модулю Unit1.cpp дайте имя UStruct2.cpp. Имя проекта задайте вместо Project1 как StructType2. Перенесите на форму по три компонента Label, Edit и девять компонентов Button. Форма программы приведена на рис. 2.

Рис. 2. Форма программы

Настройте значения имен компонентов в соответствии с таблицей 4.

Таблица 4. Значение имен компонентов.

Компонент

Свойство

Значение

Edit1

Name

EName

Edit2

Name

ECost

Edit3

Name

EAge

Button1

Name

Benter1

Button2

Name

BShow1

Button3

Name

Benter2

Button4

Name

BShow2

Button5

Name

Benter3

Button6

Name

BShow3

Button7

Name

BShowAll

Button8

Name

BAge

Button9

Name

BMax

 

Настройте значения свойств компонентов в соответствии с таблицей 5.

Таблица 5. Значение свойств компонентов.

Компонент

Свойство

Значение

Комментарий

Form1

Caption

Структурный тип данных

 

Label1

Caption

Название

 

Label2

Caption

Цена

 

Label3

Caption

Минимальный возраст

 

EName

Text

 

Отсутствие текста

EName

TabOrder

 

Порядок фокусировки

ECost

Text

 

Отсутствие текста

ECost

TabOrder

 

Порядок фокусировки

EAge

Text

 

Отсутствие текста

EAge

TabOrder

 

Порядок фокусировки

Benter1

Caption

Ввести инфо об
игрушке 1

 

BShow1

Caption

Показать инфо об

Игрушке 1

 

BShow1

Enabled

false

Кнопка «недоступна»

Benter2

Caption

Ввести инфо об
игрушке 2

 

BShow2

Caption

Показать инфо об

Игрушке 2

 

BShow2

Enabled

false

Кнопка «недоступна»

Benter3

Caption

Ввести инфо об
игрушке 3

 

BShow3

Caption

Показать инфо об

Игрушке 3

 

BShow3

Enabled

false

Кнопка «недоступна»

BShowAll

Caption

Показать информацию по всем игрушкам

 

BShowAll

Enabled

false

Кнопка «недоступна»

BAge

Caption

Все игрушки для детей старше 3х лет

 

BAge

Enabled

false

Кнопка «недоступна»

BMax

Caption

Игрушка с максимальной ценой

 

BMax

Enabled

false

Кнопка «недоступна»

 

Настройте значения событий компонентов в соответствии с таблицей 6.

Таблица 6. Значение событий компонентов.

Компонент

Событие

Комментарий

Benter1

OnClick

щелчок на кнопке «Ввести инфо об игрушке 1»

BShow1

OnClick

щелчок на кнопке «Показать инфо об

игрушке 1»

Benter2

OnClick

щелчок на кнопке «Ввести инфо об игрушке 2»

BShow2

OnClick

щелчок на кнопке «Показать инфо об

игрушке 2»

Benter3

OnClick

щелчок на кнопке «Ввести инфо об игрушке 3»

BShow3

OnClick

щелчок на кнопке «Показать инфо об

игрушке 3»

BShowAll

OnClick

щелчок на кнопке «Показать информацию по всем игрушкам»

BAge

OnClick

щелчок на кнопке «Все игрушки для детей старше 3х лет»

BMax

OnClick

щелчок на кнопке «Игрушка с максимальной ценой»

 

Программный код файла реализации UStruct2.cpp выглядит следующим образом:

 

//Игрушка характерезуется: названием, ценой, нижней границей возраста

//Обеспечить ввод и вывод информации о 3х игрушках

//определить игрушку с максимальной ценой

//определить игрушки для детей страше 3х лет

 

#include <vcl.h>

#pragma hdrstop

#include " UStruct2.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

struct TToy

{

AnsiString Name;

float Cost;

int Age;

};

TToy A1,A2,A3;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::BEnter1Click(TObject *Sender)

{

//Проверяется все ли поля заполнены

if(EName->Text!="" && ECost->Text!="" && EAge->Text!="")

{

A1.Name=EName->Text;

A1.Cost=StrToFloat(ECost->Text);

A1.Age=StrToInt(EAge->Text);

EName->Text="";

ECost->Text="";

EAge->Clear();

EName->SetFocus();

BShow1->Enabled=true;

if(BShow2->Enabled==true && BShow3->Enabled==true)

{

BMax->Enabled=true;

BAge->Enabled=true;

BShowAll->Enabled=true;

}

}

else

ShowMessage("Заполнены не все поля!\nПроверьте правильность ввода информации.");

}

 

void __fastcall TForm1::BShow1Click(TObject *Sender)

{

ShowMessage("Наименование игрушки 1: "+A1.Name+"\nцена игрушки: "+

A1.Cost+"\nнижний порог возраста ребенка:"+A1.Age);

}

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

void __fastcall TForm1::BEnter2Click(TObject *Sender)

{

if(EName->Text!="" && ECost->Text!="" && EAge->Text!="")

{

A2.Name=EName->Text;

A2.Cost=StrToFloat(ECost->Text);

A2.Age=StrToInt(EAge->Text);

EName->Text="";

ECost->Text="";

EAge->Clear();

EName->SetFocus();

BShow2->Enabled=true;

if(BShow1->Enabled==true && BShow3->Enabled==true)

{

BMax->Enabled=true;

BAge->Enabled=true;

BShowAll->Enabled=true;

}

}

else

ShowMessage("Заполнены не все поля!\nПроверьте правильность ввода информации.");

}

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

 

void __fastcall TForm1::BShow2Click(TObject *Sender)

{

ShowMessage("Наименование игрушки 2: "+A2.Name+"\nцена игрушки: "+

A2.Cost+"\nнижний порог возраста ребенка:"+A2.Age);

}

 

void __fastcall TForm1::BEnter3Click(TObject *Sender)

{

if(EName->Text!="" && ECost->Text!="" && EAge->Text!="")

{

A3.Name=EName->Text;

A3.Cost=StrToFloat(ECost->Text);

A3.Age=StrToInt(EAge->Text);

EName->Text="";

ECost->Text="";

EAge->Clear();

EName->SetFocus();

BShow3->Enabled=true;

if(BShow1->Enabled==true && BShow2->Enabled==true)

{

BMax->Enabled=true;

BAge->Enabled=true;

BShowAll->Enabled=true;

}

}

else

ShowMessage("Заполнены не все поля!\nПроверьте правильность ввода информации.");

}

 

void __fastcall TForm1::BShow3Click(TObject *Sender)

{

ShowMessage("Наименование игрушки 3: "+A3.Name+"\nцена игрушки: "+

A3.Cost+"\nнижний порог возраста ребенка:"+A3.Age);

}

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

 

void __fastcall TForm1::BShowAllClick(TObject *Sender)

{

ShowMessage("Данные по трем игрушкам\nИгрушка №1: "+

A1.Name+" | "+A1.Cost+" | "+A1.Age+

"\nИгрушка №2: "+A2.Name+" | "+A2.Cost+" | "+A2.Age+

"\nИгрушка №3: "+A3.Name+" | "+A3.Cost+" | "+A3.Age);

}

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

 

void __fastcall TForm1::BAgeClick(TObject *Sender)

{

AnsiString MsgAge="";

if(A1.Age>3)

MsgAge+="\n"+A1.Name;

if(A2.Age>3)

MsgAge+="\n"+A2.Name;

if(A3.Age>3)

MsgAge+="\n"+A3.Name;

if(MsgAge=="")

ShowMessage("Нет игрушек для детей старше 3х лет.");

else

ShowMessage("Список игрушек для детей старше 3х лет:"+MsgAge);

}

 

void __fastcall TForm1::BMaxClick(TObject *Sender)

{

AnsiString MsgMax;

float MaxCost;

MaxCost=A1.Cost;

MsgMax=A1.Name;

if(A2.Cost>MaxCost)

{

MaxCost=A2.Cost;

MsgMax=A2.Name;

}

if(A3.Cost>MaxCost)

{

MaxCost=A3.Cost;

MsgMax=A3.Name;

}

ShowMessage("Игрушка с максимальной ценой: "+MsgMax);

}

 

 


Приложение 1.

Диаграмма состояний для задачи 2.

 

 


Дата добавления: 2015-08-28; просмотров: 36 | Нарушение авторских прав




<== предыдущая лекция | следующая лекция ==>
«Самостоятельные варианты заданий в MS Excel». | Проводится набор в группу

mybiblioteka.su - 2015-2024 год. (0.06 сек.)