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();

}