Задание: сконструировать _Класс с заданным набором свойств_
Форум программистов CODE Forum. Программирование на Delphi и C++. Веб-программирование, языки PHP, JavaScript, HTML
   
Показано с 1 по 2 из 2

Тема: Задание: сконструировать _Класс с заданным набором свойств_

  1. #1

    Задание: сконструировать _Класс с заданным набором свойств_

    Помогите, пожалуйста, с выполнением задания, сам не очень разбираюсь.

    Условие задания:
    Название товара, Категория товара, Цена, Количество. Вычислить общую стоимость товара.

    Действия, выполняемые программой:
    1. создание объекта с помощью конструктора по умолчанию,
    2. создание объекта с помощью конструктора с параметрами,
    3. создание массива объектов (размерность массива 3 или 4 элемента),
    4. инициализация свойств каждого объекта массива(исходные данные вводятся с клавиатуры),
    5. просмотр свойств каждого объекта,
    6. вычисление заданного параметра для массива объектов в соответствии с вариантом задания (выполнить с помощью глобальной функции).
    Требования к структуре программного кода: программа должна иметь модульную структуру, т.е. состоять из нескольких файлов: модуля класса, состоящего из заголовочного файла и файла реализации, и главного модуля, содержащего функцию main().



    Пример:


    Код:
    \\firma.ccp
    
    ...
    
    void Firma::setEmail(string _email)
    {
    	if (_email.empty())
    	{
    		printf("_email==NULL");
    		return;
    	}
    
    	email = _email;
    }
    
    
    //getters
    char* Firma::getName()
    {
    	return name;
    }
    
    char* Firma::getAddress()
    {
    	return address;
    }
    
     char* Firma::getPhone()
    {
    	return phone;
    }
    
     string Firma::getEmail()
    {
    	return email;
    }
    
    
    //implement show method
    void Firma::show()
    {
    	printf("name = %s | address : %s | phone = %s | email = %s\n", getName(), getAddress(), getPhone(), getEmail().c_str());
    }






    Код:
    // ConsoleApplication1.cpp: определяет точку входа для консольного приложения.
    //
    
    #include "stdafx.h"
    #include <memory.h>
    #include <iostream>
    #include <string>
    #include "firma.h"
    
    
    
    void no_email(Firma** firms, int size){
    
    	for (int i = 0; i < size; i++)
    		if (firms[i]->getEmail() == " ")
    			firms[i]->show();
    }
    
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	//default constructor
    	Firma Firma1;
    	Firma1.setName("firma_1");
    	Firma1.setAddress("address_1");
    	Firma1.setPhone("11-111-111");
    	Firma1.setEmail("firma1@gmail.com");
    
    	Firma1.show();
    
    	//constructor with params
    	Firma Firma2("tovar_2", "address_2", "22-222-222", "firma2@gmail.com");
    	Firma2.show();
    
    	int size;
    	cout << "Please enter the dimension of the array : ";
    	cin >> size;
    
    
    	Firma** firms = new Firma*[size];
    
    	char *name = new char[MAX_STRING_LEN];
    	memset(name, 0, MAX_STRING_LEN);
    	char *adr = new char[MAX_STRING_LEN];
    	memset(adr, 0, MAX_STRING_LEN);
    	char *phone = new char[MAX_STRING_LEN];
    	memset(phone, 0, MAX_STRING_LEN);
    	string email = " ";
    	for (int i = 0; i < size; i++)
    	{
    		firms[i] = new Firma();
    		
    		cout << "Please enter name: ";
    		cin >> name;
    		firms[i]->setName(name);
    		cout << "Please enter address: ";
    		cin >> adr;
    		firms[i]->setAddress(adr);
    		cout << "Please enter phone: ";
    		cin >> phone;
    		firms[i]->setPhone(phone);
    		cout << "Please enter email: ";	
    		email.clear();
    		fflush(stdin);
    		getline(std::cin, email);
    		if (email.empty())
    			firms[i]->setEmail(" ");
    		else
    			firms[i]->setEmail(email);
    		cout << "*****************************\n";
    	}
    
    	for (int i = 0; i < size; i++)
    		firms[i]->show();
    
    
    	cout << "\n No email : ";
    	no_email(firms, size);
    
    	system("pause");
    }



    Подскажите, что изменить и что "вклинить", чтобы выполнялся подсчет общей стоимости товара?

  2. #2
    Moderator Репутация: 154
    Аватар для x86
    Регистрация
    14.12.2014
    Сообщений
    209
    Вес репутации
    14
    Так а где вы стоимость вводите? Я не вижу. Вам надо добавить еще переменную price в класс firma (так понимаю, он в firma.h), добавить соответствующий метод в firma.cpp. И в массиве помимо всех данных вводить цену конкретного товара. Затем еще один цикл, приходитесь по массиву который только что заполнили и с каждого суммируете в отдельную переменную price.

    Хотя оптимальнее сразу считать на этапе ввода.
    Последний раз редактировалось x86; 07.01.2017 в 02:00. Причина: водить -> вводить
    debug your brain and patch the bugs




Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •