Лабораторная работа по C++ разработка простой объектно-ориентированной программы

Цель работы

Освоить работу в интегрированной среде программирования Visual C++, создать класс с использованием принципа инкапсуляции, имеющий конструктор (по умолчанию и с параметрами) и деструктор и разработать простую объектно-ориентированную программу (консольное приложение).

 Лабораторное задание

В соответствии с вариантом лабораторного задания разработать класс, включающий члены трех типов видимости и имеющий конструкторы (по умолчанию и с параметрами) и деструктор. В классе предусмотреть функции-методы для ввода и вывода данных объектов созданного класса. Целесообразно разработать перегруженные конструкторы (конструкторы с различным числом и типами аргументов), чтобы предусмотреть различные возможные варианты инициализации объектов класса.
Написать программу, выполняющую:
·   формирование массива объектов (с конструктором по умолчанию);
·   формирование одиночных объектов (с конструктором с параметрами);
·   ввод данных с клавиатуры;
·   вывод данных на экран.
Объекты класса должны создаваться при определении переменных.
В вариантах лабораторных заданий дано примерное содержание объектов класса. Начальное значение свойств задать самостоятельно.
Определить класс, описывающий объект “деталь” (назначение, материал, единичное/массовое производство и т.д.).


Листинг

Файл CData.h

class CData {
public:
    CData(void);
      CData(char* nazv, char* nazn, char* mater, char* proizv);
      ~CData(void);

    void Input(void);
    void Output(void);

private:
    char m_szNazvanie[50];
      char m_szNaznachenie[100];
      char m_szMaterial[20];
      char m_szProizvodstvo[20];
};

Файл Main.cpp

//
// Технологии программирования
// Лаб 1
//
// Файл: Main.cpp
//

#include <string.h>
#include "CData.h"
#include <conio.h>

void main(void)
{
    CData v1;
    CData v2("String1", "String2","String3","String4");
    CData v3[5];
    int i;

    v1.Output();
    v2.Output();

    for (i = 0; i < 5; i++) {
        v3[i].Input();
    }
    for (i = 0; i < 5; i++) {
        v3[i].Output();
    }
      _getch();
};

Файл CData.cpp

//
// Технологии программирования
// Лаб 1
//
// Файл: CData.cpp
//

#include <stdio.h>
#include <string.h>
#include "CData.h"

CData::CData(void)
{
      m_szNazvanie;
      m_szNaznachenie;
      m_szMaterial;
      m_szProizvodstvo;
            strcpy(m_szNazvanie, "Nazv");
            strcpy(m_szNaznachenie, "Nazn");
            strcpy(m_szMaterial, "Mat");
            strcpy(m_szProizvodstvo, "Proizv");
}

CData::CData(char* nazv, char* nazn, char* mater, char* proizv)
{
      strcpy(m_szNazvanie, nazv);
      strcpy(m_szNaznachenie, nazn);
      strcpy(m_szMaterial, mater);
      strcpy(m_szProizvodstvo, proizv);
}

CData::~CData(void)
{
}

void CData::Input(void)
{
      printf("Vvod dannyh:\n");
      printf("    Nazvanie Detali: ");
      gets(m_szNazvanie);
      printf("    Naznachenie Detali: ");
      gets(m_szNaznachenie);
      printf("    Material Detali: ");
      gets(m_szMaterial);
      printf("    Proizvodstvo Detali: ");
      gets(m_szProizvodstvo);
}

void CData::Output(void)
{
      printf(" | Nazvanie: %s | Material: %s | Naznachenie: %s | Proizvodstvo: %s \n", m_szNazvanie, m_szMaterial, m_szNaznachenie, m_szProizvodstvo);
}

Пояснительный текст к программе

Переменная i — Счетчик цикла
Переменные m_szNazvanie, m_szNaznachenie, m_szMaterial, m_szProizvodstvo содержат данные о детали

Результаты работы программы


Комментариев нет:

Отправить комментарий