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 :

Pauses dans mon programme


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Pauses dans mon programme
    Salut, j'ai écrit un programme qui affiche les dix tables de multiplications (de 0 à 10). Mon problème est que l'affichage étant long, ne permet pas de voir les premieres tables. J'aimerais mettre une instruction pour que le programme s'affiche par écran et passe à l'écran suivant si l'utilisateur tape une touche quelconque du clavier. Comment dois-je faire?

  2. #2
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Salut ....moi personnellement voila ce que je ferai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ....
    #include<conio.h>  /* ou alors  conio2.h >>> sourceforge.net */
    ....
    int i;
     
    for(i=0;i<10;i++)
    {
         affiche_TM(i+1); /* affiche une table de multiplication 
            prend comme parametre l'indice de la T.M  
            de 1 a 10 ...je te laisse le soin d'ecrire cette 
            fonction... */
         getch();  /* attends l'appui d'une touche */
         clrscr();  /* efface l'écran courant */
    }
    ....
    cela dit ,ce code n'est pas du tout portable dû a l'inclusion de conio ,je suis moi même un debutant en C donc je pense qu'il y'aura certainement une meilleure solutions a ton probleme .

  3. #3
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Effectivement ce code n'est pas portable, remplace getch() par getchar() et défini ta fonction clrscr() comme ceci :
    void clrscr(void)
    {
    #ifdef linux

    #include <ncurses.h>

    clear();
    move (0,0);

    #elif defined(_Windows) || defined(_WIN32)

    #include <windows.h>
    system("cls");

    #elif defined(__MSDOS__)

    #include <dos.h>
    union REGS inregs, outregs;
    struct SREGS segregs;
    inregs.h.ah = 0x00;
    inregs.h.ah = 0x03;
    int86x(0x10, &inregs, &outregs, &segregs);
    #endif
    }
    Cordialement.

  4. #4
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut
    Je vous assurre que je ne comprend rien dans le deuxieme code.
    J'aimerais aussi savoir à quel moment dit-on qu'un code est portable? Et quand il ne l'est pas

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2004
    Messages : 32
    Par défaut
    Citation Envoyé par vg-matrix
    J'aimerais aussi savoir à quel moment dit-on qu'un code est portable? Et quand il ne l'est pas
    Ben si le programme que tu écris est capable de tourner sur différentes plateformes ou os, ton programme est portable.

    Si tu programmes sous linux et que tu n'utilises que des fonctions POSIX, ton programme pourra être utilisé sur les différentes variantes de unix (linux, mac, solaris,...)

    Par exemple, tu peux voir dans le post de nicolas.sitbon que pour écrire une fonction qui efface le contenu de la console, le code est différent si tu es sous linux ou windows.

    Voila j'espère ne pas avoir dit de bêtise et avoir pu t'aider un peu.
    ++

  6. #6
    Rédacteur

    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 838
    Par défaut
    Salut, je te donne une solution en espérant qu'elle te convienne. Rajoute cette ligne dans ton programme là ou tu souhaite effectuer ta pause:


  7. #7
    Membre émérite Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Par défaut
    Salut, je te donne une solution en espérant qu'elle te convienne. Rajoute cette ligne dans ton programme là ou tu souhaite effectuer ta pause:

    Code :

    system("PAUSE");
    Je craint que ce code ne soit pas portable aussi ,l'appelle a "systeme" ne fonctionne que sous windows puisque c'est une commande DOS...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Thread] Blocage dans mon programme
    Par Xo Sonic oX dans le forum EDT/SwingWorker
    Réponses: 4
    Dernier message: 18/06/2005, 17h12
  2. Faire une pause dans le programme
    Par shinobi dans le forum Access
    Réponses: 6
    Dernier message: 13/06/2005, 16h37
  3. Integrer une musique dans mon programme
    Par Tutux84 dans le forum C
    Réponses: 2
    Dernier message: 29/01/2005, 12h41
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  5. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/05/2003, 14h52

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