Example #1
0
int escogerAlgoritmo(){
	char str[10];
    int opcion = 0;
	while(opcion < 1 || opcion > 3){
		imprimirMenu();
		scanf("%s", str);
		opcion = atoi(str);
	}
	return opcion;
}
Example #2
0
int main(){
  //system("clear");
  //system("cls");
  int opcion, tipoDeVideo, diasDeAtraso = 0;
  float tarifa = 0;

  imprimirMenu(&opcion);

  if (opcionValida(opcion)) {
    tipoDeVideo = opcion;
    printf("¿Cuantos días tiene de atraso?(-1 devolución en termino)\n");
    scanf("%d", &diasDeAtraso);
    tarifa = devolucion(tipoDeVideo, diasDeAtraso);
    printf("El costo a pagar es: $%.2f\n", tarifa);
  }else if (opcion != 0) {
    printf("La opción seleccionada es invalida\n");
  }else{
    printf("\nFin del programa");
    printf("\n================\n");
  }

	return 0;
}
Example #3
0
int main(int argc, char *argv[]) {
	int acao;
	char chave[50];
	int chaveI;
	
	printf("\n-----------------------------\n");
	printf("Sistema de Gerenciamento de Sessoes\n");

	do {
		imprimirMenu();

		acao = pedirAcao();

		switch(acao) {
			case 0:
				printf("\n-----------------------------\n");
				printf("Fim de execucao.\n");
			break;
			case 1:
				inserirFilme();
			break;
			case 2:
				criarSessao();
			break;
			case 3:
				listarFilmes();
			break;
			case 4:
				alterarStatus();
			break;
			case 5:
				printf("\n-----------------------------\n");
				printf("Busca por filme por genero:\n");
				printf("Genero: ");
				fgets(chave, 30, stdin);
				buscarFilmesPorGenero(chave);
			break;
			case 6:
				printf("\n-----------------------------\n");
				printf("Busca por filme por nome:\n");
				printf("Nome: ");
				fgets(chave, 50, stdin);
				buscarFilmesPorNome(chave);
			break;
			case 7:
				printf("\n-----------------------------\n");
				printf("Busca por filme por status:\n");
				printf("Status (0. em breve / 1. em exibicao / 2. fora de exibicao): ");
				scanf("%d", &chaveI);
				buscarFilmesPorStatus(chaveI);
			break;
			default:
				printf("Opcao Invalida.\n");
			break;

		}
	} while (acao != 0);

	printf("\n-----------------------------\n");
	printf("Fim de execucao.\n");
	
	return 0;
}
/** \brief Menu de funciones para informar datos en pantalla.
    1= Mostrar cantidad de usuarios
    2= Mostrar a los usuarios
    3= Mostrar usuarios y sus comentarios
    4= Cosas nuevas de la sesion
    5= los primeros usuarios dados de alta
 * \param usuarios: arraylist donde se guardan los usuarios
 * \param comentarios: arraylist donde se guardan los comentarios
 * \param usuariosOriginales: arraylist donde se guardan los usuarios que se tenian al iniciar el programa
 * \param comentariosOriginales: arraylist donde se guardan los comentarios que se tenian al iniciar el programa
 */
