int main(int argc, char** argv) { Product* myProduct1 = createProduct(20001, "Nexus 6P", 5000, 300, "Smartphone", 450, 100); Product* myProduct2 = createProduct(20002, "Xiaomi Mi 4", 3700, 350, "Smartphone", 374, 120); Product* myProduct3 = createProduct(20003, "iPad Pro", 6540, 500, "Tablet", 786, 322); Product* myProduct4 = createProduct(20004, "iPad", 6540, 500, "Tablet", 786, 322);; Product** products = malloc(sizeof(Product*)*4); products[0] = myProduct1; products[1] = myProduct2; products[2] = myProduct3; printf("\nTESTING: PaymentReceipt\n"); printf("\n->createPaymentReceipt"); PaymentReceipt* myReceipt = createPaymentReceipt(products,1,"15/06/2016",3); printPaymentReceipt(myReceipt); printf("\n->addProduct"); addProduct(myProduct4,myReceipt); printPaymentReceipt(myReceipt); return (EXIT_SUCCESS); }
void Request::executeRequest(const std::string& request) { utils::StringUtils util; if (!request.empty()) { std::vector<std::string> splitRequest = util.split(request,utils::separator); std::string type = splitRequest.front(); if(type == utils::NEW_VISION_AREA) { createVisionArea(splitRequest); } else if(type == utils::MODIFY_VISION_AREA) { modifyVisionArea(splitRequest); } else if(type == utils::DELETE_VISION_AREA) { deleteVisionArea(splitRequest); } else if (type==utils::NEW_PRODUCT) { createProduct(splitRequest); } else if (type == utils::MODIFY_PRODUCT) { modifyProduct(splitRequest); } else if (type == utils::DELETE_PRODUCT) { deleteProduct(splitRequest); } else if (type == utils::LIST_AREA) { listAreas(); } else if (type == utils::LIST_PRODUCT) { listProducts(); } else if (type == utils::PRODUCT_IMAGE) { listProductImages(splitRequest); } else if (type == utils::STOCK_GENERAL) { listStockGeneral(splitRequest); } else if (type == utils::STOCK_AREA) { listStockArea(splitRequest); } else if (type == utils::STOCK_HISTORIC) { listStockHistoric(splitRequest); } else if (type == utils::PROCESS_FILE) { processFile(splitRequest); } else if (type == utils::PROCESS_VIDEO) { processVideo(splitRequest); } else if (type == utils::QUIT) { this->stop(); } else if (type == utils::DETAILS_AREA){ getAreas(); } else if (type == utils::DETAILS_PRODUCT){ detallesProductos(); } else if (type == utils::IMAGES){ imagenesDeProducto(splitRequest); } else { this->socket->send(utils::ERROR_MESSAGE); } } }
void *producer(void *arg) { while(1) { int product = createProduct(); if (product == 0) {break;} sem_wait(&empty); list_add(fifo, node_new_int(product)); sem_post(&full); printf("Producer %d produced Item_%d (out of %d)\n",(int)arg,product,products_max); randomSleep(); } pthread_exit(0); }
AddProduct::AddProduct(QSqlDatabase db) { db.open(); setFixedSize(400, 200); setWindowTitle("Ajouter un produit"); setWindowIcon(QIcon("pictures/app_icon.png")); setWindowFlags(Qt::WindowCloseButtonHint); QPalette* palette = new QPalette(); palette->setColor(QPalette::WindowText, Qt::white); QLinearGradient linearGradient(0, 0, 0, this->height()); linearGradient.setColorAt(0, "#090808"); linearGradient.setColorAt(1, "#242424"); palette->setBrush(QPalette::Window, *(new QBrush(linearGradient))); this->setPalette(*palette); m_mainLayout = new QVBoxLayout; m_addProductForm = new QFormLayout; m_buttonsLayout = new QHBoxLayout; m_productName = new QLineEdit; m_productName->setFixedHeight(25); m_productBarCode = new QLineEdit; m_productBarCode->setFixedHeight(25); m_productPrice = new QLineEdit; m_productPrice->setFixedHeight(25); m_validate = new QPushButton("Valider"); m_abort = new QPushButton("Annuler"); m_addProductForm->addRow("&Nom du produit : ", m_productName); m_addProductForm->addRow("&Code barre : ", m_productBarCode); m_addProductForm->addRow("&Prix : ", m_productPrice); m_buttonsLayout->addWidget(m_validate); m_buttonsLayout->addWidget(m_abort); m_buttonsLayout->setAlignment(Qt::AlignCenter); m_mainLayout->addLayout(m_addProductForm); m_mainLayout->addLayout(m_buttonsLayout); this->setLayout(m_mainLayout); connect(m_validate, SIGNAL(clicked()), this, SLOT(createProduct())); connect(m_abort, SIGNAL(clicked()), this, SLOT(accept())); }
CNormalProduct * CNormalProduct::createProduct(const CEvaluationNode* node) { CNormalProduct * product = new CNormalProduct(); switch (node->mainType()) { case CEvaluationNode::T_OPERATOR: // PLUS(->createSum), MINUS(translated as +(-..)) and DIVIDE(->createFraction) do not occur. { if (node->getData() == "^") { if (CEvaluationNode::type(static_cast<const CEvaluationNode*>(node->getChild()->getSibling())->getType()) == CEvaluationNode::T_NUMBER) { CNormalItemPower* power = CNormalItemPower::createItemPower(node); product->multiply(*power); delete power; return product; } else { CNormalItem* item = CNormalItem::createItem(node); product->multiply(*item); delete item; return product; } } if (node->getData() == "*") { CNormalProduct* product1 = createProduct(static_cast<const CEvaluationNode*>(node->getChild())); CNormalProduct* product2 = createProduct(static_cast<const CEvaluationNode*>(node->getChild()->getSibling())); product->multiply(*product1); product->multiply(*product2); delete product1; delete product2; return product; } //default (case MODULUS): CNormalItem* item = CNormalItem::createItem(node); product->multiply(*item); delete item; return product; } case CEvaluationNode::T_NUMBER: { product->multiply(node->value()); return product; } case CEvaluationNode::T_FUNCTION: { if (node->getData() == "-") { product->multiply(-1.0); CNormalProduct * product2 = createProduct(dynamic_cast<const CEvaluationNode*>(node->getChild())); product->multiply(*product2); delete product2; return product; } CNormalItem * item = CNormalItem::createItem(node); product->multiply(*item); delete item; return product; } default: //cases VARIABLE, CONSTANT, CALL, CHOICE, LOGICAL, OBJECT, VECTOR { CNormalItem * item = CNormalItem::createItem(node); product->multiply(*item); delete item; return product; } } }