71518

Использование конструкторов и деструктора при проектировании пользовательского класса

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

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

Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием конструкторов и деструктора при проектировании пользовательского класса. Оборудование: IBM – совместимый компьютер, система программирования BC3.1, MVC++ 6.00.

Русский

2014-11-08

144.21 KB

0 чел.

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

Использование конструкторов и деструктора при проектировании пользовательского класса

Цель работы: Получить практические навыки в разработке алгоритмов и написании программ с использованием конструкторов и деструктора при проектировании пользовательского класса.

Оборудование: IBM – совместимый компьютер, система программирования BC3.1, MVC++ 6.00.

Вариант 4

Индивидуальное задание

Приложение 1

Блок схема задачи

           Set                                get

     

             Show                                                               shap

               

main

                   

Приложение 2

Исходный модуль задачи

#include "stdafx.h"

#include "stdio.h"

#include "string.h"

#include "iostream.h"

#include "stdlib.h"

#include "conio.h"

#include "iomanip.h"

#define N 3

class vant{

char *name;

char *tip;

char kol[12];

unsigned int ves;

public:

vant(char *a, char *b, char *c, unsigned int d);

~vant();

void set(char *a, char *b, char *c, unsigned int d);

void get(char *a, char *b, char *c, unsigned int &d);

void show(void);

void shap(void);

void line(void);

};

vant::vant(char *a, char *b, char *c, unsigned int d)

{

name=new char[10];

tip=new char[5];

strcpy(name,a);

strcpy(tip,b);

strcpy(kol,c);

ves=d;

}

vant::~vant()

{

delete name;

delete tip;

}

void vant::set(char *a, char *b, char *c, unsigned int d)

{

strcpy(name,a);

strcpy(tip,b);

strcpy(kol,c);

ves=d;

}

void vant::get(char *a, char *b, char *c, unsigned int &d)

{

strcpy(a,name);

strcpy(b,tip);

strcpy(c,kol);

d=ves;

cout<<"|"<<setw(10)<<a;

cout<<"|"<<setw(5)<<b;

cout<<"|"<<setw(15)<<c;

cout<<"|"<<setw(12)<<d<<"|";

}

void vant::show(void)

{

cout<<"|"<<setw(10)<<name;

cout<<"|"<<setw(5)<<tip;

cout<<"|"<<setw(15)<<kol;

cout<<"|"<<setw(12)<<ves<<"|";

}

void vant::shap(void)

{

cout<<"-----------------------------------------------\n";

cout<<"|           vedomoat detaleu                  |\n";

cout<<"|---------------------------------------------|\n";

cout<<"|   Name   |Tip  |Kollichestvo   |ves 1 detali|\n";

cout<<"|---------------------------------------------|\n";

}

void vant::line(void)

{

cout<<"\n|---------------------------------------------|\n";

}

void main()

{

char n[10];

char g[5];

char m[12];

unsigned int ch;

int i;

vant va=vant("","","",0);

vant v[N]={vant("Flanec","Z","3",450),

          vant("perexodnik","p","8",74),   

    vant("Stanina","O","1",117050)};  

cout<<"\n";

va.shap();

for(i=0;i<N;i++)

{

v[i].show();

va.line();

}

cout<<"\n";

for(i=0;i<N;i++)

{

cout<<"Name:";

cin>>n;

cout<<"tip:";

cin>>g;

cout<<"kol:";

cin>>m;

cout<<"ves:";

cin>>ch;

v[i].set(n,g,m,ch);

}

cout<<"\n";

va.shap();

for(i=0;i<N;i++)

{

v[i].get(n,g,m,ch);

va.line();

}

getch();

}


 

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

51401. Текстовые файлы 50 KB
  В перечисленных ниже задачах разрешается использовать при необходимости не более одного массива и не более одного вспомогательного файла. В каждом варианте необходимо: Разработать программу которая формирует текстовый файл по заданию имя файла обязательно запрашивается с клавиатуры и заполняет его набором строк вводимых с клавиатуры. Разработать программу позволяющую вывести на экран содержимое текстового файла имя которого запрашивается с клавиатуры. С ее помощью просмотреть содержимое исходного файла до и после обработки а также...
51402. Поиск и изменение файлов 42.5 KB
  Задания по вариантам Вариант Условие задачи Написать программу которая подсчитывает количество всех вложенных каталогов в указанном каталоге. Написать программу которая вводит с клавиатуры список имен текстовых файлов разделенных запятой и склеивает их содержимое в один файл в том порядке как приведены имена. Написать программу которая выводит на экран имена расширения и размеры всех файлов текущего каталога расположив их в порядке убывания размера файлов. Написать программу которая выводит на экран список всех файлов и...
51403. Процедуры и функции пользователя 45.5 KB
  Использовать подпрограмму вычисления факториала натурального числа. Два простых числа называются близнецами если они отличаются друг от друга на 2 например 41 и 43. Два натуральных числа называются дружественными если каждое из них равно сумме всех делителей кроме его самого другого числа например числа 220 и 284. Найти все пары дружественных чисел которые не больше данного числа N.
51404. Процедуры и функции пользователя. Рекурсия 60.5 KB
  Напишите рекурсивную процедуру нахождения суммы цифр любого натурального числа. Напишите рекурсивную процедуру нахождения количества четных цифр любого натурального числа. Напишите рекурсивную функцию нахождения суммы первых N членов арифметической прогрессии 1 3 5 7 Напишите рекурсивную процедуру нахождения первых N чисел Фибоначчи.
51405. Использование стандартных модулей. Разработка модулей пользователя 20.99 KB
  Задания по вариантам Задача 1 Вариант Условие задачи Составить модуль в котором определены процедуры над матрицами размерностью 3х3: сложение разность матриц. Составить модуль Shr в котором определены функции вычисления площади поверхности и объема шара по его радиусу. Составить модуль Figur в котором определены функции: вычисления периметра и площади выпуклой фигуры которая задана координатами своих вершине количество которых N N 3. Составить модуль Konus в котором определены функции: вычисления площади поверхности и...
51406. Использование динамических структур данных 24.82 KB
  Задания по вариантам Задача 1 Сформировать однонаправленный список без заглавного звена со следующим описанием: Type telem=rel; List=^elem; Elem=record; Dt:telem; Next:List End; Описать функцию или процедуру которая: 1 определяет является ли список пустым; 2 находит среднее арифметическое элементов списка.z; List=^elem; Elem=record; Dt:telem; Next:List End; Описать функцию или процедуру которая: 1 определяет является ли список пустым; 2 меняет местами первый и последний элементы списка. Сформировать однонаправленный список без...