int validar_menu()
{
    
    int eleccion;
    char a=0;
    do
    {
         if(a)
              printf("ERROR, el numero ingresado no corresponde a una de las acciones \nIntente nuevamente:\n\n\n");
              
         mostrar_menu();
         fflush(stdin);
         scanf("%d", &eleccion);
         system("cls");
         
         a=1;
         
         
     }
     while(eleccion>size_menu || eleccion<1);
     
     return eleccion;
     
    
    
    
}
/*
 *muestra un menu en ppantalla y recibe un valor correspondiente a una de las acciones del menu.
 *valida que el numero ingresado sea uno de los valores correspondientes al menu
 *devuelve un entero que es la opcion del menu ya validada
 */
int mostrar_y_validar_menu()
{
    int a=0;
    int opcion;
    
    do
    {
        if(a)
             printf("ERROR,el numero ingresado no pertenece a una opcion valida para el menu\nIntente nuevamente\n\n");
             

             mostrar_menu();
             fflush(stdin);
             scanf("%d", &opcion);
             system("cls");
        
             a=1;
        
    }
    while(opcion<1||opcion>4);
    
    return opcion;
    
    
    
}
int main() {
    Imagem* img;
    int opcao = 1;
    int i=0,j=0;
    int limiar=-1;
    char nome[255];
    int grau=0;


    while (opcao != 0) {
        opcao = mostrar_menu();

        if (opcao == 1) {
            printf("Nome do arquivo: ");
            scanf("%s", nome);
            img = ler_imagem(nome);
        } else if (opcao == 2) {
            img = blur(img);
        } else if (opcao == 3) {
            img = sharpen(img);
    	} else if(opcao == 4){
			img = borda(img);
		}else if(opcao == 5){
		    printf("Digite o limiar: ");
            scanf("%i", &limiar);
            img = binarizacao_imagem(img, limiar);
		}else if(opcao == 6){
			printf("Grau de rotacao (90, 180 ou 270º): ");
			scanf("%i", &grau);
			if(grau == 90){
				img = rotacionar90(img);
			}else if(grau == 180){
				img = rotacionar180(img);
			}else if(grau == 270){
				img = rotacionar270(img);
			}else{
				printf("O grau informado nao e permitido.");
			}
		}else if(opcao == 7){
			img = zoom2x(img);
		}else if(opcao == 8){
			img = reduzir2x(img);
		}else if(opcao == 9){
			img = gaussianblur(img);
		}else if (opcao == 10){
		    printf("Nome do arquivo: ");
            scanf("%s", nome);
            salvar_imagem(img, nome);
        }else{
        	printf("Opção inválida.");
		}
    }

    return 0;
}
Example #4
0
int main() {
  float valor; /* el valor de la pantalla */
  int opcion; /* opcion elegida */

  valor = 0; /* valor inicial al enchufar la calculadora */
  do {
    opcion = mostrar_menu(valor);
    switch (opcion) {
    case SUMAR:
      fprintf(stdout,"Valor a sumar: ");
      fscanf(stdin,"%f",&operando);
      valor = valor + operando;
      break; /* importante no olvidar el break!!! */
    case RESTAR:
      fprintf(stdout,"Valor a restar: ");
      fscanf(stdin,"%f",&operando);
      valor = valor - operando;
      break; /* importante no olvidar el break!!! */
    case MULTIPLICAR:
      fprintf(stdout,"Valor a multiplicar: ");
      fscanf(stdin,"%f",&operando);
      valor = valor * operando;
      break; /* importante no olvidar el break!!! */
    case DIVIDIR:
      fprintf(stdout,"Valor con el que dividir: ");
      fscanf(stdin,"%f",&operando);
      if (operando == 0) {
	fprintf(stdout,"ERROR! no se puede dividir entre 0\nPulse una tecla\n");
	getch();
      } else {
	valor = valor / operando;
      }
      break; /* importante no olvidar el break!!! */
    case SALIR:
      /* en este caso no hacemos nada, pero ponemos la opcion para que no se vaya al default
      break; /* importante no olvidar el break!!! */
    default:
	fprintf(stdout,"ERROR! opcion incorrecta\nPulse una tecla\n");
	getch();
    } /* cierra el switch */
  } while (opcion != SALIR);
  return 0;
}
Example #5
0
int main(int argc, char **argv) {
	FILE *pf = NULL;
	int opcion;

	opcion = mostrar_menu();

	if(opcion > 3 || opcion < 0) {
		fprintf(stderr, "Error: el número no está asociado a ningún programa.\n");
} 
	else {

	printf("\nSe ha arrancado %s, guarde el archivo como file.txt \n\n", programa[opcion]);
	system(programa[opcion]);
}

	fclose(pf);
	return EXIT_SUCCESS;
	
}
Example #6
0
int main(void) {
  int array[SIZE];
  int posicion;
  int elemento;
  int opcion;
  // La cantidad de elementos que voy a almacenar.
  // Es el tamaño menos el "Búfer".
  int cantidad_elementos = 0;
  do {
    opcion = mostrar_menu();
    switch (opcion) {
      case CARGAR_VALORES:
        // Decido inicializar el array con pares para hacer el testeo
        // más fácil.
        cantidad_elementos = CANTIDAD_ELEMENTOS_AUTOMATICA;
        inicializar_con_pares(array, cantidad_elementos);
        break;
      case INSERTAR:
        printf("Ingrese la posición para el elemento\n?: ");
        scanf("%d", &posicion);
        printf("Ingrese el elemento que tiene que insertar\n?: ");
        scanf("%d", &elemento);
        insertar(array, SIZE, &cantidad_elementos, posicion, elemento);
        break;
      case VER_VECTOR:
        printf("Cantidad de elementos en el vector: %d\n", cantidad_elementos);
        imprimir(array, cantidad_elementos);
        break;
      case LEER_DEL_TECLADO:
        leer_del_teclado(array, &cantidad_elementos, SIZE);
        break;
      case SALIR:
        break;
      default:
        printf("La opción no es válida");
        break;
    }
  } while (opcion != SALIR);
}
Example #7
0
int main() {
    int opcion;

    primero = (struct Agenda *) NULL;
    ultimo = (struct Agenda *) NULL;
    do {
        mostrar_menu();
        scanf("%d", &opcion);
        switch (opcion) {
            case 1: anadir_elemento();
                break;
            case 2: borrar_elemento();
                break;
            case 3: mostrar_lista();
                break;
            case 4: exit(0);
                break;
            default: printf("Opcion no valida\n");
                break;
        }
     } while (opcion!='4');
    return 0;
}
int mostrar_y_validar_menu()
{
    long int opcion;
    char a=0;
         
         do
         {
             if(a)
                  printf("ERROR, la opcion ingresada no corresponde a una del menu\nIntente nuevamente");
                  
                  
             mostrar_menu();
             fflush(stdin);
             scanf("%d", &opcion);
             system("cls");
             a=1;
         }
         while(opcion>6||opcion<1);
         
    return opcion;
    
    
    
}
Example #9
0
int main(int argc, char **argv)
{ 
  int opcion, salir = 0;
  char fich[100], namein[100], comando[100], resp[5];
  FILE *f;
  
  printf("Introduzca el nombre del fichero fuente Pascual con el que desea trabajar (sin extension .pc): ");
  scanf("%s", &fich);
  strcpy (namein, fich);
  strcat (namein, ".pc");
  f = fopen (namein, "r");
  
  if (f == NULL) {
    fprintf (stderr, "Fichero %s no existe\n", namein);
    exit (-1);
  }
  
  while ( !salir )
  {
    opcion = mostrar_menu();
    
    switch (opcion)
    {
      case 0: salir = 1; 
              break;

      case 1: printf("Desea compilar el programa paso a paso (S/N)?: ");
              scanf("%s", resp);
	      if (strcmp(resp, "S") == 0)
	        sprintf(comando, "pascual1 %s -w", fich);
              else if (strcmp(resp, "N") == 0)
	        sprintf(comando, "pascual1 %s", fich);	
	      else {
	        printf("Error en la respuesta, no se mostraran warnings\n");	 
		sprintf(comando, "pascual1 %s", fich);
	      }	
              printf("Compilando el fichero...\n"); 
              
              system(comando);
              break;

      case 2: printf("Generando codigo intermedio...\n"); 
              sprintf(comando, "pascual %s", fich);
              system(comando);
	      break; 
	      
      case 3: printf("Ensamblando codigo intermedio...\n");	      
              sprintf(comando, "ensamblador %s", fich);
	      system(comando);
	      break;

      case 4: printf("Desea interpretar el programa paso a paso (S/N)?: ");
              scanf("%s", resp);
	      if (strcmp(resp, "S") == 0)
	        sprintf(comando, "maquinap %s -t", fich);
              else if (strcmp(resp, "N") == 0)
	        sprintf(comando, "maquinap %s", fich);	
	      else printf("Error en la respuesta, se interpretara el programa de una vez\n");		
              printf("Interpretando el fichero...\n"); 
                
              system(comando);
              break;	  
	      
      case 5: fclose(f);
              printf("Introduzca el nombre del fichero fuente Pascual con el que desea trabajar (sin extension .pc): ");
              scanf("%s", &fich);
              strcpy (namein, fich);
              strcat (namein, ".pc");
              f = fopen (namein, "r");     
	      break; 

    }    
  }
  
  fclose(f);  
}
Example #10
0
int main(int argc, char **argv)
{ 
  int opcion, resultado = -1, salir = 0;
  char fich[100], namein[100], comando[100], resp[5];
  FILE *f;
  
  if (argc == 1) /* Modo menu interactivo modo texto */
  { 
    printf("Introduzca el nombre del fichero fuente Pascual con el que desea trabajar (sin extension .pc): ");
    scanf("%s", &fich);
    strcpy (namein, fich);
    strcat (namein, ".pc");
    f = fopen (namein, "r");

    if (f == NULL) {
      fprintf (stderr, "Fichero %s no existe\n", namein);
      exit (-1);
    }

    while ( !salir )
    {
      opcion = mostrar_menu();

      switch (opcion)
      {
	case 0: salir = 1; 
        	break;

	case 1: printf("Desea compilar el programa paso a paso (S/N)?: ");
        	scanf("%s", resp);
		if (strcmp(resp, "S") == 0)
	          sprintf(comando, "pascual1 %s -w", fich);
        	else if (strcmp(resp, "N") == 0)
	          sprintf(comando, "pascual1 %s", fich);	
		else {
	          printf("Error en la respuesta, no se mostraran warnings\n");	 
		  sprintf(comando, "pascual1 %s", fich);
		}	
        	printf("Compilando el fichero...\n"); 

        	system(comando);
        	break;

	case 2: printf("Generando codigo intermedio...\n"); 
        	sprintf(comando, "pascual %s", fich);
        	system(comando);
		break; 

	case 3: printf("Ensamblando codigo intermedio...\n");	      
        	sprintf(comando, "ensamblador %s", fich);
		system(comando);
		break;

	case 4: printf("Desea interpretar el programa paso a paso (S/N)?: ");
        	scanf("%s", resp);
		if (strcmp(resp, "S") == 0)
	          sprintf(comando, "maquinap %s -t", fich);
        	else if (strcmp(resp, "N") == 0)
	          sprintf(comando, "maquinap %s", fich);	
		else printf("Error en la respuesta, se interpretara el programa de una vez\n");		
        	printf("Interpretando el fichero...\n"); 

        	system(comando);
        	break;	  

	case 5: fclose(f);
        	printf("Introduzca el nombre del fichero fuente Pascual con el que desea trabajar (sin extension .pc): ");
        	scanf("%s", &fich);
        	strcpy (namein, fich);
        	strcat (namein, ".pc");
        	f = fopen (namein, "r");     
		break; 

	case 6: sprintf(comando, "pascual %s", fich);
        	resultado = system(comando);
		if (resultado == 0)
		{
		  printf("\n");
		  sprintf(comando, "ensamblador %s", fich);
		  system(comando);
		  printf("\n");
		  if (resultado == 0)
		  {
	            printf("Interpretando el programa...\n");
	            sprintf(comando, "maquinap %s", fich);
		    system(comando);
		  }
		  else fprintf(stderr, "Ha habido errores al ensamblar el codigo intermedio, abortando el proceso\n");
		}  
		else
		{
		  fprintf(stderr, "Ha habido errores al compilar el fuente, abortando el proceso\n");
		}
		break;	      

      }    
    }

    fclose(f);  
  }
  else if (argc == 2)
  {
    strcpy (namein, argv[1]);
    strcpy (fich, namein);
    strcat (fich, ".pc");
    f = fopen (fich, "r");
    
    if (f == NULL) {
      fprintf (stderr, "El fichero %s no existe\n", fich);
      exit (-1);
    }
    
    sprintf(comando, "pascual %s", namein);
    system(comando);
    if (resultado == 0)
    {
      printf("\n");
      sprintf(comando, "ensamblador %s", namein);
      system(comando);
      printf("\n");
      if (resultado == 0)
      {
	printf("Interpretando el programa...\n");
	sprintf(comando, "maquinap %s", namein);
	system(comando);
      }
      else fprintf(stderr, "Ha habido errores al ensamblar el codigo intermedio, abortando el proceso\n");
    }  
    else
    {
      fprintf(stderr, "Ha habido errores al compilar el fuente, abortando el proceso\n");
    }
    fclose(f);		
  }  
  else
  {
    fprintf(stderr, "Numero de argumentos incorrecto\n");
    fprintf(stderr, "Uso 1: app fuente (sin extension .pc)\n");
    fprintf(stderr, "Uso 2: app\n");
    exit (-1);
  }
}