Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.11.2012, 11:19   #1
bujlka
Пользователь
 
Регистрация: 01.11.2012
Сообщений: 17
По умолчанию Создайте класс Invoice (накладная) na c++

Вообщем проблема в том , что я не могу разобрать что и куда , подобного класса в полном описании найти не могу сама задача вбивает меня в ступор , если у кого будет время прошу помогите кодом с коментами.
Собственно задача


Создайте класс Invoice (накладная), который мог бы использоваться на складе хозяйственных товаров для представления накладных на товары, отпускаемые со склада. Класс должен включать шесть полей в качестве элементов данных: идентификационный номер изделия (тип целых чисел), артикул изделия (строковый тип), описание изделия (строковый тип), число отпускаемых единиц изделия (тип целых чисел), цена за одно изделие (тип целых чисел) и дату оформления. Класс должен иметь конструктор, инициализирующий шесть элементов данных. Для каждого элемента реализовать set- и get-функции. Предусмотреть функцию getInvoiceAmount(), вычисляющую общую сумму накладной (умножает цену одного изделия на число изделий) и возвращает ее как целое число. Если число изделий не положительно, оно должно устанавливаться равным 0. Разработать программу, в которой создается массив объектов данного класса. В программе организовать:
- добавление изделия на склад хозяйственных товаров;
- удаление изделия со склада хозяйственных товаров;
- поиск изделия по идентификационному номеру;

P.S. это не халява и прочее , просто действительно не могу дойти до этого.
bujlka вне форума Ответить с цитированием
Старый 23.11.2012, 11:21   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

На каком предложении задания начинаются трудности? Создать (пустой) класс можете? Добавить в него шесть полей заданных типов?..
Abstraction вне форума Ответить с цитированием
Старый 23.11.2012, 14:00   #3
bujlka
Пользователь
 
Регистрация: 01.11.2012
Сообщений: 17
По умолчанию

Вот что мы имеем
Код:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class Invoice
{
public:
void setPartNumber (string number)
{
product = number;
}
string getPartNumber()
{
return product;
}
void setPartDescription (string desc)
{
description = desc;
}
string getPartDescription()
{
return description;
}
void setQuantityPurchased (int amount)
{
quantity = amount;
}
int getQuantityPurchased()
{
return quantity;
}
void setPriceItem (float price)
{
prices = price;
}
float getPriceItem()
{
return prices;
}
void getInvoiceAmount()
{
float total = quantity * prices;
cout << "Produkt#: " << getPartNumber() << "\nopisanie: " << getPartDescription() << "\nKol-vo: " << getQuantityPurchased() << "\nCena: " << getPriceItem() << "\nego obshaya: " << total << endl;
}
private:
int quantity;
float prices;
string product;
string description;
};


