예제 #1
0
/*
No menu o usuario escolhe se deseja executar o metodo Jacob-Richardson
de maneira sequencial ou concorrente
enviando ,assim ,para a funcao certa
*/
void menu(){
	int opcao;
	int id_matriz;
	int n_threads;
	printf("V1.0-----Concorrentes-----\n");
	printf("Eduardo Brunaldi dos Santos & Igor de Souza Baliza\n");	
	printf("\n\n\n");
	do{
		printf("Menu Principal:\n");
		printf("	1- Executar sequencial\n");
		printf("	2- Executar concorrente\n");
		printf("	0- Sair\n");
		printf("Digite uma das opcoes: ");
		scanf("%d",&opcao);

		switch (opcao){
			case 0:
				printf("Fechando  o programa!\n");
				break;
			case 1:
				 id_matriz = subMenu();
				sequencial(id_matriz);
				break;
			case 2:
				id_matriz = subMenu();
				n_threads = menuConcorrente();
				concorrente(id_matriz,n_threads);
				break;
			default:
				printf("Opcao invalida, selecione outra opcao.\n");
		}
	}while(opcao !=0);
}
예제 #2
0
int main()
{
    int i;
    rotor[0] = NULL;
    rotor[1] = NULL;
    rotor[2] = NULL;
    char menuPilihan;
	int menu;
	char input_sentence[1024];

    firstSetup();   // Set semua nilai awal dari rotor, plugboard, reflector
	while (1){      // looping hingga user memilih exit
        clear();
		printf("\n	  ########################\n");
		printf("	  #                      #\n");
		printf("  	  #    Enigma Machine    #\n");
		printf("  	  #                      #\n");
		printf("  	  #    German Railway    #\n");
		printf("  	  #        model         #\n");
		printf("  	  #                      #\n");
		printf("  	  ########################\n \n \n");

		printf("    #####################################\n");
		printf("    #                                   #\n");
		printf("    #  1. Encrypt or Decrypt a sentence #\n");
		printf("    #  2. Encrypt or Decrypt a file     #\n");
		printf("    #  3. Encryption Settings           #\n");
		printf("    #  4. Exit                          #\n");
		printf("    #                                   #\n");
		printf("    #####################################\n \n");

		printf("	Enter a menu : ");

		inputData(&menuPilihan, 0, 1, 4);       // meminta menu yang dipilih
		menu =  atoi(&menuPilihan);

        /* kondisi-kondisi jika memilih menu-menu masing-masing */
		if(menu == 1){
			subMenu(1,input_sentence);
		}

		else if(menu == 2){
			subMenu(2,input_sentence);
		}

		else if(menu == 3){
			subMenu(3,input_sentence);
		}

		else if(menu == 4){
			break;
		}
	}

	return 0;
}
예제 #3
0
// build a menu of only the files not starting with the prefix.
void MLFile::buildMenuExcludingPrefix(MLMenuPtr m, std::string prefix) const
{
    int prefixLen = prefix.length();
    m->clear();
    
    nameToFileMap::const_iterator it;
    for(it = mFiles.begin(); it != mFiles.end(); ++it)
    {
        const MLFilePtr f = it->second;
        std::string filePrefix = f->mShortName.substr(0, prefixLen);
        if(filePrefix.compare(prefix) != 0)
        {
            if(f->mIsDirectory)
            {
                MLMenuPtr subMenu(new MLMenu());
                f->buildMenu(subMenu);
                m->addSubMenu(subMenu, f->mShortName);
            }
            else
            {
                m->addItem(f->mShortName);
            }
        }
    }
}
예제 #4
0
파일: lib.c 프로젝트: leaderwing/test_repo
void searching(Result *person, int amount) {
	int choice;

	while(1) {
		switch(choice = subMenu()) {
			case 1:
			if(!searchByName(person, amount)) {
				printf("Cannot find this person\n");
			}
			continue;
			case 2:
			if(!searchByClass(person, amount)) {
				printf("Cannot find this person\n");
			}
			continue;
			case 3:
			if(!searchByAverage(person, amount)) {
				printf("Cannot find this person\n");
			}
			continue;
			case 4:
			break;
		}
		break;
	}
}
예제 #5
0
/***********************************************************
 * AddPerson
 ***********************************************************/
void
HAddressView::AddPerson(BMenu *menu
							,const char* title
							,const char* group
							,BMessage *msg
							, char shortcut
							, uint32 modifiers)
{
	BMenu *subMenu(NULL);
	HApp *app = (HApp*)be_app;
	MenuUtils utils;
	
	if(::strlen(group) > 0)
	{
		// Find group item
		int32 count = menu->CountItems();
		for(int32 i = 0;i < count;i++)
		{
			BMenuItem *tmpMenu = menu->ItemAt(i);
			if(tmpMenu && tmpMenu->Submenu())
			{
				if(::strcmp(tmpMenu->Label(),group) == 0)
				{
					subMenu = tmpMenu->Submenu();
					break;
				}
			}
		}
		// Add group item
		if(!subMenu)
		{
			subMenu = new BMenu(group);
			BMessage *message = new BMessage(M_SEL_GROUP);
			message->AddString("group",group);
			BTextControl *control;
			msg->FindPointer("pointer",(void**)&control);
			message->AddPointer("control",control);
			message->AddPointer("menu",subMenu);
			BFont font(be_plain_font);
			font.SetSize(10);
			subMenu->SetFont(&font);
			IconMenuItem *iconItem = new IconMenuItem(subMenu,message,0,0
						,app->GetIcon("OpenFolder"),false);
			iconItem->SetTarget(this,Window());
		
			menu->AddItem(iconItem);
		}
		// Add item
		utils.AddMenuItem(subMenu,title,msg,this,Window(),shortcut,modifiers
						,app->GetIcon("Person"),false);
		
	}else
		utils.AddMenuItem(menu,title,msg,this,Window(),shortcut,modifiers
						,app->GetIcon("Person"),false);
}
예제 #6
0
void MLFile::buildMenu(MLMenuPtr m) const
{
    m->clear();
    
    nameToFileMap::const_iterator it;
    for(it = mFiles.begin(); it != mFiles.end(); ++it)
    {
        const MLFilePtr f = it->second;
        if(f->mIsDirectory)
        {
            // debug() << "ADDING SUBMENU: " << f->mShortName << "\n";
            MLMenuPtr subMenu(new MLMenu());
            f->buildMenu(subMenu);
            m->addSubMenu(subMenu, f->mShortName);
        }
        else
        {
            // debug() << "ADDING ITEM: " << f->mShortName << "\n";
            m->addItem(f->mShortName);
        }
    }
}