int informar(ArrayList *usuarios,ArrayList *usuariosOriginales,ArrayList *comentarios,ArrayList *comentariosOriginales)
{
    int i,j, opcion;
    EComments* comment;
    EComments *commentAux;
    User *usuario;
    User *userAux;
    int usuariosAMostrar=5;
    ArrayList* pArray;

    opcion=imprimirMenu("1- Mostrar cantidad de usuarios\n2- Mostrar a los usuarios\n3- Mostrar usuarios y sus comentarios\n4- Cosas nuevas de la sesion\n5- los primeros usuarios dados de alta\n");
    fflush(stdin);
    printf("\n-------------------------------------------\n");
    switch(opcion)
    {
    case 1:
        if(usuarios->isEmpty(usuarios)==1)
            printf("No hay usuarios dados de alta!\n\n");
        if(usuarios->isEmpty(usuarios)==0)
            printf("Existen %d usuarios dados de alta.\n\n",usuarios->len(usuarios));
        break;
    case 2:
        for(i=0; i<usuarios->size; i++)
        {
            printUser(usuarios->get(usuarios,i));
        }
        printf("\n");
        break;
    case 3:
        for(i=0; i<usuarios->size; i++)
        {
            usuario= usuarios->get(usuarios,i);
            printUser(usuarios->get(usuarios,i));

            for(j=0; j<comentarios->size; j++)
            {
                comment = (comentarios->get(comentarios,j));
                if(usuario->id == comment->idComentador)
                {
                    printf("Indice: %d. Comentario: %s Nick:%s Cantidad de likes:%d\r\n\n",comentarios->indexOf(comentarios,*(comentarios->pElements+j)),comment->comments,usuario->name,comment->likes);
                }
            }
        }
        printf("\n");

        break;

        {
        case 4:
            if((al_containsAll(usuarios, usuariosOriginales)) && (al_containsAll(comentarios, comentariosOriginales)) && usuarios->size == usuariosOriginales->size && comentarios->size == comentariosOriginales->size)
            {
                printf("No se realizaron modificaciones en la sesion actual.\n\n");
            }
            else
            {
                for(i=0; i<usuarios->size; i++)
                {
                    userAux=usuarios->get(usuarios,i);
                    if(usuarios->contains(usuariosOriginales,userAux)==0)
                    {
                        printf("\n-----NUEVOS USUARIOS-----\nNombre= %s\nNick= %s\n",userAux->name, userAux->nick);
                    }
                }
                for(i=0; i<comentarios->size; i++)
                {
                    commentAux=comentarios->get(comentarios,i);
                    if(comentarios->contains(comentariosOriginales,commentAux)==0)
                    {
                        printf("\n-----NUEVOS COMENTARIOS-----\nCOMENTARIO= %s\nLikes= %d\n",commentAux->comments, commentAux->likes);
                    }
                }
            }
            printf("\n");
            break;
        case 5:
            if(usuarios->size < usuariosAMostrar)
                usuariosAMostrar =usuarios->size;

            pArray = usuarios->subList(usuarios,0,usuariosAMostrar);
            printf("Los primeros usuarios fueron:");
            for(i=0; i<usuariosAMostrar; i++)
            {
                userAux=pArray->get(pArray,i);
                printf("\n%d = %s (Nick= %s)",i+1,userAux->name,userAux->nick);
            }
            printf("\n\n\n");

            break;
        default:
            printf("No existe esa opcion... Reintente\n\n");
            system("pause");
            system("cls");
            break;
        }
    }
    return 0;
}
/** \brief Menu para borrado de usuarios.
            1= borra el usuario
            2= borra a todos los usuarios
            3= borra y muestra en pantalla al usuario borrado
 * \param usuarios: arraylist donde se guardan los usuarios
 */