int main()
{
Invoice invoice1;
Invoice invoice2;

invoice1.setPartDescription("Plombir");
invoice1.setPartNumber("12345");
invoice1.setPriceItem(4.99);
invoice1.setQuantityPurchased(5);

invoice1.getInvoiceAmount();

invoice2.setPartDescription("Spichki");
invoice2.setPartNumber("111");
invoice2.setPriceItem(.99);
invoice2.setQuantityPurchased(75);

invoice2.getInvoiceAmount();
system("pause");
return 0;
}
Программа выводит на экран товар который ввожу я и считает сколько будет стоить количество этих товаров (кол-во тоже ввожу я )
но это не совсем то что нужно в задаче несколько иначе поставлен вопрос , вот и прошу вашей помощи прост забыл код кинуть (
bujlka вне форума Ответить с цитированием
Старый 23.11.2012, 14:16   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Класс создан - галочка.
Цитата:
Класс должен включать шесть полей в качестве элементов данных: (...)
Или я не умею считать, или что-то тут не так.
Конструктора нет, но это следующим пунктом. Шесть полей сделайте, пожалуйста.
Abstraction вне форума Ответить с цитированием
Старый 23.11.2012, 15:34   #5
bujlka
Пользователь
 
Регистрация: 01.11.2012
Сообщений: 17
По умолчанию

да 0 забыл добавить артикул товара

вот 0 добавил :Р
Код:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;

class Invoice
{
public:
void setPartNumber (string number)
{
product = number;
}
string getPartNumber()
{
return product;
}
void setPartDescription (string desc)
{
description = desc;
}
string getPartDescription()
{
return description;
}
void setPartArtikul (string art)
{
Artikul = art;
}
string getPartArtikul()
{
return Artikul;
}


void setQuantityPurchased (int amount)
{
quantity = amount;
}
int getQuantityPurchased()
{
return quantity;
}
void setPriceItem (float price)
{
prices = price;
}
float getPriceItem()
{
return prices;
}
void getInvoiceAmount()
{
float total = quantity * prices;
cout << "Artikul tovara:" << getPartArtikul()<< "\nProdukt#: " << getPartNumber() << "\nopisanie: " << getPartDescription() << "\nKol-vo: " << getQuantityPurchased() << "\nCena: " << getPriceItem() << "\nego obshaya: " << total << endl;
}
private:
int quantity;
float prices;
string product;
string description;
string Artikul;
};


int main()
{
Invoice invoice1;
Invoice invoice2;

invoice1.setPartDescription("Plombir");
invoice1.setPartArtikul("12");
invoice1.setPartNumber("12345");
invoice1.setPriceItem(4.99);
invoice1.setQuantityPurchased(5);

invoice1.getInvoiceAmount();

invoice2.setPartDescription("Spichki");
invoice2.setPartArtikul("21");
invoice2.setPartNumber("111");
invoice2.setPriceItem(.99);
invoice2.setQuantityPurchased(75);

invoice2.getInvoiceAmount();
system("pause");
return 0;
}
bujlka вне форума Ответить с цитированием
Старый 23.11.2012, 15:59   #6
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Я по-прежнему не вижу шести полей класса, знаете ли.
Abstraction вне форума Ответить с цитированием
Старый 24.11.2012, 07:16   #7
bujlka
Пользователь
 
Регистрация: 01.11.2012
Сообщений: 17
По умолчанию

Код:
invoice1.setPartDescription("Plombir");
invoice1.setPartArtikul("12");
invoice1.setPartNumber("12345");
invoice1.setPriceItem(4.99);
invoice1.setQuantityPurchased(5);

invoice1.getInvoiceAmount();
а это что ?
bujlka вне форума Ответить с цитированием
Старый 24.11.2012, 13:47   #8
rUs_LAN
Форумчанин
 
Регистрация: 15.11.2008
Сообщений: 577
По умолчанию

Цитата:
Сообщение от bujlka Посмотреть сообщение
Код:
invoice1.setPartDescription("Plombir");
invoice1.setPartArtikul("12");
invoice1.setPartNumber("12345");
invoice1.setPriceItem(4.99);
invoice1.setQuantityPurchased(5);

invoice1.getInvoiceAmount();
а это что ?
Это инициализация 5 полей за при помощи аксессора сет и вызов метода getInvoiceAmount();

Простая арифметика 6 полей (гет, сет) + конструктор = 13 методов у вас меньше
rUs_LAN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Типизированные файлы. Накладная на внутреннее перемещение товара qwerty41 Паскаль, Turbo Pascal, PascalABC.NET 1 07.06.2012 21:43
Создайте класс Manowarm Помощь студентам 1 21.12.2011 21:09
Создайте класс ТЕКСТ. Обязательными методами класса являются ввод и вывод текста, редактирование и отобра Mars01 Паскаль, Turbo Pascal, PascalABC.NET 1 06.10.2010 13:43
EXCEL INVOICE MANAGER доработка olius Microsoft Office Excel 4 05.04.2010 15:47
Товарная накладная в виде масива записей. Помогите найти ошибку sokla Помощь студентам 2 05.01.2010 10:32