Soyez le premier à donner votre avis sur cette source.
Vue 9 299 fois - Téléchargée 664 fois
#include <windows.h> #include <string.h> #include <stdio.h> #include <conio.h> #include <stdlib.h> //Extinction et redemarrage d'un moniteur aux heures définit. //Pour plus d'information sur ce code : kindlyss@hotmail.com int main(int argc, char *argv[]) { long rep; //Reponse boucle operateur long h1,m1,s1; long h2,m2,s2; long h3,m3,s3; long somme1,somme2,somme3; long hte,mte,ste; long htr,mtr,str; long total,total1; long ext,red; //Variable de du temps avant l'extinction et avant le redemarrage do/*boucle opérateur*/ { // DEB PROGRAMME------------------------------------------------------------------------ printf(" --------------------------------------------"); printf("\n| Logiciel Moniteur : OFF/ON |"); printf("\n --------------------------------------------"); h1=0,m1=0,s1=0; //Heure actuel printf("\n\nQuel heure est-il ? [Format HH/MM/SS] : "); scanf("%ld/%ld/%ld",&h1,&m1,&s1); somme1=3600*h1; somme1=somme1+(60*m1); somme1=somme1+s1; printf("\nIl est donc %ldh %ldm et %lds",h1,m1,s1); h2=0,m2=0,s2; //heure d'extinction des moniteurs printf("\n\nA quel heure voulez-vous eteindre les moniteurs ? [Format HH/MM/SS] : "); scanf("%ld/%ld/%ld",&h2,&m2,&s2); somme2=3600*h2; somme2=somme2+(60*m2); somme2=somme2+s2; printf("\nVous voulez donc eteindre les moniteurs a %ldh %ldm et %lds",h2,m2,s2); h3=0,m3=0,s3; //heure de redemarrage des moniteurs printf("\n\nA quel heure voulez-vous redemarrer les moniteurs ? [Format HH/MM/SS] : "); scanf("%ld/%ld/%ld",&h3,&m3,&s3); somme3=3600*h3; somme3=somme3+(60*m3); somme3=somme3+s3; printf("\nVous voulez donc redemarrer les moniteurs a %ldh %ldm et %lds",h3,m3,s3); Sleep(2000); //temps avant extinction des moniteurs total=0; total=somme1-somme2; if (total < 0) total = total * (-1); ext=total*1000; /*heure*/ hte=0; while(total>=3600) { total=total-3600; hte=hte+1; } /*minutes*/ mte=0; while (total>=60) { total=total-60; mte=mte+1; } /*secondes*/ ste=total; //temps avant redemarrage des moniteurs total1=0; total1=somme2-somme3; if (total1 < 0) total1 = total1 * (-1); red=total1*1000; /*heure*/ htr=0; while(total1>=3600) { total1=total1-3600; htr=htr+1; } /*minutes*/ mtr=0; while (total1>=60) { total1=total1-60; mtr=mtr+1; } /*secondes*/ str=total1; /*affichage*/ printf("\n\n------------------------------------------------"); printf("\n------------------------------------------------"); printf("\n\nL'extinction des moniteurs sera effectif dans: %ldh %ldmin %ldsec",hte,mte,ste); printf("\n\nLes ecrans redemarreront %ldh %ldmin %ldsec apres l'extinction",htr,mtr,str); printf("\n\n------------------------------------------------"); printf("\n------------------------------------------------"); /*------- Extinction ----------*/ Sleep(ext); //Temps avant extinction SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) 2); //donne l'instrution pour éteindre le moniteur /*------- Redemarrage ----------*/ Sleep(red); //temp avant redemarrage SendMessage(HWND_BROADCAST, WM_SYSCOMMAND, SC_MONITORPOWER, (LPARAM) -1); //donne l'instrution pour rallumer le moniteur // FIN PROGRAMME------------------------------------------------------------------------ do /*boucle opérateur reponse*/ { printf("\n\n\nVoulez-vous recommencer ? OUI (o) ou NON (n):"); rep=getche(); }while (( rep!='o') && ( rep!='n' )); }while (rep!='n'); /*boucle opérateur sortie*/ }
merci pour votre liens,je suis en stage et puis je dois faire un programm qui met le pc en veille et puis redémarrer le pc et puis calculé lŽenergie grace a un appareil relier en port com au pc.est ce que vous pouvez mŽaidé?
merci
1. Pourquoi ne pas récupérer l'heure de l'ordinateur, plutot que de le demander ?
2. La fonction sleep est 'blocante' pour le thread. Il serait sympa de prévoir un moyen de sortie normale du programme pendant son fonctionnement.
C'est tout pour le moment.
je suis qu cyber et sa ma ete utile
je te remercie grave
Pareil pour le 10 ;)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.