Programmation en C

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

j'ai fait un programme pour eteindre l'ordi (avec la fonction "system")mais quand je demande au programme d'eteindre l'ordi, il y a une fenetre avec marqué : "le système s'arretera dans moins d'une minute" mais moi je veux qu'il n'y ai rien marqué quand je demande d'areté l'ordi

code :

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

int menu(int choixDuMenu);

int main()
{
int choixMenu = 0;

choixMenu = menu(choixMenu);

if(choixMenu == 1)
{
system("shutdown -h");
}

if(choixMenu == 2)
{
system("shutdown -r");
}

return 0;
}

int menu(int choixDuMenu)
{
printf("1. Eteindre l'ordinateur\n");
printf("2. Redemarrer l'ordinateur\n\n");
printf("Votre Choix : ");
scanf("%d", &choixDuMenu);
return choixDuMenu;
}

ps : il me dit pareil quand je demande de redemarrer l'ordi

4 réponses

  1. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
     
    c'est une sécurité pour laisser le temps aux programmes de se fermer avant l'extinction totale du PC.
    1
    1. Utilisateur anonyme
       
      ok donc je ne peux pas enlever la securité ?
      0
    2. Le Dodo Messages postés 2307 Date d'inscription   Statut Membre Dernière intervention   247
       
      je sais pas. je sais qu'il y a une sécurité, mais je sais pas comment l'enlever. Il y a toujours un moyen de l'enlever, mais je sais pas lequel.
      0
  2. ouaf Messages postés 111 Statut Membre 15
     
    La fonction système envoie les paramètres du programme dans la même chaîne de caractères, donc s'il y avait une option permettant de régler le délai il faut fabriquer une chaine de caractères adaptée du style system("shutdown -t -ms"); fabriquée dynamiquement en écrivant dans un tableau ;) Il n'est pas possible il me semble d'envoyer des variables a la fonction system() surtout que ta variable est dans une chaine de caractères, donc le compilateur ne voit pas le %d et plante a delai ;)
    1
    1. Utilisateur anonyme
       
      merci je vais essayé sa
      0
  3. Utilisateur anonyme
     
    aussi j'ai rajouter ce bout de code mais il ne marche pas (il veut pas le compiler) :

    if(choixMenu == 3)
    {
    int delai = 0;

    do
    {
    printf("Entrez le nombre de secondes avant l'extinction (entre 0 et 600) : ");
    scanf("%d", &delai);
    if(delai < 0 || delai > 600)
    {
    printf("Entrez un nombre entre 0 et 600\n\n");
    }
    }while(delai < 0 || delai > 600);

    system("shutdown -t %d", delai);
    }

    donc sa bloque au niveau de la fonction system
    ya t'il une solution ?
    0
  4. abacab
     
    Impossible comme cela car vous appelez la fonction windows d'arret. Donc, sa fonctionne. Il faut se substituer a windows pour obtenir l'effet recherché. si vous souhaitez réaliser des logiciels personnels, vous avez peut-être une solution avec le langage Nox.
    0
    1. Utilisateur anonyme
       
      ok mais le langage Nox n'a rien a voir avec le C ?
      0