7075

Знакомство с методами проектирования программ на языках высокого уровня С++

Лабораторная работа

Информатика, кибернетика и программирование

1. Цель работы Знакомство с методами проектирования программ на языках высокого уровня С++. 2. Задание на работу В программе калькулятор необходимо реализовать: пункт главного меню Справка, состоящий из двух подпунктов Информация об авторе...

Русский

2013-01-14

280 KB

3 чел.

1. Цель работы

Знакомство с методами проектирования программ на языках высокого уровня С++.

2. Задание на работу

В программе калькулятор необходимо реализовать:

  •  пункт главного меню «Справка», состоящий из двух подпунктов «Информация об авторе» и «Помощь по выполнению заданных операций/функций»;
  •  реализовать функции sin, cos, tg, ctg.

3. Листинг программы:

#include <vcl.h>

#pragma hdrstop

#include <math.h>

#include "Ucalc.h"

#include "Unit2.h"

#include "Unit3.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

boolean f=true, vv=true;

float GetValue()

{

return StrToFloat(Form1->Memo1->Text);

}

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

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

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

void __fastcall TForm1::b0Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+'0';

}

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

void __fastcall TForm1::b1Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"1";

else Memo1->Text="1";

}

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

void __fastcall TForm1::b2Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"2";

else Memo1->Text="2";

}

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

void __fastcall TForm1::b3Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"3";

else Memo1->Text="3";

}

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

void __fastcall TForm1::b4Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"4";

else Memo1->Text="4";

}

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

void __fastcall TForm1::b5Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"5";

else Memo1->Text="5";

}

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

void __fastcall TForm1::b6Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"6";

else Memo1->Text="6";

}

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

void __fastcall TForm1::b7Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"7";

else Memo1->Text="7";

}

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

void __fastcall TForm1::b8Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"8";

else Memo1->Text="8";

}

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

void __fastcall TForm1::b9Click(TObject *Sender)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"9";

else Memo1->Text="9";

}

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

void __fastcall TForm1::bcClick(TObject *Sender)

{

f=true;

Memo1->Text="0";

}

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

void __fastcall TForm1::bpointClick(TObject *Sender)

{

if (f==true){

if (Memo1->Text=="0")

Memo1->Text=Memo1->Text+",";

else

if(Memo1->Text=="0,")

Memo1->Text=Memo1->Text+"";

else

if (Memo1->Text>"0")

Memo1->Text=Memo1->Text+",";

else Memo1->Text="0";}

f=false;

}

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

void __fastcall TForm1::bequClick(TObject *Sender)

{

vv=false;

}

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

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Memo1->Text="0";

}

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

void __fastcall TForm1::Memo1KeyPress(TObject *Sender, char &Key)

{

switch(Key){

case 48:b0->Click(); break; case 49:b1->Click();break;

case 50:b2->Click();break;  case 51:b3->Click(); break;

case 52:b4->Click(); break; case 53:b5->Click(); break;

case 54:b6->Click();break; case 55:b7->Click(); break;

case 56:b8->Click();break; case 57:b9->Click(); break;

case 8:bc->Click(); break; case 13:bequ->Click();break;

}

}

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

Memo1->Text = FloatToStr(sin(GetValue()));

}

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

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Memo1->Text = FloatToStr(cos(GetValue()));

}

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

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Memo1->Text = FloatToStr(tan(GetValue()));

}

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

void __fastcall TForm1::Button4Click(TObject *Sender)

{

try {

Memo1->Text = FloatToStr(1/tan(GetValue()));

} catch(...)

{

if (vv==false){

bc->Click();  vv=true;}

if (Memo1->Text!="0")

Memo1->Text=Memo1->Text+"";

else Memo1->Text="Ошибка";

}

}

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

void __fastcall TForm1::N2Click(TObject *Sender)

{

Form2->ShowModal();

}

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

void __fastcall TForm1::N3Click(TObject *Sender)

{

Form3->ShowModal();

}

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

Отладка прошла успешно.

  1.  Результаты функционирования разработанного ПО.

Рисунок 1. Результат вычисления  функции sin 1 в радианах.                         

 

Рисунок 2. Результат вычисления функции cos 1 в радианах.

Рисунок 3. Результат вычисления функции tg 1 в радианах.

Рисунок 4. Результат    вычисления функции ctg 1 в радианах.

  

Рисунок 5. Результат вычисления функции ctg 0 в радианах (так как ctg 0 – бесконечность, то на дисплее появиться сообщение «Ошибка»)

Вывод

Ознакомились с некоторыми методами проектирования программ на С++.

Ответы на контрольные вопросы:

  1.  Какие переменные (с указанием типа) необходимы для реализации операций калькулятора ‘+’, ‘-’, ‘’, ‘:’,?

