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

Fermé
Guidon Messages postés 11 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 19 novembre 2004 - 11 nov. 2004 à 22:06
 adilsoufi - 4 févr. 2014 à 19:58
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 vendredi 14 novembre 2003 Statut Membre Dernière intervention 22 décembre 2009 111
11 nov. 2004 à 23:18
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 vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
12 nov. 2004 à 10:20
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
#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 vendredi 14 novembre 2003 Statut Membre Dernière intervention 22 décembre 2009 111
12 nov. 2004 à 17:18
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
20 janv. 2007 à 15:30
Moi j'aimerais ajouter une instruction qui éteint le programme mais comment faire???
3
exit(0);
0
blurk Messages postés 486 Date d'inscription vendredi 16 avril 2004 Statut Membre Dernière intervention 15 mars 2009 160
12 nov. 2004 à 17:33
toutes mes excuses.
on peut rajouter iostream sans problème
ça évite de se poser la question (C? C++?).
¤
2
mamiemando Messages postés 33093 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 4 mai 2024 7 752
21 janv. 2007 à 13:33
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
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
Merci de la part d'un "prochain". ;)
0
Guidon Messages postés 11 Date d'inscription dimanche 7 novembre 2004 Statut Membre Dernière intervention 19 novembre 2004 2
12 nov. 2004 à 01:41
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 dimanche 7 novembre 2004 Statut Membre Dernière intervention 19 novembre 2004 2
12 nov. 2004 à 01:42
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 vendredi 31 juillet 2009 Statut Membre Dernière intervention 9 février 2023 49
11 nov. 2013 à 17:25
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