void borrado(ArrayList * usuarios)
{
    char nickAux[51];
    char nickAux2[51];
    int opcion,i;
    User *usuario;
    User *usuario2;


    if(usuarios->size==0)
    {
        printf("NO HAY USUARIOS!!!\n\n");
    }
    else
    {
        printf("Ingrese su nick: ");
        gets(nickAux);
        fflush(stdin);
        for(i=0; i<usuarios->size; i++)
        {

            usuario = usuarios->get(usuarios,i);

            if(strcmp(nickAux,usuario->nick) == 0)
            {
                printf("BORRADO DE USUARIO\n=============================\n");
                opcion=imprimirMenu("1- Borrar un usuario\n2- Borrar y mostrar\n3- Borrar todos los usuarios\n\n");
                fflush(stdin);
                printf("\n-------------------------------------------\n");

                switch(opcion)
                {
                case 1:
                    printf("Ingrese el nick a borrar: ");
                    gets(nickAux2);
                    fflush(stdin);
                    for(i=0; i<usuarios->size; i++)
                    {

                        usuario = usuarios->get(usuarios,i);

                        if(strcmp(nickAux2,usuario->nick) == 0)
                        {
                            printf("Usuario borrado o.O!!!!\n\n");
                            usuarios->remove(usuarios,i);
                        }
                    }
                    break;

                case 2:
                    printf("Ingrese el nick a borrar: ");
                    gets(nickAux2);
                    fflush(stdin);
                    for(i=0; i<usuarios->size; i++)
                    {

                        usuario = usuarios->get(usuarios,i);

                        if(strcmp(nickAux2,usuario->nick) == 0)
                        {
                            usuario2 = usuarios->pop(usuarios,i);
                            printf("El usuario %s fue borrado o.O!!!!\n\n",usuario2);
                        }
                    }
                    break;
                case 3:
                    usuarios->clear(usuarios);
                    printf("ACABA DE BORRAR A TODOS LOS USUARIOS o.O!!!!\n\n");
                    break;
                default:
                    printf("No existe esa opcion... Reintente\n\n");
                    system("pause");
                    system("cls");
                    break;
                }
            }
            else
            {
                printf("Ese usuario no existe =(\n\n");
            }
        }

    }


}
Example #6
0
int main(int argc, char **argv){
	int myid; 					// Indica o rank do processo
	int numprocs; 				//Utilizada para indicar o numero de processos disponíveis
	int mymax=0, max;			// Variáveis utilizadas para calcular o Maximo contido no vetor principal data
	int *dataA; 					// Vetor principal contendo todos os valores do obtidos no arquivo

	int *sendBufA, *recBuf;			// Vetor auxiliar com tamanho definido por x, utilizado para segmentar
	
	int myresult=0, result; 	// Variávei utilizadas para calcular a soma de parciais e totais

	int i,j, x, low, high;		// Variáveis auxiliares para laço e segmentação
	double tempoI, tempoF;		//Variáveis para calcular o tempo de processamento
	int LIMIAR;
	
	// Efetua a validação dos parametros de entrada da linha de comando
	if(!(argc < 4)){
		if((SIZE=atoi(argv[4]))==1 || (LIMIAR=atoi(argv[2])) ==1){			// O valor informado é inválido		
			clear();
			printf("ERRO - Informe um numero válido para quantidade !\n");
			return 1;
		}
	}else{						//Faltam parametros de entrada para o programa
		clear();
		printf("ERRO - Informe o caminho do arquivo de entrada e a quantidade de elementos a serem computados !\n");
		return 1;
	}

	// Calcula tamanho para cada partição do vetor principal
	x = SIZE*SIZE/(numprocs);


	// Aloca vetor com tamanho informado por linha de comando
	dataA = (int*) malloc(sizeof(int)*SIZE*SIZE);
	sendBufA = (int*) malloc(sizeof(int)*x);

	// Inicia ambiente MPI para a aplicação
	MPI_Status Stat;
	MPI_Init(&argc, &argv);
	MPI_Comm_size(MPI_COMM_WORLD, &numprocs);
	MPI_Comm_rank(MPI_COMM_WORLD, &myid);
	MPI_Bcast( &LIMIAR, 1, MPI_FLOAT, 0, MPI_COMM_WORLD);
	// Processo MASTER, efetua a distriuição de tarefas e calcula valores resultantes que não puderam 
	// ser dividos entre os processos.
	if(myid == 0){
		imprimirMenu();
		tempoI=MPI_Wtime();		//Coleta o tempo de inicio do processamento	
		printf("Métodos--------------------------------------------------------------------------------\n\n");
		load(argv[1],dataA);
		printf("O vetor original foi divido em Segmentos de %d elementos distribuídos para %d processos\n",x,(numprocs -1));
		printf(" %d foi escolhido como LIMIAR\n",LIMIAR);
		printf("--------------------------------------------------------------------------------------------\n\n");
		int j,k;
	}


	MPI_Scatter(dataA, x, MPI_INT, sendBufA, x, MPI_INT, 0, MPI_COMM_WORLD);
	for(i=0;i<x;i++){
		if(LIMIAR > sendBufA[i])
			sendBufA[i]=0;
		else
			sendBufA[i]=1;
	}
	MPI_Gather(sendBufA, x, MPI_INT, dataA, x, MPI_INT, 0, MPI_COMM_WORLD);

	if(0 == myid) {
	for(i=(SIZE*SIZE)%(numprocs);i>0;i--){
		if(LIMIAR > dataA[SIZE*SIZE-1-i]){
			printf("Processando posicao: [%d]\n",(SIZE*SIZE)-i);
			dataA[-i]=0;
			}else
				dataA[SIZE*SIZE-1-i]=1;
	}
		save(dataA,argv[3]);
		// Informa o resultado final na tela do console
		printf("Resultados----------------------------------------------------------------------------------\n\n");
		printf("A Matriz resultante foi salva no arquivo: : %s .\n ", argv[3]);
		printf("--------------------------------------------------------------------------------------------\n");
		tempoF = MPI_Wtime();
		printf("Tempo gasto: %lf\n", tempoF - tempoI );
		printf("--------------------------------------------------------------------------------------------\n");
	}
	MPI_Finalize();		//Finaliza o Ambiente MPI
	return 0;			// Finaliza a aplição
}