Consultas, desarrollo de programas y petición de presupuestos:

jueves, 12 de julio de 2012

solucion 6: alumno


#include <string.h>
#include <stdio.h>
#include <stdlib.h>

void presentar_calendario();
void relleno_tareas();
void relleno_tareas_diarias();
void presentar_menu();
void anadir();
void editar();
void rehacer_pantalla(int muestra);
void annadir_tarea_diaria();


int main(int argc, char **argv) {
    int op = 1;
    char entrada_texto[10];
    char cadena[20];
    int muestra = 1;            // tareas: periodo 1, dia 0
    char otrotexto[20]; //
   
    rehacer_pantalla(muestra);

    while (op != 0) {
        op = atoi(gets(entrada_texto));
        if (op == 1) {
            anadir();
            rehacer_pantalla(muestra);
        } else if (op == 2) {
            annadir_tarea_diaria();
            rehacer_pantalla(muestra);
        } else if (op == 4) {
            if (muestra == 1) {
                muestra = 0;

            } else
                muestra = 1;
            rehacer_pantalla(muestra);
        }
       
        //borrar tarea diaria
        if (op==3) {
           
            printf("Numero: ");
            strcpy(otrotexto, gets(cadena));
            //sprintf("atrm %s",otrotexto);
            //printf("lo que va a ejecutar es: atrm %s",otrotexto);
            sprintf(cadena,"atrm %s",otrotexto);
            printf("%s",cadena);
            system(cadena);
            rehacer_pantalla(0);
        }
       
        if (op == 9) {
            op = 0;
        } else {
            op = 10;
        }

    }
    system("clear");
    system("echo Fin del programa");
//  printf("\033[40;0H");
    return 0;
}

void presentar_calendario() {
    int c = 0;
    FILE *pf;
    char texto[255];
    char *p;
    p = texto;
    pf = popen("cal", "r");
    printf("\033[47m\033[34m\033[0;550H");
    fgets(texto, 80, pf);
    c++;
    while (!feof(pf)) {
        printf("\033[47m\033[34m\033[0%d;55H", c);
        printf("%21s\033[0m", texto);
        fgets(texto, 80, pf);
        c++;
    }
    pclose(pf);

    pf = popen("date +\"%A %d %B %Y\" ", "r");
    fgets(texto, 80, pf);
    c++;
    while (!feof(pf)) {

        printf("\033[1;1HFecha: %s", texto);
        fgets(texto, 80, pf);
        c++;
    }
    pclose(pf);
}




void relleno_tareas() {

    printf("\033[11;1H\033[47m\033[32m                    Listas de Tareas Programas  Periodicas                  \033[0m\n");
    int c = 0;
    FILE *pf;
    char texto[255];
    char *p;
    p = texto;
    pf = popen("crontab -l", "r");
    //printf("\033[47m\033[34m\033[0;550H" );
    fgets(texto, 80, pf);
    c++;
    while (!feof(pf)) {
        //printf("\033[47m\033[34m\033[0%d;55H",c );
        //printf("%s\033[0m",texto);
        printf("%2d:%s", c, texto);
        fgets(texto, 200, pf);
        c++;
    }
    pclose(pf);
}

void presentar_menu() {

    printf("\033[47m\033[1;35m\033[2;0H       Menu:      \033[0m\n");
    printf("\033[3;0H9)Salir del programa\n");
    printf("\033[4;0H1)Editar crontab.txt con nano para tareas periodicas\n ");
    printf("\033[5;0H2)Añadir tarea del dia\n");
    printf("\033[6;0H3)Borrar tarea del dia\n");
    printf("\033[7;0H4)Mostrar tareas Periodicas/Diarias");
    printf("\033[9;0HNúmero de la opción:           ");
    printf("\033[9;21H");



}

void anadir() {
    system("nano ~/.calendar/crontab.txt"); // edito crontab
    system("crontab ~/.calendar/crontab.txt"); //actualizo mi crom
}


void annadir_tarea_diaria() {
    char hora[40];
    char minutos[40];


    char entrada_texto[200];
    char cadena[500];
    char cadena_ejemplo[400];


    system("clear");
    printf("Introduce tarea del dia:\n");
    printf("Hora:");
    strcpy(hora, gets(entrada_texto));
    printf("\nMinutos:");
    strcpy(minutos, gets(entrada_texto));
    sprintf(cadena, "at %s:%s", hora, minutos);
   
    printf("\nEjemplo de notificación:\n");
    sprintf(cadena_ejemplo,"notify-send \"hola\" -i /usr/share/pixmaps/gnome-home.png ");
     printf("%s\n",cadena_ejemplo);
    printf("\n Para salir pulse Crtl+D \n");
   
    // ejecuto el comando at hora: minutos   
    system(cadena);
    //salida ordenada
    printf("\n");
    printf("\n");
    printf("Pulse una tecla\n");
    gets(entrada_texto);



}

void rehacer_pantalla(muestra) {
    int resp;
    resp = system("clear");
    presentar_calendario();
    if (muestra == 1) {
        relleno_tareas();
    } else {
        relleno_tareas_diarias();
    }
    presentar_menu();
}


void relleno_tareas_diarias() {

    printf("\033[11;1H\033[47m\033[35m                    Listas de Tareas Diarias                                \033[0m\n");
    int c = 0;
    FILE *pf;
    char texto[255];
    char *p;
    p = texto;
    pf = popen("atq", "r");

    fgets(texto, 80, pf);
    c++;
    while (!feof(pf)) {
        printf("%2d:%s", c, texto);
        fgets(texto, 80, pf);
        c++;
    }
    pclose(pf);


}


No hay comentarios:

Publicar un comentario