dimecuandotermino.c

Código

Invitado al 9º Encuentro Internacional de Arte de Acción de Caudete, realizo en septiembre de 2012, un pequeño esbozo de lo que será esta acción casi programable, un diagrama de flujo que relacione la programación con la performance, incluso, escribo un programa que pueda hacer la performance. La acción a realizar es lo de menos. Supongamos que son varias.


/****************************************************************************
	Performance "Dime Cuando Termino" (escrito en C)
	Pensada en Vera, Almería, en Julio de 2012.
	Programada por Giusseppe Domínguez
	el día 14 de septiembre de 2012 en Madrid.
	Se realizará por primera vez (única) en Caudete
	9º Encuentro Internacional de Arte de Acción y Performance.
****************************************************************************/
#define AUTOR "Giusseppe Domínguez"
#include <stdio.h>
#include <string.h>
#include <time.h>

int realizar_accion(char *accion);
int saludo(char *titulo_performance);
int firma();

main()
{
	char titulo_performance[]= {"Dime Cuando Termino"};
	char *acciones[]= {"caminar", "pelar almendras", "beber agua", "escupir", "tirar una piedra", "encender una cerilla", "arrancar una hoja de un libro"};
	int numero_de_acciones=strlen(*acciones);
	int indice_accion;
	int dime_cuando_termino=0;
	int cuando_termino=1;

	saludo(titulo_performance);

	while (dime_cuando_termino == 0) {
		for (indice_accion=0; indice_accion<numero_de_acciones; indice_accion++) {
			realizar_accion(acciones[indice_accion]);
		}
		printf("\n\n%s\n", titulo_performance);

		if (scanf("%d", &dime_cuando_termino) != 1){
   			/* manejo de error */
			printf("\nEn la versión de programa informático, solo se aceptan números. Son las reglas.");
			printf("\n%s: Requiere un 0 o un 1", titulo_performance);
			printf("\nEn la versión de arte=vida, comienza la incertidumbre.");
			dime_cuando_termino=1; /* Se termina la acción, de alguna manera brusca. */
		}
		if (dime_cuando_termino!=cuando_termino) {
			printf("\nMuchas gracias.\n");
			saludo(titulo_performance);
			printf("\nContinúa la acción.\n");
			dime_cuando_termino=0;
		}
	}

	firma();
}

int realizar_accion(char *accion)
{
	printf("\n%s", accion);
	return 0;
}


int saludo(char *titulo_performance)
{
    printf("\nHola. Me llamo %s, y la Acción se titula %s\n\n", AUTOR, titulo_performance);
	return 0;
}

int firma()
{
    time_t tiempo = time(0);
    struct tm *tiempolocal = localtime(&tiempo);
    char txt_firma[128];
    strftime(txt_firma,128,"\na las %H:%M. M-%Y%m%d\n", tiempolocal);
    printf("\n\n%s, %s\n", AUTOR, txt_firma);
	return 0;
}

4estaciones.c

Ejecución

Una salida posible de este programa "interactivo" es la siguiente:

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino

Muchas gracias.

Hola. Me llamo Giusseppe Domínguez, y la Acción se titula Dime Cuando Termino


Continúa la acción.

caminar
pelar almendras
beber agua
escupir
tirar una piedra
encender una cerilla
arrancar una hoja de un libro

Dime Cuando Termino


Giusseppe Domínguez, 
a las 13:28. M-20120914