Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Programa para apagar pc con tiempo

Estas en el tema de Programa para apagar pc con tiempo en el foro de C/C++ en Foros del Web. Hola, estoy empezando a programar en C y quería hacer un programa para apagar el equipo en un tiempo que yo le indicaría, pero algo ...
  #1 (permalink)  
Antiguo 01/11/2011, 07:05
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 11 meses
Puntos: 0
Pregunta Programa para apagar pc con tiempo

Hola, estoy empezando a programar en C y quería hacer un programa para apagar el equipo en un tiempo que yo le indicaría, pero algo estoy haciendo mal y no sé lo que es.
Me gustaría que me dijeseis el problema.
Gracias ;D

Código C:
Ver original
  1. //--------------------------------------------------------------|
  2. //  Autor:                      José Luis García de la Fuente   |
  3. //                                2º DPE - T. de Programación   |
  4. //                                                              |
  5. //  Fecha:                                           01/11/11   |
  6. //                                                              |
  7. //  Programa para apagar el ordenador en un tiempo especificado |
  8. //--------------------------------------------------------------|
  9.  
  10. #include <conio.h>
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13.  
  14. main()
  15.     {
  16.     int     horas, minutos, segundos, tiempo;
  17.    
  18.     printf("Horas:\t\t");
  19.     scanf("%i", &horas);
  20.    
  21.     printf("Minutos:\t");
  22.     scanf("%i", &minutos);
  23.    
  24.     printf("Segundos:\t");
  25.     scanf("%i", &segundos);
  26.    
  27.     tiempo = (horas*3600)+(minutos*60)+(segundos*1);
  28.     system("shutdown -a");
  29.     system("shutdown -s -f -t %i", tiempo);
  30.     printf("El equipo se apagara en %i horas, %i minutos y %i segundos.\n\n", horas, minutos, segundos);
  31.    
  32.     system("pause");
  33.     }
  #2 (permalink)  
Antiguo 01/11/2011, 08:54
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Programa para apagar pc con tiempo

seguro que el comando ese es el correcto? Purebalo en la consola, y mira tambien los permisos.

En el printf los numeros salen correctos??
  #3 (permalink)  
Antiguo 01/11/2011, 09:02
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Programa para apagar pc con tiempo

Sí, es correcto así. Tenía hecho un .BAT (lo muestro abajo) que hacía lo mismo.
Supongo que no se podrá poner el %i en system, pero es que no sé otro método :(
Código APAGAR.BAT:
Ver original
  1. @ECHO OFF
  2. REM Programa hecho para apagar el pc en unos minutos
  3. shutdown -a
  4. set /a segundos=%3
  5. set /a minutos=%2 * 60
  6. set /a horas=%1 * 3600
  7. set /a total= %horas% + %minutos% + %segundos%
  8. shutdown -s -f -t %total%
  9. ECHO.
  10. ECHO.
  11. ECHO El ordenador se apagara en %1 h. %2 m. y %3 s.
  12. ECHO.
  13. ECHO.
  14. ECHO Pulsa cualquier tecla para salir
  15. pause > nul
  16. exit
  #4 (permalink)  
Antiguo 01/11/2011, 10:25
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años
Puntos: 228
Respuesta: Programa para apagar pc con tiempo

A es verdad, no funciona eso... tenes que usar un sprintf para formatear la cadena y despues pasarla al system

Código C:
Ver original
  1. char buffer[200];
  2. sprintf(buffer,"shutdown -s -f -t %i",tiempo);
  3. system(buffer);
  #5 (permalink)  
Antiguo 01/11/2011, 11:05
 
Fecha de Ingreso: junio-2010
Mensajes: 10
Antigüedad: 13 años, 11 meses
Puntos: 0
Respuesta: Programa para apagar pc con tiempo

Problema resuelto, gracias ;D

Etiquetas: pc, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:10.