static int compra_valida(COMPRA compra) { return cat_existe_cliente(catalogo_clientes, get_cod_cliente(compra)) && cat_existe_produto(catalogo_produtos, get_cod_produto(compra)) && get_mes(compra) >= 1 && get_mes(compra) <= 12 && get_preco_unit(compra) >= 0 && (get_quantidade(compra) > 0) && (get_promo(compra) == 'N' || get_promo(compra) == 'P'); }
void Transporte::imprime() const { vector<Produto> prods = get_produto(); cout << "Tipo de produto: " << getTipo_produto() <<endl; cout << "Quantidade: " << get_quant()<<endl; cout << "Dia do transporte: " << get_dia() << "/" << get_mes() << "/" << get_ano() <<endl; cout << "Informação sobre o produto transportado: "; int tam = prods.size(); for(int i = 0;i < tam;i++) { prods[i].imprime(); } }
void find_char(char *mes){ char qolon = '#'; char *quotPtr = strchr(mes, qolon); if(quotPtr == NULL) { // Handle error } int position = quotPtr - mes; char* attr = get_mes(mes); printf("mes: %s\n", attr); strncat(attr, "#",15); removeSubstring(mes, attr); removeSubstring(mes, "#"); printf("message: %s\n", mes); }
char *get_2nd_arg(char *mes){ char* attr = get_mes(mes); //printf("mes: %s\n", attr); strncat(attr, "#",15); removeSubstring(mes, attr); char qolon = '#'; char *quotPtr = strchr(mes, qolon); if(quotPtr == NULL) { // Handle error } removeSubstring(mes, "#"); int position = quotPtr - mes; mes[position] = '\0'; printf("2nd arg: %s\n", mes); return mes; }
char *get_1st_arg(char *mes){ printf("1st arg: %s\n", get_mes(mes)); return get_mes(mes); }
////////////////////////////////////// //отправка сообщения в зависимости от установленных данных void Data::send() { //текст для вывода при отправке std::string logtext; //начальная установка отправителя / basic sender information and initialization senderInfo.senderName = senderName; senderInfo.server = server; senderInfo.senderMail = senderEmail; senderInfo.username = user; senderInfo.password = password; sender = new Sender(senderInfo); logtext += sender->get_log(); sender->initialise_files(this->fileatach.size()); for (int i=0; i<sender->nFiles; i++) { sender->fileNames[i] = fileatach[i]; } sender->load_files(); //////////////////////////////// //не отправляет сообщения, если нет текста. Если вы хотите это исправить уберите return if (message=="") { std::cerr << tr("No message!\n").toStdString(); SendEvent* pe = new SendEvent(); pe->setValue(SendEvent::SendData( tr("Nothing to send!\n").toStdString() ,100)); QApplication::postEvent(window, pe); return; } int counter=0; //по очереди для всех адресатов / for all receivers for (int i=0; i<(int)recvEmail.size(); i++) { std::string logtextPart; if (stoped) return; //выполнять следующие действия только если включен адрес / send only if address enabled if (!recvData[i].enabled) continue; //получение настоящего сообщения из шаблона / get message from template std::string mes = get_mes(recvData[i]); //отправка sendEmail(recvEmail[i],recvData[i].name,theme,mes,logtextPart); logtext+=logtextPart; //отправка информации в окно send / send event to sendWindow int size = enabledCount(); std::ostringstream omem; omem << "(" << counter++ << "/" << size << ")" << get_message_about_receiver(i); int percent = int(double(i)/double(size)*100); SendEvent* pe = new SendEvent(); std::cout << logtextPart; pe->setValue(SendEvent::SendData(omem.str(),logtext,percent)); QApplication::postEvent(window, pe); } std::ostringstream omem; //получение настоящего сообщения из шаблона / get message from template int size = enabledCount(); //сообщение об окончании передачи / send 'end of transmission' event to sendWindow omem << "(" << size << "/" << size << tr(") -- end of transmission").toStdString(); SendEvent* pe = new SendEvent(); pe->setValue(SendEvent::SendData(omem.str(),logtext,101)); QApplication::postEvent(window, pe); }