Dev c++ Problem avec system("pause")

Guidon Messages postés 11 Statut Membre -  
 adilsoufi -
Salut à tous, c'est encore moi,
Je continu de programer sur dev c++ et j'ai un probleme, j'arive pas à compiler parce que le programe me trouve une erreur à la ligne :

system("pause")

du program:

#include <stdio.h>

int main(void)
{
int N,d,q,r;
printf("N=");
scanf("%d",&N);
r=1;
q<d;
if(N>3)
{
d=1;
do
{
d=d+1;
q=N/d;
r=N%d;
}
while ((q>=d)&&(r!=0));
}
printf("le nombre %d est",N);
if(r==0)printf(" n'est pas");
else printf(" est");
printf(" premier.\n");
system("pause"); <--
return 0;
}

alore qu'il ne semble pas y en avoire....
J'ai l'impression que c'est le programe qui bug parce qu'en retestant un precedant program validé just, il me trouve la même faute (qu'il n'avai pas trouver auparavent).
Que fair??
Merci

10 réponses

  1. MoiCJarod Messages postés 164 Statut Membre 111
     
    Bonjour

    C'est sans doute ton include qui n'est pas bon. Moi pour mon appli la plus simple, j'ai :

    #include <iostream>
    #include <stdlib.h>

    essaie de les rajouter au début.

    Jean-Rodolphe Letertre
    13
  2. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    faire des printf et des scanf sans stdio.h ?
    ce n'est pas possible! désolé MoiCJarod, mais iostream.h c'est pour
    cin et cout
    cordialement
    ¤
    7
  3. binbo
     
    #include <iostream>
    #include <stdlib.h>
    #include <stdio.h>

    int main(void)
    {
    int N,d,q,r;
    printf("N=");
    scanf("%d",&N);
    r=1;
    q<d;
    if(N>3)
    {
    d=1;
    do
    {
    d=d+1;
    q=N/d;

    r=N%d;
    }
    while ((q>=d)&&(r!=0));
    }
    printf("le nombre %d est",N);
    if(r==0)printf(" n'est pas");
    else printf(" est");
    printf(" premier.\n");
    system("PAUSE");
    } ILFAUTQUETUECRI PAUSE EN MA G
    7
  4. MoiCJarod Messages postés 164 Statut Membre 111
     
    Bonjour

    Je ne dis pas d'enlever stdio.h ! mais de rajouter les deux lignes que j'ai donné plus haut.

    Jean-Rodolphe Letertre
    3
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. debutant en C
     
    Moi j'aimerais ajouter une instruction qui éteint le programme mais comment faire???
    3
    1. adilsoufi
       
      exit(0);
      0
  7. blurk Messages postés 493 Date d'inscription   Statut Membre 160
     
    toutes mes excuses.
    on peut rajouter iostream sans problème
    ça évite de se poser la question (C? C++?).
    ¤
    2
  8. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Alors pour la pause :
    #include <stdio.h>
    
    int main(){
      printf("plop !\n");
      getchar();
      return 0;
    }

    Et pour éteindre le programme il faut utiliser la fonction exit si c'est en dehors du main, et return si tu es dans le main. Le plus propre c'est de ne jamais faire de exit histoire que tout soit bien contrôlé par le main. Il faut juste que tes fonctions quand elles ont un problème retournent un code d'erreur. A noter qu'en C le retour de la fonction main vaut 0 si tout va bien et le code d'erreur sinon.
    #include <stdio.h>
    
    // retourne 0 si erreur, 1 si tout va bien
    int f(int x){
      if(x==69){
        printf("problème !!\n");
        return 0; // :-(
      }
      printf("ok\n");
      return 1; // :-)
    }
    
    int main(){
      int x=1,y=2,z=69;
      if(f(x) == 0){
        printf("j'ai eu un problème avec x=%d\n",x);
        return 1;
      }
      if(f(y) == 0){
        printf("j'ai eu un problème avec y=%d\n",y);
        return 2;
      }
      if(f(z) == 0){
        printf("j'ai eu un problème avec z=%d\n",z);
        return 3;
      }
      return 0;
    }
    


    Bonne chance
    2
    1. TutMirLeid
       
      On aime pas avoir plusieurs return dans une même fonction. Le mieux étant alors de faire un return variable ...
      Bref, 6 ans après!
      Mais c'est pour les prochains, qui en "googlant", tomberont ici.
      0
    2. Hpindo
       
      Merci de la part d'un "prochain". ;)
      0
  9. Guidon Messages postés 11 Statut Membre 2
     
    bonsoir,
    Avec ton include, le problem sytem("pause") disparait mais maintenant c'est :

    printf("N=");

    et

    scanf("%d",&N);

    qui son considéré comme faux...
    1
  10. Guidon Messages postés 11 Statut Membre 2
     
    bonsoir,
    Avec ton include, le problem sytem("pause") disparait mais maintenant c'est :

    printf("N=");

    et

    scanf("%d",&N);

    qui son considéré comme faux...
    1
  11. sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   50
     
    bon alors pour système pause et autre c'est la lib stdlib.h en c et pour le cpp cstdlib
    exemple plus simple
    #include <cstdio>
    
    #include <cstdlib>

    int main(void){
    printf("mise en pause\n");
    system("PAUSE"); //Attention utilisation de système diffère des OS
    printf("suite des instruction\n");
    }

    Autres exemple (unix/linux par exemple)
    #include  <cstdio>
    
    #include <cstdlib>

    int main(void){
    while (something) {
    int ret = system("foo");
    if (WIFSIGNALED(ret) &&(WTERMSIG(ret) == SIGINT || WTERMSIG(ret)==SIGQUIT))
    break;
    }
    }
    1