IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

quelques questions


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 256
    Par défaut quelques questions
    Bonsoir,


    je me pose quelques questions en C: comment quitter un programme (en ligne de commande) sans fermer la fenetre d'execution sous dos et linux (par une touche par exemple), et comment determiner le temps d'execution de sous programmes (inclus dans le programme principal)?



    Merci de me conseiller si vous savez !

    sincerement;

  2. #2
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut Re: quelques questions
    Citation Envoyé par 123quatre
    comment quitter un programme (en ligne de commande) sans fermer la fenetre d'execution sous dos et linux (par une touche par exemple)
    Comprends pas ce que tu veux faire.
    Si tu lance le prog a partir d'un terminal/Invite de commande il ne se ferme pas

    Citation Envoyé par 123quatre
    , et comment determiner le temps d'execution de sous programmes (inclus dans le programme principal)?
    Par sous-programme je comprends fonction.
    Au debut de la fonction un petit coup de la fonction time
    http://man.developpez.com/man2/time.2.php
    à la fin aussi et on fait la soutraction des 2 resultat et on l'affiche

  3. #3
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    Pour ta première question, je suppose que tu as le truc suivant :
    - sous windows tu exécutes ton programme et une fois terminé, la fenêtre se ferme.

    Dans ce cas, rajoute la ligne suivante à la fin de ta fonction main (juste avant le return) :

    Ainsi tu auras un message t'indiquant d'appuyer sur une touche pour quitter la fenêtre.

    Sous linus, il n'y a aucun souci puisque tu lances ton programme en ligne de commande, une fois celui ci terminé, le shell reprend la main donc la fenêtre ne se ferme pas.

    Pour le temps, tu peux utiliser time, aussi clock, et si tu veux être encore plus précis :

    http://haypo.developpez.com/article/frequence_cpu/

    Mais saches que si c'est pour mesurer les performances de ton programme, ce n'est pas une bonne idée, en effet si tu veux réelement savoir les performances de ton programme (ou de ta fonction) il te faut faire une petite étude de complexité.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 256
    Par défaut
    Bonjour,


    En fait, je cherchais une astuce du style: tant que l'utilisateur n'a pas appuyé que Echap (de son clavier), le programme tourne. Sinon on tue le programme. Ou alors sous linux y a la commande ctrl+c, je cherchais l'équivalence sous WINdows.

    Pour mieux comprendre mon pb, mon programme permet d'executer plusieurs tâches (sous-programmes) (factoriser des nombres, trouvers ses diviseurs etc), l'utilisateur choisi un chiffre (1 pour factoriser 2 pour diviseurs etc). Une fois que l'utilisateur a terminé une tâche je lui représente le menu et il recommence. S'il veut quitter le prog sous linux, il fait un ctrl+c et sous windows?
    Le system("pause); ne convient pas.

    Et je souhaitais évaluer la complexité de chaque sous-programme.


    merci pour vos liens

    sincèrement;

  5. #5
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Citation Envoyé par 123quatre
    Bonjour,


    En fait, je cherchais une astuce du style: tant que l'utilisateur n'a pas appuyé que Echap (de son clavier), le programme tourne. Sinon on tue le programme. Ou alors sous linux y a la commande ctrl+c, je cherchais l'équivalence sous dos.

    Pour mieux comprendre mon pb, mon programme permet d'executer plusieurs tâches (sous-programmes) (factoriser des nombres, trouvers ses diviseurs etc), l'utilisateur choisi un chiffre (1 pour factoriser 2 pour diviseurs etc). Une fois que l'utilisateur a terminé une tâche je lui représente le menu et il recommence. S'il veut quitter le prog sous linux, il fait un ctrl+c et sous dos?
    Le system("pause); ne convient pas.

    Et je souhaitais évaluer la complexité de chaque sous-programme.


    merci pour vos liens

    sincèrement;
    Sous Dos ben Ctrl+Z
    Mais faut le lancer a partir de l'invite de commande

    Pour evaluer le temps que prend tes fonctions ke t'ai dis d'utiliser la fonction time, mais en fait utilise plutot la fonction clock()
    man clock

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 256
    Par défaut
    escusez moi vous n'avez pas vu corrigée mon erreur, c'est sous windows que je travaille. Donc jai une fenêtre msdos qui s'affiche et quand je ferme la fenêtre, windows me signal un avertissement.


    En fait, je cherchais une astuce du style: tant que l'utilisateur n'a pas appuyé que Echap (de son clavier), le programme tourne. Sinon on tue le programme. Ou alors sous linux y a la commande ctrl+c, je cherchais l'équivalence sous WINdows.
    [/quote]

  7. #7
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    En fait tu voudrais quitter ton programme en cours d'éxécution. Et bien il me semble que sous linux oiu windows c'est la même chose non ? Ctrl+C . Qi ça marche pas sous windows essaie un Ctrl + Q, sinon, il faudrait que tu fasse une sorte de boucle evenementielle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    while(1)
    {
         detecter_touche();
         si touche == echap alors
              quitter
         sinon, effectuer une nouvelle action
    }
    Alors là, il faudrait que tes sous fonctions réalisent des itérations contrôlables (en gros tu effectues un tour de boucle à chaque appel à tes fonctions).

    Ca n'est pas très propre et je ne sais pas si celà te conviendrai (d'ailleur je ne crois pas mais bon ...)

    En fait, tu quittes tes programmes par des commandes du système (Ctrl+C), ce n'est pas du C en soi.

    Pour tes problèmes de complexité, si c'est la complexité que tu cherches, il te faut un papier et un crayon ...

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    256
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 256
    Par défaut
    Bonjour,

    merci beaucoup pour vos réponses !

Discussions similaires

  1. Quelques question sur Win 32 Appli
    Par lvdnono dans le forum Windows
    Réponses: 5
    Dernier message: 15/06/2004, 12h37
  2. [Débutant]Quelques questions de principe sur l'API win32
    Par silver_dragoon dans le forum Windows
    Réponses: 4
    Dernier message: 19/03/2004, 18h38
  3. [install]Install sous windows... quelques questions
    Par omega dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/02/2004, 09h50
  4. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo