Example #1
0
File: tp1.c Project: wizzard94/TP1
/* Cerrar ciclo de votacion y procesar resultados */
bool comando_votar_fin(maquina_votacion_t* maquina) {
    #ifdef DEBUG
    printf("Comando votar fin ejecutado \n");
    #endif

    if(maquina->estado < ABIERTA)
        return error_manager(MESA_CERRADA);

    if(maquina->estado < VOTACION)
        return error_manager(OTRO);

    if(maquina->votando_cargo < FIN)
        return error_manager(FALTA_VOTAR);

    while(!pila_esta_vacia(maquina->ciclo))
    {
        voto_t* voto = pila_desapilar(maquina->ciclo);
        lista_iterar(maquina->listas, votar_partido, voto);
        destruir_voto(voto);
    }

    // Reset de variables.
    #ifdef DEBUG
    if(pila_esta_vacia(maquina->ciclo)) printf("Pila vacia\n");
    #endif
    pila_destruir(maquina->ciclo, free);
    maquina->ciclo = NULL;
    maquina->estado = ABIERTA;

    return true;
}
int listar_inscriptos(char* idc, base_t* basedatos){
    int pos = existe_curso(idc,basedatos->listadecursos);
    if (pos==-1) return -1;
    curso_t* curso = conseguir_curso(idc,basedatos->listadecursos);
    int regularocondicional = curso->vacantes;
    lista_iterar(curso->inscriptos,(funcioniterador)&imprimir_inscripto,(void*)&regularocondicional);
    return 0;
}
Example #3
0
File: tp1.c Project: wizzard94/TP1
/* Formatear y mostrar menu de votacion */
void mostrar_menu_votacion(maquina_votacion_t* maquina) {
    int votando = maquina->votando_cargo;
    printf("Cargo: %s\n", CARGOS[votando]);
    lista_iterar(maquina->listas, imprimir_cargo, &votando);
}