Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание ООП.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
201.76 Кб
Скачать

Задание № 6. Составить программу, в которой описывается структура

Составить программу, в которой описывается структура из полей:

Товар;

Цена;

Сорт.

Организуйте ввод двух структурных переменных, вывод каждой структуры на экран

и расчет значения "НДС" - по формуле НДС = Цена * 0,05

Текст программы:

#include <iostream.h>

#include <string.h>

#include <stdio.h>

#include <conio.h>

// Описание структуры

struct tvr

{ char tovar[20];

float cena;

int sort;

};

/* Функция для ввода структуры, t1 - адрес структуры.

Поэтому обращение к полям структуры происходит через оператор -> */

void vvod (tvr *t1)

{

cout <<"\n\n название товара -> ";

cin >> t1->tovar;

cout <<" цена -> ";

cin >> t1->cena;

cout <<" сорт (0,1,2) -> ";

cin >> t1->sort;

if ((t1->sort > 2) || (t1->sort < 0))

{ cout <<" Неправильное значение сорта => сорт=0";

t1->sort = 0;

} }

// функция вывода структуры, t1 - имя структуры

void vivod (tvr *t1)

{

cout <<"\n\n название товара:\t" << t1->tovar;

cout <<"\n цена: \t" << t1->cena;

cout <<"\n Н.Д.С.: \t" << 0.05*t1->cena;

cout <<"\n сорт: \t" << t1->sort;

}

void main()

{

tvr tt1,tt2; // Опишем две структуры

cout << "\n Составить программу, в которой описывается структура из полей:";

cout << "\n Товар";

cout << "\n Цена";

cout << "\n Сорт.";

cout << "\n Организуйте ввод двух структурных переменных, вывод каждой структуры";

cout << "\n на экран и расчет значения НДС = Цена * 0,05.";

cout << "\n\nВведите данные о первом товаре";

vvod(&tt1); // Ввод первой структуры,

cout << "\nВведите данные о втором товаре";

vvod(&tt2); // Ввод второй структуры,

vivod(&tt1);

vivod(&tt2);

cout <<"\n для выхода - жми клавишу \n";

getch();

}

Задание № 7. Составить программу для расчета функции :

 

Текст программы:

#include <iostream.h>

#include <math.h>

#include <conio.h>

float f ( float x )

{

float y1;

y1 = 2 * sqrt(9-2*x) - 3 / sqrt (5*x-4);

return y1;

}

void main()

{

float x,y;

cout<<"\nВведите х: ( x > 0.8 И x <= 4.5) -> ";

cin>>x;

if (( x > 0.8 )&&( x <= 4.5 ))

{

y=f(x);

cout <<" y = "<<y;

}

else cout<<"\n Неверный ввод";

cout <<" для выхода - жми клавишу \n";

getch();

}

Задание № 8. создать приложение для расчета функции y = sqrt(x) + sqrt(x-1)

Текст файлов .cpp:

//----------------- proba.cpp --------------------------------

#include <vcl.h>

#pragma hdrstop

#include "proba.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

#include <math.h>

#include <stdlib.h>

#include "soob.h"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::btnCalcClick(TObject *Sender)

{

float x,y;

//преобразование строки AnsiStirng в вещественное число

x=StrToFloat(edX->Text);

if (x>=1)

{ y=sqrt(x)+sqrt(x-1);

//преобразование вещественного числа в строку AnsiStirng

edY->Text=FloatToStr(y);

}

else

{

Form2->Visible=true;

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

}

}

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

//-------------- soob.cpp -------------------------------------

#include <vcl.h>

#pragma hdrstop

#include "soob.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm2 *Form2;

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

__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm2::BitBtn1Click(TObject *Sender)

{

Form2->Visible = false; }