int main(int argc, char *argv[]){ BookCatalog catalog; string operation=argv[1]; checkNumberOfArguments(argc); catalog = createCatalog(count_lines_of_file()); if(areEqual(upper(operation),"TAGS"))TagOperations(argv[2],argv[3],catalog,argc); else if(areEqual(upper(operation),"ADD"))addBook(argv[2], argc, catalog); else if(areEqual(upper(operation), "LIST"))showListOfBooks(catalog, argc); else if(areEqual(upper(operation),"SEARCH"))search_books_using_diffrent_fields(argv[2], argv[3], catalog, argc); else if(areEqual(upper(operation),"REMOVE")){delete_the_book_using_isbn( argv[2],argv[3], catalog, argc);printf("book is deleted\n");} else if(areEqual(upper(operation), "UPDATE"))updateBook(argv[2], catalog, argc); else if(areEqual(upper(operation), "--HELP"))provideHelp(argc); else giveExcuse(); clearCatalog(catalog); return 0; }
void BoardWithQuickEntry::processCommand(const QString &command) { QStringList items(command.split(" ", QString::SkipEmptyParts)); Quackle::Move move(Quackle::Move::createNonmove()); if (items.size() <= 0) { provideHelp(); return; } const QString verb(items.first().toLower()); if (verb.startsWith("pass")) move = Quackle::Move::createPassMove(); else { if (items.size() != 2) { provideHelp(); return; } if (verb.startsWith(tr("ex"))) { QString letters = items.at(1); bool isIntConvertable = false; int exchangeLength = letters.toInt(&isIntConvertable); bool isPass = false; Quackle::LetterString encodedLetters; if (isIntConvertable) { if (exchangeLength == 0) { isPass = true; } else { for (int i = 0; i < exchangeLength; ++i) encodedLetters.push_back(QUACKLE_BLANK_MARK); } } else { encodedLetters = QuackleIO::Util::nonBlankEncode(letters); } if (isPass) move = Quackle::Move::createPassMove(); else move = Quackle::Move::createExchangeMove(encodedLetters); } else { QString prettyLetters(items.at(1)); QString letters; bool replace = false; for (int i = 0; i < prettyLetters.length(); ++i) { QChar character = prettyLetters.at(i); if (character == '(') replace = true; else if (character == ')') replace = false; else if (replace) letters += "."; else letters += character; } move = Quackle::Move::createPlaceMove(QuackleIO::Util::qstringToString(items.first()), QuackleIO::Util::encode(letters)); } } if (move.isAMove()) emit setCandidateMove(move); }