Comment faire pour laisser la fenêtre de ma console ouverte?
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Comment faire pour laisser la fenêtre de ma console ouverte?



  1. #1
    T1tou

    Red face Comment faire pour laisser la fenêtre de ma console ouverte?


    ------

    Recoucou tout le monde !!

    Après un long moment d'inactivité ! Je suis encore.. venu vous demandez de l'aide ! J'espère ne pas vous déranger <3

    Alors pour faire simple, je voudrais que la fenêtre de ma console reste ouverte afin que je puisse profiter de l'exécution de mon programme.

    Pour se faire je suis déjà tombé sur de nombreux topics, tels que : celui-ci.

    Malheureusement, rien à faire. Auncun ne fonctionne.

    Pourtant lancé le code tel quel :
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    
      int Tab[10], n, i;
    
      printf("Entrez le nombre entier: ");
      scanf("%d",&n);
    
      for(i=0; n>0; i++)
      {
        Tab[i] = n%2;
        n = n/2;
      }
    
      printf("\nLe nombre binaire est : ");
    
      for(i=i-1; i>=0; i--)
      {
        printf("%d",Tab[i]);
      }
    
      system("PAUSE");
      return 0;
    }
    ou même avec un getchar();

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(){
    
      int Tab[10], n, i;
    
      printf("Entrez le nombre entier: ");
      scanf("%d",&n);
    
      for(i=0; n>0; i++)
      {
        Tab[i] = n%2;
        n = n/2;
      }
    
      printf("\nLe nombre binaire est : ");
    
      for(i=i-1; i>=0; i--)
      {
        printf("%d",Tab[i]);
      }
    
      getchar();
      return 0;
    }
    Mais rien y fait, la console se ferme toujours après la fin du programme...

    Je compile en terminal (et oui j'ai un peu évolué ! Révolue cette époque Code::Blocks !!)

    J'utilise les commandes dans le terminal, après un "cd" comme : gcc main.c ou même main.cpp o- a.exe !

    Merci de votre aide !!

    -----

  2. #2
    pm42

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Et un printf("Press enter to close\n") suivi d'un scanf ?

  3. #3
    Jack
    Modérateur

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Si tu lances le programme depuis l'interface graphique, il n'y a pas moyen d'empêcher la fermeture du "terminal" puisque la fin du processus créé par ton programme va entrainer celle du terminal.

    La seule solution est d'ouvrir un terminal et de lancer le programme depuis celui-ci.

  4. #4
    Fustigator

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Déjà le prog est susceptible de planter sauvagement si le nombre saisi est > 1024 (ou 2048 ... à voir, juste lu en diagonal le code)

    Ce n'est pas cela le problème ?

  5. A voir en vidéo sur Futura
  6. #5
    polo974

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    le scanf (du nombre à imprimer en binaire) laisse traîner le '\n' dans le tuyau, donc le premier getchar le prend et il en faut un second pour rester bloqué dessus...

    bref, il ne faut pas (trop) mélanger les scanf et les getchar ou bien faire un getchar après chaque scanf.

    surtout qu'on est ici en mode cooked, donc si le int rendu par getchar n'est pas un 0x0a, il y en a un qui traîne dans le buffer (pas grave ici, mais pénible ailleurs)...

    mais si on passe en mode raw, et qu'on lance le programme dans une console, attention, au moment de sortir, il vaut mieux repasser en cooked, sinon, la console va avoir un fonctionnement très 'raw' ...
    Jusqu'ici tout va bien...

  7. #6
    T1tou

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Je sais pas pourquoi mais sur un autre de mes programme le " system("PAUSE"); " fonctionne à merveille !

    Code:
    #include<stdio.h>
    #include<stdlib.h>
    #include<math.h>
    
    int main(){
    	double A, q1, q2, r;
    	int i=0, j;
    	int tab[8];
    
    	printf("Entrer le nombre a convertir : \n");
    	scanf("%lf", &A);
    	A=fabs(A);
    
    	while (A>=128 || -128>=A){
    		printf("Erreur, impossible de coder ce nombre. \n");
    		printf("Entrer le nombre a convertir : \n");
    		scanf("%lf", &A);
    	}
    
    	q1 = A/2;
    	r = A-2*q1;
    
    	while (q1>1){
    		if (r==0){
    			tab[i]=0;
    		}else{
    			tab[i]=1;
    		}
    
    		q2 = q1;
    		q1 = q1/2;
    		r = q1-2*q2;
    		i = i+1;
    
    	}
    
    	printf("Votre nombre en binaire :\n");
    
    	for (j=i; j>=0; j--){
    		printf("%d\n", tab[j]);
    	}
    
    	system("PAUSE");
    }
    Badabim boboum !

  8. #7
    Jack
    Modérateur

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Mais rien y fait, la console se ferme toujours après la fin du programme...
    Il faudra préciser exactement ce que tu veux parce que tu pourras mettre ce que tu veux, un scanf, un system("PAUSE"), ou ce que tu veux, la console se fermera toujours après la fin du programme, les instructions précédentes (scanf, system) faisant partie du programme.
    Si je comprends bien, tu voudrais que le programme se termine lorsque tu le lui permets donc, c'est çà?

  9. #8
    T1tou

    Re : Comment faire pour laisser la fenêtre de ma console ouverte ?

    Yup yup !

    Recoucou, et excusez-moi d'avoir laisser la discussion sans réponse !

    ALORS..!

    Finalement, je n'ai pas trouvé le soucis, mais j'ai pu le résoudre !

    Ce que j'ai simplement fait est de supprimer mon ".exe", et redémarrer mon ordinateur, en relançant tout, tout.

    Et maintenant,

    Je re-lance la console avec un "cd", puis un "gcc" et enfin un "start .exe" ;3

    Merci pour votre aide !!!

Discussions similaires

  1. Plantage page web avec la console d'ouverte
    Par matthieu2 dans le forum Programmation et langages, Algorithmique
    Réponses: 9
    Dernier message: 29/07/2016, 07h52
  2. Jeu console en C - booléens, comment lui faire comprendre que 'oui = 1'
    Par Hijo-Nik dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 30/12/2014, 13h02
  3. Comment faire pour "laisser ouvert" un CD-R ??
    Par inviteb4c09291 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 09/04/2005, 19h29