8) Как создается главное меню экранной формы (компонент типа TMainMenu)?


 

А также другие работы, которые могут Вас заинтересовать

21407. ГОСУДАРСТВЕННЫЕ И МУНИЦИПАЛЬНЫЕ УНИТАРНЫЕ ПРЕДПРИЯТИЯ 19.96 KB
  Понятие: признается КО не наделенная правом собственности на имущество закрепленное за ней собственником статья 2 ФЗ собственником остается учредитель этого УП За УП имущество закрепляется на праве хоз ведения или на праве оперативного управления это ограниченные вещные права Такое существует только в нашей стране Имущество УП является не делимым и не может делиться на доли паи акции и распределяться между работниками предприятий только один собственник Может основываться только на гос или муниципальной собственности т. данная форма...
21408. СУБЪЕКТЫ ГП 21.98 KB
  Казна не властвует а государство не торгует так говорили раньше Государство не должно участвовать т. главный принцип это равенство После 17 года пошли по первому пути поэтому мы его сейчас и изучаем Это порождает массу проблем и противоречий Частные отношения потому что лица занимаются с частными интересами а у государства нет такого интереса у него публичный интерес это первое противоречие Исторически частные имущественные отношения сложились как определенные типы общественных отношений...
21409. КЛАССИФИКАЦИЯ ВЕЩЕЙ КАК ОБЪЕКТЫ 32.46 KB
  04 В развитых странах больше правил о животных В Англии есть закон о правах животных Проект ФЗ об ответственном отношении к животным К числу объектов относятся наличные деньги это тоже вещи Это всеобщий эквивалент отсюда их особое юр значение Можно за них приобрести любой другой объект ГП В соответствии со статьей 27 ФЗ о ЦБ РФ официальной денежной единицей валютой РФ является рубль состоящий из ста копеек Исключительное право выпуска эмиссия денег принадлежит ЦБ т.1992 года На ряду с наличными выступают и безналичные деньги но у них иной...
21410. СДЕЛКИ 25.13 KB
  Возмездные: предоставление товара одной стороной обусловливает встречное имущественное предоставление от другой стороны Безвозмездные: предоставление товара одной стороной не обусловливает встречное имущественное предоставление другой стороной договор дарения В зависимости от влияния основания сделки на ее действительность: Каузальные: их юр действие зависит от основания их совершения большинство сделок каузальные по...
21411. ФОРМА СДЕЛОК 23.09 KB
  Устная форма сделки: имеет место если волеизъявление лиц совершающих сделку выражены словами поведением этих лиц и не зафиксировано в каком-либо документе; статья 159 ГК сделка для которой законом или соглашением сторон не установлена письменная или нотариальная форма м.б. совершена в устной форме устная форма это общее правило
21412. ВИДЫ НЕДЕЙСТВИТЕЛЬНЫХ СДЕЛОК 22.16 KB
  Сделка совершенная под влиянием заблуждения у стороны есть возможность ее оспорить Ничтожная характеризуется тем чтобы признать ее недействительной не требуется решение суда Она признается по самому факту ее совершения Поэтому в принципе ее можно не исполнять т. стороны сделки Критерий разграничения сделок: В теории ГП оспоримые это такие где интересы частных лиц которые ее...
21413. Представительство 25.03 KB
  В этих случаях воозникает особое гражд правоотношение. Правоотношение представителсьвто которое возникает складывается между представляемым и представителем. От юр лица только руководитель ипредставитлль юрис консулт Таким образом потребность в предсатвительстве возникает или из за отсувсви е дееспообности у лица или за невозможноси этой дееспосбностью воспользоваться в определеенне время и поэтому в правоотношении представительсвта дееспобности одного лицопредсатвляемого присоеденяется дееспобность предсатвиетля Сущность првапр...
21414. ОСУЩЕСТВЛЕНИЕ И ЗАЩИТА ГП 20.67 KB
  В условиях рынка конкуренция это движущая сила прогресса Поэтому не допускается использование СГП в рамках ограничения и злоупотребления доминирования на рынке ФЗ о конкуренции от 22.2006 года: путем введения в заблуждения потребителя о месте производства товара и его свойствах; не допускается некорректное сопоставление товаров и услуг Хоз субъекты занимающие доминирующее положение на...
21415. ЗАЩИТА ЛНБ ЛИЧНЫЕ НЕМАТЕРИЛЬАНЫЕ БЛАГА 29 KB
  Это способ общей защиты предусмотрен статьей 151 ГК: если гражданину причинен моральный вред действиями нарушающими его ЛНП либо посягающими на принадлежащие гражданину другие НБ а также в других случая предусмотренных законом суд может возложить на нарушителя обязанность денежной компенсации морального вреда