void main(){
  
  DWORD pid = (DWORD)GetCurrentProcessId();
  consola("Creando el archivo... ");
  consola(file);
  consola("\n");
  queHoraes();

#ifdef DEBUG
  /* printf(hora); */
  /* LO QUE DEBO DE HACER ES IMPRIMIR ALGUN NUMERO EN UN ARCHIVO */
  printf("\nEl PID de este proceso es : %d", pid);
  //escribirArchivo(file,"\nEstoy tratando de escribir un numero");
  printf("\nConviertiendolo a string quedo asi : %s", bufferStrings);
  printf("\nQuiero escribir este numero %d", pid);
  /* escribirArchivo(file,(char *)numero); */
  /* printf("La hora del sistema es: %02d:%02d\n", st.wHour, st.wMinute); */
  /* printf("La hora local es: %02d:%02d\n", lt.wHour, lt.wMinute); */
#endif
  escribirArchivo(file,"\n PID: ");
  pasarIntegeraString(bufferStrings, pid); 
  escribirArchivo(file, bufferStrings); 
}
示例#2
0
int main(void) {

	leerArchivoConfiguracion("configPlanificador");
	crearArchivoLog();

	listenningSocket = Escuchar(PUERTO_ESCUCHA);
	socketCPU = Aceptar(listenningSocket);
	Enviar(socketCPU, "BIENVENIDO A PLANIFICADOR");

	consola();

	Desconectar(listenningSocket);
	Desconectar(socketCPU);

	return EXIT_SUCCESS;
}
示例#3
0
文件: main.c 项目: ZtuX/zPAT
int main(){
    char * razonamiento = NULL;
    //PILA DONDE SE ALMACENARÁN LAS OPERACIONES A RESOLVER
    pNode primero = NULL, ultimo=NULL;
    int vFlag = 1; //Bandera que verifica si un razonamiento es valido o no
    int validez, invalidos=0, validos=0, total=0, Bool=1;
    int cuenta=0; //
    int verific=0, z=0, contadorValidos=0; //Funciona como bandera para verificar
    char * razonamientoEnCola; //Variable que saca un razonamiento de la cola
    char ** rCola; //Mostrara el razonamiento que esta en la cola
    char * rInvalido = NULL, **rInvalidoAux=NULL; //Para mostrar el ultimo razonamiento invalido

    //VARIABLE QUE SEPARAMOS EN ANTECEDENTE Y CONSECUENTE EL RAZONAMIENTO AUXILIAR PARA
    //MOSTRARLO EN PANTALLA AL FINAL
    char ** rAux;
    char ** rAux2;
    char ** comas; //Contendra todos los razonamientos separados con comas
    //Variables para la verificacion de la cadena:
    char * aParentesis=NULL;
    int parentesisValidos=0, cadenaValidaA=0, cadenaValidaB=0;

    printf("==================================================\n");
    printf("\tPrueba Automatica de Teoremas (PAT)\n");
    printf("==================================================\n");
    simbologia();
    printf("Para mostrar la ayuda escriba el comando \"a\" o \"ayuda\"\n");
    printf("\nIntroduce el razonamiento a verificar:\n");

    while(Bool==1){
        //MENU
        consola(cuenta);
        //INGRESAR LA CADENA
        razonamiento = readString();
        rAux = split(razonamiento,"="); //Para verificar
        rAux2 = split(razonamiento,"=");//Para mostrar
        //Si es un comando
        if(esComando(razonamiento)==1){
            if(strncmp("s",razonamiento,1)==0 || strncmp("salir",razonamiento,5)==0){
                //printf("[-] Saliendo del programa\n");
                Bool = 0;
            }
            else if(strncmp("a",razonamiento,1)==0 || strncmp("ayuda",razonamiento,5)==0){
                mostrarAyuda();
            }
            else if(strncmp("i",razonamiento,1)==0 || strncmp("invalido",razonamiento,8)==0){
                if(rInvalido!=NULL){
                    rInvalidoAux = split(rInvalido,"=");
                    printf("[+] Ultimo razonamiento invalido\n");
                    mostrarRazonamiento(rInvalidoAux[0],rInvalidoAux[1]);
                }else{
                    printf("[!] No existe algun razonamiento invalido\n");
                }
            }
            else if(strncmp("l",razonamiento,1)==0 || strncmp("limpiar",razonamiento,7)==0){
                system("clear");
            }
            else if(strncmp("v",razonamiento,1)==0 || strncmp("version",razonamiento,7)==0){
                version();
 	    }
        }
        else if(stringArraySize(rAux)<2){
                printf("[Error] Falta el operador '=>'\n");
        }else if (stringArraySize(rAux)>2){
            printf("[Error] El operador '=>' encontrado mas de una vez\n");
        }
        else{
            //Eliminar espacios en blanco de la expresión
            quitarEspaciosBlanco(razonamiento);
            //Pasamos a minusculas el razonamiento
            strlwr(razonamiento);

            //Verificamos la cadena (Parentesis)
            aParentesis = obtenerParentesis(razonamiento);
            parentesisValidos = verificaParentesis(aParentesis);
            if(parentesisValidos==0){
                printf("[Error] Razonamiento no valido: Parentesis no validos\n");
            }

            //Para verificar el antecedente y el consecuente
            strlwr(rAux[0]);
            strlwr(rAux[1]);
            quitarEspaciosBlanco(rAux[0]); //Quita espacios en blanco de antecedente
            quitarEspaciosBlanco(rAux[1]); //Quita espacios en blanco de consecuente

            comas = split(rAux[0],",");
            for(verific=0;verific<stringArraySize(comas);verific++){
                z = verificaCadena(comas[verific]);
                if(z==1) contadorValidos++;
            }
            if(contadorValidos==stringArraySize(comas)){
                //Si son iguales quiere decir queno hay errores
                cadenaValidaA=1;
            }else{
                printf("[Error] Razonamiento no valido: Error de sintaxis en el Antecedente\n");
                cadenaValidaA=0;
            }

            comas = split(rAux[1],",");
            contadorValidos =0;
            for(verific=0;verific<stringArraySize(comas);verific++){
                z = verificaCadena(comas[verific]);
                if(z==1) contadorValidos++;
            }
            if(contadorValidos==stringArraySize(comas)){
                //Si son iguales quiere decir queno hay errores
                cadenaValidaB=1;
            }else{
                printf("[Error] Razonamiento no valido: Error de sintaxis en el Consecuente\n");
                cadenaValidaB=0;
            }

            //Si no hay errores entonces hace el procedimiento
            if(parentesisValidos==1 && cadenaValidaA==1 && cadenaValidaB==1){
                //AGREGAMOS A LA COLA EL RAZONAIENTO INGRESADO
                add(&primero,&ultimo,razonamiento);
                //LEEMOS EL RAZONAMIENTO INGRESADO DE LA COLA
                razonamientoEnCola = read(&primero,&ultimo);

                //MIENTRAS QUE EXISTAN RAZONAMIENTOS:
                do{
                    validez = PAT(razonamientoEnCola,&primero,&ultimo);
                    if(validez!=0){
                        //Mientras sea valido el razonamiento
                        razonamientoEnCola = read(&primero,&ultimo);
                        if(razonamientoEnCola!=NULL){
                            rCola = split(razonamientoEnCola,"=");
                            printf("\n[+] Analizando el siguiente razonamiento en espera: %s => %s \n",rCola[0],rCola[1]);
                        }
                        vFlag = 1;
                    }else{
                        //Si existe algun razonamiento invalido lo copiamos a rInvalido
                        rInvalido = (char*)calloc(strlen(razonamientoEnCola)+1,sizeof(char));
                        strncpy(rInvalido,razonamientoEnCola,strlen(razonamientoEnCola)+1);
                        vFlag = 0;
                        break;
                    }
                }while(razonamientoEnCola!=NULL);
                if (vFlag == 1){
                    printf("\n[VALIDO] El Razonamiento : %s => %s es valido\n\n",rAux2[0],rAux2[1]);
                    return 0;
                }else{
                    printf("\n[INVALIDO] El Razonamiento : %s => %s es invalido\n\n",rAux2[0],rAux2[1]);
                    return 0;
                }
                //VACIAMOS LA COLA
                primero=ultimo=NULL;
            }
        }
        cuenta++;
        verific=0, z=0, contadorValidos=0; //Resetamos las banderas
        parentesisValidos=0;
    }
    return 0;
}
示例#4
0
int main(int argc, char** argv) 
{
    LineaComando lineaComando(argc, argv);
    Consola consola(&lineaComando);
    return 0;
}