//! Compare another ticket with this object. //! Only interface and destination are compared. //! @return true if tickets hold same basic information, //! false otherwise. bool compare(const Ticket ticket) { if (m_ticket.interface == ticket.getInterface() && m_ticket.destination == ticket.getDestination()) return true; return false; }
Ticket* OTicketDAO::getTicket(int id) { for(int i =0; i < tickets.size(); i++) { Ticket* temp = tickets.at(i); if(temp->getTicketID() == id) return temp; } return 0; }
//Geeft de positie van een element in de array; Enkel noodzakelijk om de database te simuleren int OTicketDAO::getPositie(int id) { for(int i = 0; i < tickets.size(); i++) { Ticket* temp = tickets.at(i); if(temp->getTicketID() == id) return i; } return -1; }
Ticket Lotto(int Tot, int Ran) { // generate and return randomized & sorted array of lottery numbers Ticket temp; // create a ticket that will be returned once generated with random lottery numbers with respect to arguments passed to function int i = 0; if (Tot < 5) { // check for the first argument passed to function cout << "Invalid number range, resetting to default: [1-5]" << endl; // if range of lottery number max is below 5, change it to min allowed - 5 Tot = 5; } if (Ran < 2) { // check the second argument, if less than 2, set it to default value of 2, we need at least 2 winning numbers to play with cout << "Invalid ticket request, setting number of winning numbers to default - 2." << endl; Ran = 2; } for (i = 0; i < Tot; i++) // generate non-random sequence of numbers from 1 to Tot and store it in vector<int> array temp.push_back(i+1); for (i = 0; i < Ran; i++) // shuffle the numbers "Ran" many times to have better randomization of numbers random_shuffle(temp.begin(), temp.end()); temp.erase(temp.begin()+Ran, temp.end()); // erase unnecessary numbers from Ran+, numbers from 1 to Ran are kept in. sort(temp.begin(), temp.end()); // finally, sort the numbers return temp; // and return the sorted and randomized array }
vector<Ticket*> OTicketDAO::vindTicketDoorID(int ID) { vector<Ticket*> results = vector<Ticket*>(); for(int i =0; i < tickets.size(); i++) { Ticket* temp = tickets.at(i); if(temp->getTicketID() == ID) results.push_back(temp); } return results; }
Status TransportLayerLegacy::_runTicket(Ticket ticket) { if (!_running.load()) { return TransportLayer::ShutdownStatus; } if (ticket.expiration() < Date_t::now()) { return Ticket::ExpiredStatus; } AbstractMessagingPort* amp; { stdx::lock_guard<stdx::mutex> lk(_connectionsMutex); auto conn = _connections.find(ticket.sessionId()); if (conn == _connections.end()) { return TransportLayer::TicketSessionUnknownStatus; } // "check out" the port conn->second.inUse = true; amp = conn->second.amp.get(); } auto legacyTicket = checked_cast<LegacyTicket*>(getTicketImpl(ticket)); auto res = legacyTicket->_fill(amp); { stdx::lock_guard<stdx::mutex> lk(_connectionsMutex); auto conn = _connections.find(ticket.sessionId()); invariant(conn != _connections.end()); #ifdef MONGO_CONFIG_SSL // If we didn't have an X509 subject name, see if we have one now if (!conn->second.sslPeerInfo) { auto info = amp->getX509PeerInfo(); if (info.subjectName != "") { conn->second.sslPeerInfo = info; } } #endif conn->second.inUse = false; if (conn->second.ended) { Listener::globalTicketHolder.release(); _connections.erase(conn); } } return res; }
bool ListenerSSL::_checkHalt(void) { while (this->_th->TryGet()) { Ticket *t = this->_th->CurTicket; if (t->GetAction() == CORE_HALT_MODULE) { this->_th->Drop("CORE", CORE_HALTED_MODULE); return (true); } } return (false); }
void formUpdBug::loadInfoTicket(Ticket source) { idTk = source.getIdTicket(); ui->titleTicket->setText(source.getNameTicket()); ui->description->setText(source.getDescrTicket()); ui->dateCrea->setDateTime(QDateTime::fromString(source.getCreateDt(),"yyyy-MM-ddTHH:mm:ss")); ui->dateAssign->setDateTime(QDateTime::fromString(source.getSetUserDate(),"yyyy-MM-ddTHH:mm:ss")); ui->dateEnd->setDateTime(QDateTime::fromString(source.getEndDate(),"yyyy-MM-ddTHH:mm:ss")); ui->etatComboBox->setCurrentIndex(ui->etatComboBox->findText(source.getEtat())); ui->usrComboBox->setCurrentIndex(ui->usrComboBox->findText(source.getDev())); ui->createComboBox->setCurrentIndex(ui->createComboBox->findText(source.getCreateName())); }
void ListenerSSL::_checkOpenClose(void) { while (this->_th->TryGet()) { Ticket *t = this->_th->CurTicket; if (t->GetAction() == LISTENER_OPENPORT) { if (t->CData->GetType() == "Buffer") this->_openPort(((Buffer *)t->CData)->getDataToInt()); this->_th->Drop("", CORE_DELETE_TICKET); // checker retour } else if (t->GetAction() == LISTENER_CLOSEPORT) { if (t->CData->GetType() == "Buffer") this->_closePort(((Buffer *)t->CData)->getDataToInt()); this->_th->Drop("", CORE_DELETE_TICKET); // checker retour } } }
Ticket* OTicketDAO::bewaarTicket(Ticket* ticket) { if(ticket->getTicketID() == -1) { //Dit is een nieuw adres en simuleert de toekenning van een sequentiële ID door de database Ticket* temp = tickets.at(tickets.size()-1); int nieuweID = temp->getTicketID()+1; ticket->setTicketID(nieuweID); } Ticket* temp = getTicket(ticket->getTicketID()); if(temp == 0) { tickets.push_back(ticket); return ticket; } else { //Ticket updaten temp->setTicketID(ticket->getTicketID()); return temp; } return 0; }
void formUpdBug::on_save_clicked() { Ticket bug; bug.setIdTicket(idTk); bug.setNameTicket(ui->titleTicket->text()); bug.setDescrTicket(ui->description->toPlainText()); bug.setCreateName(ui->createComboBox->currentText()); bug.setDev(ui->usrComboBox->currentText()); bug.setEtat(ui->etatComboBox->currentText()); emit save_upd_ticket(bug); }
Ticket Cine::ingresarASalaC(Sala s, const Ticket &t){ Lista<pair<Sala, int> > es=espectadores_; int i=0; int se=0; while (i<es.longitud()) { if (((es.iesimo(i)).first)==s) { se=i; } i++; } espectadores_.agregarAtras(make_pair(s,espectadoresC(s)+1)); espectadores_.sacar(es.iesimo(se)); ticketsVendidos_.eliminarPosicion(ticketsVendidos_.posicion(t)); Pelicula p=t.peliculaT(); Ticket res=Ticket(p,s,true); return res; }
Status TransportLayerLegacy::_runTicket(Ticket ticket) { if (!_running.load()) { return TransportLayer::ShutdownStatus; } if (ticket.expiration() < Date_t::now()) { return Ticket::ExpiredStatus; } // get the weak_ptr out of the ticket // attempt to make it into a shared_ptr auto legacyTicket = checked_cast<LegacyTicket*>(getTicketImpl(ticket)); auto session = legacyTicket->getSession(); if (!session) { return TransportLayer::TicketSessionClosedStatus; } auto conn = session->conn(); if (conn->closed) { return TransportLayer::TicketSessionClosedStatus; } Status res = Status::OK(); try { res = legacyTicket->fill(conn->amp.get()); } catch (...) { res = exceptionToStatus(); } #ifdef MONGO_CONFIG_SSL // If we didn't have an X509 subject name, see if we have one now auto& sslPeerInfo = SSLPeerInfo::forSession(legacyTicket->getSession()); if (sslPeerInfo.subjectName.empty()) { auto info = conn->amp->getX509PeerInfo(); if (!info.subjectName.empty()) { sslPeerInfo = info; } } #endif return res; }
void SiriTokenProvider::PushBackTicket( const Ticket& t,bool bLock) { if(t.IsExpired()) return; if(bLock) { FastMutex::ScopedLock lock(_mutex_tickets); list<string>::iterator it=std::find(assistant_in_uses.begin(),assistant_in_uses.end(),t.assistantId); list<Ticket>::iterator itr=std::find(g_tickets.begin(),g_tickets.end(),t); if((itr==g_tickets.end()) && (it==assistant_in_uses.end())) { g_tickets.push_back(t); } } else { list<string>::iterator it=std::find(assistant_in_uses.begin(),assistant_in_uses.end(),t.assistantId); list<Ticket>::iterator itr=std::find(g_tickets.begin(),g_tickets.end(),t); if((itr==g_tickets.end()) && (it==assistant_in_uses.end())) { g_tickets.push_back(t); } } }
void UserProcessingCenter::handleKerberosLogin(CMazeMsg* context) { //cout<<":: kerberos login:: "<<endl; debug("kerberos login request"); char *pbuf = context->getMsg(); int rt = context->getLen(); MBlockSocket *pclient = context->getSocket(); UserDatabase *userdb = UserDatabase::getInstance(); KMsgHead kmsghead; if(kmsghead.unserialize(pbuf,rt)!=-1) { switch(kmsghead.msgtype) { case USER_LOGIN_REQUEST: { //cout<<"::kerberos login::"<<endl; UserLoginRequest req; if(req.unserialize(pbuf,rt)!=-1) { USERDB *userinfo = new USERDB; //debug("recv req from user %d to @time %d"<<req.uid<<" "<<req.ts); bool logfind=false; if(req.uid!=0) { debug("recv req from user id to @time--->"<<req.uid<<" "<<req.ts); logfind=(userdb->get_record( req.uid,userinfo) == 0); debug("find user %d 's user info"<<req.uid); } else { debug("recv req from user email to @time---->"<<req.emailAddr<<" "<<req.ts); string emailAddr=req.emailAddr; string badEmail = string("*****@*****.**"); if(emailAddr == badEmail) { cout<<"--------bad email--------"<<endl; logfind = false; } else { logfind=(userdb->get_record(emailAddr,userinfo) == 0); debug("find user %s 's user info"<<emailAddr.c_str()); } } if(logfind) { //generate ticket and send it back to User here... UserLoginReply reply; strncpy(reply.userInfo.NickName,userinfo->NickName,24); strncpy(reply.userInfo.MailAddr,userinfo->MailAddr,128); reply.userInfo.UID=userinfo->UID; reply.userInfo.IP=pclient->GetPeerName().GetIP(); //TODO reply.userInfo.ServerPort=pclient->GetPeerName().GetPort(); //TODO reply.userInfo.Account=userinfo->Account; reply.userInfo.Level=userinfo->Level; reply.userInfo.LastAccountAddTime=(unsigned)userinfo->LastAddAccount; //get user password(key) from user database; string userKey=userinfo->Pwd; //get tgs key from config or database. string tgsKey ="tgskey"; //generate a random string to be the session key shared by user and tgs. string sessionKey=GenRandomKey(); unsigned ts=(unsigned)time(NULL);//the time-stamp of the ticket release. reply.ts =ts; reply.life =TGS_TICKET_LIFE;//the life of the ticket below reply.privilege=0;//TODO privilege of user.. reply.head.src=0; reply.head.dst=req.uid; reply.head.status=0; reply.sessionKey.set(sessionKey.c_str(),sessionKey.length()); Ticket ticket; ticket.uid=req.uid; ticket.uaddr=0; //TODO ticket.ts=ts; ticket.life=TGS_TICKET_LIFE; ticket.privilege=0;//TODO; ticket.sessionKey.set(sessionKey.c_str(),sessionKey.length()); reply.cipheredTicket=ticket.serializeAndEncrypt(tgsKey.c_str(),tgsKey.length()); RawData result=reply.serializeAndEncrypt(userKey.c_str(),userKey.length()); debug("AS:\tGrant ticket and session key {%s} to user %d\n"<<sessionKey.c_str()<<req.uid); unsigned int ip = pclient->GetPeerName().GetIP(); string ip_str=pclient->GetPeerName().ip(); pclient->SendPacket(result.data,result.len); char buf[256]; time_t timep=time(NULL); struct tm *p=localtime(&timep); sprintf(buf,"%d_%0.2d_%0.2d_login.txt",(1900+p->tm_year),(1+p->tm_mon),p->tm_mday); Configuration config = Configuration::getInstance(); string logDir = config.get("log"); string logName = logDir + buf; ofstream loginLogOutput(logName.c_str(),ofstream::app); sprintf(buf,"%.2d:%.2d:%.2d %10d %15s kerbroslogin ",p->tm_hour,p->tm_min,p->tm_sec,userinfo->UID,ip_str.c_str()); loginLogOutput<<buf<<endl; } else { //no user...info... debug("login ip:"<<pclient->GetPeerName().ToString()); debug("no user %d %s info in out database !"<<req.uid<<req.emailAddr); } delete userinfo; //clean resources used above. } break; }//end of case case COMMIT_KEYS_REQUEST: { printf("recv a commit keys request from %d \n",kmsghead.src); RawData reqdata(pbuf,rt); CommitKeysRequest req; string upasswd=userdb->getUserPasswd(kmsghead.src); req.decryptAndUnserialize(reqdata,upasswd.c_str(),upasswd.length()); string pubKey(req.pubKey.data,req.pubKey.len); string privKey(req.privKey.data,req.privKey.len); bool rtv=userdb->putUserKeys(req.head.src,pubKey,privKey); CommitKeysReply reply; reply.head.status=(rtv)?0:-1; RawData replydata=reply.serialize(); pclient->SendPacket(replydata.data,replydata.len); break; }//end of case case PUBLIC_KEY_REQUEST: { debug("recv a public key request from %d"<<kmsghead.src); RawData reqdata(pbuf,rt); PublicKeyRequest req; req.unserialize(reqdata); string pubKey,privKey; bool rtv=userdb->getUserKeys(req.uid,pubKey,privKey); PublicKeyReply reply; reply.pubKey.set(pubKey.c_str(),pubKey.length()); reply.head.status=(rtv)?0:-1; RawData replydata=reply.serialize(); pclient->SendPacket(replydata.data,replydata.len); break; }//end of case case PRIVATE_KEY_REQUEST: { debug("recv a private key request from %d "<<kmsghead.src); RawData reqdata(pbuf,rt); PrivateKeyRequest req; req.unserialize(reqdata); string upasswd=userdb->getUserPasswd(kmsghead.src); string pubKey,privKey; bool rtv=userdb->getUserKeys(kmsghead.src,pubKey,privKey); PrivateKeyReply reply; reply.privKey.set(privKey.c_str(),privKey.length()); RawData replydata=reply.serializeAndEncrypt(upasswd.c_str(),upasswd.length()); pclient->SendPacket(replydata.data,replydata.len); break; } default: break; }//end switch(); }//end if(kmsghead.unserialize().... }
int main() { int lotMaxR, winN, matchingN = 0; // lotMaxR = max range number for lottery numbers to be drawn, from 1 to lotMaxR do { cout << "Enter lottery range, from 1 to (5 or greater): "; // ask to input maximum range of possible lottery draw number } while(cin >> lotMaxR && lotMaxR < 5); // get proper number from user until 5 or more is entered do { cout << "Enter how many numbers to draw (2 or greater): "; // ask for how many spots on the lotto card or winning numbers to draw in lottery play } while(cin >> winN && winN < 2); // ask for input until 2 or number is entered Ticket winners = Lotto(lotMaxR,winN); // generate random numbers for winning numbers Ticket myticket = Lotto(lotMaxR,winN); // generate random numbers for user's playing ticket, something like QuickPick cout << "Winning numbers: "; DisplayTicket(winners); // display winning numbers cout << "Your ticket numbers: "; DisplayTicket(myticket); // display playing user's numbers cout << "Number(s) matched on your ticket: "; // display matching numbers from both arrays (lottery drawn numbers and user's quick pick) for (int i = 0; i < winN; i++) if (find(winners.begin(), winners.end(), myticket[i]) != winners.end()) { // compare each winning number to user's picked numbers cout << myticket[i] << " "; // if matched, display the number matchingN++; // and increase the number of matched numbers } if (matchingN == 0) // if no numbers were matched display the message cout << "None" << endl; else cout << endl; if (matchingN == winN && matchingN > 5) // if all winning numbers guessed correctly and the total number of them is 6 or more - almost impossible win, display epic congratulations message! cout << "You've guessed all numbers!!! BEER IS ON ME!"; else if (matchingN == winN && matchingN == 2 ) // special occasion: if out of 2 winning numbers 2 guessed correctly, display FREE ticket prize msg cout << "Congratulations, you've won min 2x2 game! Prize: 10 FREE tickets!" << endl; else if (matchingN > 5) // display messages for each number of correctly guessed numbers, the greater the number the more fun and expensive prize....or maybe not :) cout << "Congratulations, You've guessed " << matchingN << " winning numbers!!!" << endl; else switch(matchingN) { case 5: cout << "Congratilations, You've guessed 5 winning numbers!!!!" << endl; break; case 4: cout << "Congratulations, You've guessed 4 winning numbers!!" << endl; break; case 3: cout << "Congratulations, You've guessed 3 winning numbers!!" << endl; break; default: cout << "You've guessed " << matchingN << " winning number(s)!!" << endl; break; } cout << "\nBye!\n"; // all is done, good bye system("pause"); return 0; }
void DisplayTicket(const Ticket & t) { // function displays victor<int> array or defined as Ticket for (int i = 0; i < t.size(); i++) // go through each element until t.size(), the max number of elements, is reached cout << t[i] << " "; // display the element cout << endl; }
int createSalesTicket(ConnectNotice &cn) { char noteText[4096]; char summary[4096]; Ticket newTick; sprintf(summary, "Qwest DSL - %s %s", cn.connType, cn.custCirc); newTick.setName(cn.custName); newTick.setSummary(summary); newTick.setOpened(); newTick.setModified(); newTick.setStatus(Ticket::Unexamined); newTick.setType(Ticket::Sales); newTick.create(); strcpy(noteText, "The following Qwest connect notice has been recieved and no matching phone numbers could be found for it.<P>\n"); strcat(noteText, "Action "); strcat(noteText, cn.connType); strcat(noteText, "<BR>\n"); strcat(noteText, "Notice Date "); strcat(noteText, cn.noticeDate); strcat(noteText, "<BR>\n"); strcat(noteText, "Name "); strcat(noteText, cn.custName); strcat(noteText, "<BR>\n"); strcat(noteText, "Addr1 "); strcat(noteText, cn.addr1); strcat(noteText, "<BR>\n"); strcat(noteText, "Addr2 "); strcat(noteText, cn.addr2); strcat(noteText, "<BR>\n"); strcat(noteText, "Addr3 "); strcat(noteText, cn.addr3); strcat(noteText, "<BR>\n"); strcat(noteText, "Select "); strcat(noteText, cn.isSelect); strcat(noteText, "<BR>\n"); strcat(noteText, "CBR Number "); strcat(noteText, cn.cbr); strcat(noteText, "<BR>\n"); strcat(noteText, "DSL Phone "); strcat(noteText, cn.custCirc); strcat(noteText, "<BR>\n"); strcat(noteText, "Blarg Circuit "); strcat(noteText, cn.hostCirc); strcat(noteText, "<BR>\n"); strcat(noteText, "Due Date "); strcat(noteText, cn.dueDate); strcat(noteText, "<BR>\n"); strcat(noteText, "Speed "); strcat(noteText, cn.speed); strcat(noteText, "<BR>\n"); strcat(noteText, "VPI "); strcat(noteText, cn.vpi); strcat(noteText, "<BR>\n"); strcat(noteText, "VCI "); strcat(noteText, cn.vci); strcat(noteText, "<BR>\n"); newTick.addLogEntry(Ticket::Normal, "%s", noteText); ADB tmpDB; cn.ticketNo = newTick.ticketNo(); tmpDB.dbcmd("update QwestDSLNotices set TicketNo = %ld where NoticeID = %ld", cn.ticketNo, cn.noticeID); return 1; }
void scanOrphans() { ADB connDB; ADB phoneDB; ADB workDB; char tmpPhone[1024]; string workStr; long custID; char noteText[4096]; connDB.query("select * from QwestDSLNotices where CustomerID = 0"); if (!connDB.rowCount) return; while (connDB.getrow()) { strcpy(tmpPhone, ""); workStr = connDB.curRow["DSLNumber"]; strcat(tmpPhone, workStr.substr(0, 3).c_str()); strcat(tmpPhone, "%%"); strcat(tmpPhone, workStr.substr(3, 3).c_str()); strcat(tmpPhone, "%%"); strcat(tmpPhone, workStr.substr(6, 4).c_str()); strcat(tmpPhone, "%%"); //printf("select * from PhoneNumbers where PhoneNumber LIKE '%s'\n", tmpPhone); phoneDB.query("select * from PhoneNumbers where PhoneNumber LIKE '%s'", tmpPhone); if (phoneDB.rowCount) { // Found a matching phone number phoneDB.getrow(); custID = atol(phoneDB.curRow["RefID"]); workDB.dbcmd("update QwestDSLNotices set CustomerID = %ld where NoticeID = %ld", custID, atol(connDB.curRow["NoticeID"])); // Now, add the notice into the customer notes. ADBTable notesDB("Notes"); notesDB.setValue("AutoNote", 1); notesDB.setValue("AddedBy", "Auto"); notesDB.setValue("NoteDate", connDB.curRow["NoticeDate"]); notesDB.setValue("CustomerID", custID); notesDB.setValue("NoteType", "Qwest DSL"); notesDB.setValue("Category", connDB.curRow["Action"]); notesDB.setValue("SubCategory", "Connect Notice"); notesDB.setValue("Subject", connDB.curRow["Action"]); strcpy(noteText, ""); strcat(noteText, "Action "); strcat(noteText, connDB.curRow["Action"]); strcat(noteText, "\n"); strcat(noteText, "Name "); strcat(noteText, connDB.curRow["Name"]); strcat(noteText, "\n"); strcat(noteText, "Addr1 "); strcat(noteText, connDB.curRow["Addr1"]); strcat(noteText, "\n"); strcat(noteText, "Addr2 "); strcat(noteText, connDB.curRow["Addr2"]); strcat(noteText, "\n"); strcat(noteText, "Addr3 "); strcat(noteText, connDB.curRow["Addr3"]); strcat(noteText, "\n"); strcat(noteText, "Select "); strcat(noteText, connDB.curRow["Select256"]); strcat(noteText, "\n"); strcat(noteText, "CBR Number "); strcat(noteText, connDB.curRow["CBR"]); strcat(noteText, "\n"); strcat(noteText, "DSL Phone "); strcat(noteText, connDB.curRow["DSLNumber"]); strcat(noteText, "\n"); strcat(noteText, "Blarg Circuit "); strcat(noteText, connDB.curRow["BlargCircuit"]); strcat(noteText, "\n"); strcat(noteText, "Due Date "); strcat(noteText, connDB.curRow["DueDate"]); strcat(noteText, "\n"); strcat(noteText, "Speed "); strcat(noteText, connDB.curRow["LineSpeed"]); strcat(noteText, "\n"); strcat(noteText, "VPI "); strcat(noteText, connDB.curRow["VPI"]); strcat(noteText, "\n"); strcat(noteText, "VCI "); strcat(noteText, connDB.curRow["VCI"]); strcat(noteText, "\n"); notesDB.setValue("NoteText", noteText); notesDB.ins(); // Now that the note has been inserted, check for any // tickets that may be opened on this line still. if (atol(connDB.curRow["TicketNo"])) { // We have a ticket. Load it up. Ticket tmpTick; tmpTick.setTicketNo(atol(connDB.curRow["TicketNo"])); if (tmpTick.status() != Ticket::Closed) { // The ticket is open. Set the customer ID and // close it. tmpTick.setCustomerID(custID); tmpTick.setStatus(Ticket::Closed); tmpTick.addLogEntry(Ticket::Normal, "DSL Number %s found for Customer ID %ld. Auto-closing ticket.", connDB.curRow["DSLNumber"], custID); } } } } }
int main(int argc, const char * argv[]) { //initialize input variables Date_Time DT = *new Date_Time; string SN; string VN; aSeat ST = *new aSeat; //ensure working program cout << "This is program Test_Ticket\n"; //get inputs cout << "Please Enter Paramaters for Ticket\n"; cout << "Show Name: "; getline(cin, SN); cout << "Venue Name: "; getline(cin, VN); cout << "Day: "; cin >> DT.day; Clear_Keyboard_Input_Buffer(); cout << "Month: "; cin >> DT.month; Clear_Keyboard_Input_Buffer(); cout << "Year: "; cin >> DT.year; Clear_Keyboard_Input_Buffer(); cout << "Hour: "; cin >> DT.hour; Clear_Keyboard_Input_Buffer(); cout << "Minute: "; cin >> DT.minute; Clear_Keyboard_Input_Buffer(); cout << "Seat Row: "; cin >> ST.row; Clear_Keyboard_Input_Buffer(); cout << "Seat Number: "; cin >> ST.num; Clear_Keyboard_Input_Buffer(); cout << endl; //create ticket Ticket *ticket = new Ticket(SN, VN, DT, ST); //display initial ticket using display() cout << "Initial Ticket: " << endl; ticket->Display(); //display initial ticket using accessor fuctions cout << endl << "Using accessor functions: " << endl; cout << "Show_Name = " << ticket->Show_Name() << endl; cout << "Venue_Name = " << ticket->Venue_Name() << endl; cout << "Date = " << ticket->When().month << "/" << ticket->When().day << "/" << ticket->When().year << endl; cout << "Time = " << setw(2)<< setfill('0') << ticket->When().hour << ":" << setw(2) << setfill('0') << ticket->When().minute << endl; cout << "Seat " << ticket->Seat().row << ticket->Seat().num << endl; if (ticket->Sold() == false) { cout << "Not Sold" << endl; } else{ cout << "Sold" << endl; } //sell the ticket with Sell() cout << endl << "Calling sell for ticket" << endl; ticket->Sell(); //display ticket after sale using Display() cout << endl << "After ticket sold:" << endl; ticket->Display(); delete ticket; cin.get(); //hold window open return 0; }
void TestCine() { Cine a((Nombre) "Cine1"); if(a.nombreC()!="Cine1") fallo=1,cout<<"Falla nombreC"<<endl; a.abrirSalaC(1); a.abrirSalaC(3); a.abrirSalaC(5); if(a.salasC().longitud()!=3) fallo=1,cout<<"Falla abrirSalaC"<<endl; if(!a.salasC().pertenece(1)) fallo=1,cout<<"Falla abrirSalaC"<<endl; if(!a.salasC().pertenece(3)) fallo=1,cout<<"Falla abrirSalaC"<<endl; if(!a.salasC().pertenece(5)) fallo=1,cout<<"Falla abrirSalaC"<<endl; a.agregarPeliculaC(pelis[0],1); a.agregarPeliculaC(pelis[1],3); a.agregarPeliculaC(pelis[2],5); if(a.peliculasC().longitud()!=3) fallo=1,cout<<"Falla agregarPeliculaC"<<endl; if(!a.peliculasC().pertenece(pelis[0])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl; if(!a.peliculasC().pertenece(pelis[1])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl; if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla agregarPeliculaC"<<endl; a.cerrarSalaC(1); if(a.salasC().longitud()!=2) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(!a.salasC().pertenece(3)) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(!a.salasC().pertenece(5)) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(a.peliculasC().longitud()!=2) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(!a.peliculasC().pertenece(pelis[1])) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla cerrarSalaC"<<endl; if(!(a.peliculaC(3)==pelis[1])) fallo=1,cout<<"Falla peliculaC" <<endl; if(!(a.peliculaC(5)==pelis[2])) fallo=1,cout<<"Falla peliculaC" <<endl; a.pasarA3DUnaPeliculaC("Peli2"); if(!a.peliculaC(3).es3DP()) fallo=1,cout<<"Falla pasarA3D" <<endl; Ticket t; t = a.venderTicketC("Peli3"); if(t.usadoT()) fallo=1,cout<<"Falla venderTicketC"<<endl; if(t.salaT()!=5) fallo=1,cout<<"Falla venderTicketC"<<endl; if(!(t.peliculaT()==pelis[2])) fallo=1,cout<<"Falla venderTicketC"<<endl; a.venderTicketC("Peli3"); if(a.ticketsVendidosSinUsarC().longitud()!=2) fallo=1,cout<<"Falla ticketsVendidosSinUsarC"<<endl; if(!a.ticketsVendidosSinUsarC().pertenece(t)) fallo=1,cout<<"Falla ticketsVendidosSinUsarC"<<endl; a.ingresarASalaC(5,t); if(a.espectadoresC(5)!=1) fallo=1,cout<<"Falla ingresarASalaC"<<endl; if(a.ticketsVendidosSinUsarC().longitud()!=1) fallo=1,cout<<"Falla ingresarASalaC"<<endl; if(!a.ticketsVendidosSinUsarC().pertenece(t)) fallo=1,cout<<"Falla ingresarASalaC"<<endl; t = a.ingresarASalaC(5,t); if(a.espectadoresC(5)!=2) fallo=1,cout<<"Falla ingresarASalaC"<<endl; if(a.ticketsVendidosSinUsarC().longitud()!=0) fallo=1,cout<<"Falla ingresarASalaC"<<endl; if(!t.usadoT()) fallo=1,cout<<"Falla ingresarASalaC"<<endl; a.cerrarSalasC(1); if(a.peliculasC().longitud()!=1) fallo=1,cout<<"Falla cerrarSalasC1"<<endl; if(!a.peliculasC().pertenece(pelis[2])) fallo=1,cout<<"Falla cerrarSalasC2"<<endl; ///void cerrarSalasDeLaCadenaC(Lista<Cine> &cs, int e) const; }