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

Guidon Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
 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

MoiCJarod Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   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
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   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
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
MoiCJarod Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
debutant en C
 
Moi j'aimerais ajouter une instruction qui éteint le programme mais comment faire???
3
adilsoufi
 
exit(0);
0
blurk Messages postés 486 Date d'inscription   Statut Membre Dernière intervention   160
 
toutes mes excuses.
on peut rajouter iostream sans problème
ça évite de se poser la question (C? C++?).
¤
2
mamiemando Messages postés 33772 Date d'inscription   Statut Modérateur Dernière intervention   7 882
 
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
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
Hpindo
 
Merci de la part d'un "prochain". ;)
0
Guidon Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   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
Guidon Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   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
sambia39 Messages postés 610 Date d'inscription   Statut Membre Dernière intervention   49
 
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