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);
}
Suscribirse a:
Enviar comentarios (Atom)
No hay comentarios:
Publicar un comentario