Language C :probleme avec SYSTEM ("PAUSE&quot

Résolu/Fermé
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 - 18 févr. 2009 à 16:12
 rachid - 4 juil. 2010 à 18:20
Bonjour,tout le monde.

c'est mon premier essai en language C , mais malheureusement j'ai eu un probleme dont j'y rien compris

voila mon programme :

/* programme SURFACE */

#include <stdio.h>

int main(){
    float Pi=3.14;
    float R,S;
    
    printf("donner le mesure du rayon : ");
    scanf("%f",&R);
    
    S=Pi*R*R;
    
    printf ("la surface du disc est :  %.2f\n",S);
    
    system("pause");
    
    return 0;
    }



lors de la compilation je recoie un message d'erreur ou il y a :

[warning] In function 'int main()':
implicit declaration of function 'int system()'



merci d'avance pour votre temps et votre aide

8 réponses

réessaie en rajoutant : #include<stdlib.h>
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
18 févr. 2009 à 16:20
merci

mais j'ai essai et ca n'a pas maché.....ils m'ont donnés 2 erreurs :

implicit declaration of function 'int printf()'
et
implicit declaration of function 'int scan()'
0
à quelles lignes sont tes erreurs ?
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
18 févr. 2009 à 16:26
avec #include <stdlib.h> , les erreurs sont en ligne 9 et ligne 10
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 févr. 2009 à 16:28
Salut,
Il faut que tu laisses les deux bibliothèques.
Tu dois inclure #include <stdio.h> ET #include <stdlib.h>
Cdlt
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
18 févr. 2009 à 16:30
merci pour votre reponse

j'ai bien essayé, mais ce la m'a donné les 2 erreurs recentes
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 févr. 2009 à 16:37
Salut,

Sinon remplace system("pause"); par getchar() (c'est plus portable, et moins gourmand en mémoire).

#include <stdio.h>

int main(void){
    float Pi=3.14;
    float R,S;
    
    printf("donner le mesure du rayon : ");
    scanf("%f",&R);
    
    S=Pi*R*R;
    
    printf ("la surface du disc est :  %.2f\n",S);
    
    getchar();
    
    return 0;
}
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
18 févr. 2009 à 16:42
merci beaucouuuuuup la compilation ete faite avec succes,, mais quand j'entre le R ,il ne me retourne pas le resultat
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835 > hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012
18 févr. 2009 à 16:47
Ah oui je vois.
Essaie plutôt :
#include <stdio.h>

int main(void){
    float Pi=3.14;
    float R,S;
    
    printf("donner le mesure du rayon : ");
    scanf("%f",&R);
    while(getchar()!='\n');

    S=Pi*R*R;
    
    printf ("la surface du disc est :  %.2f\n",S);
    
    getchar();
    
    return 0;
}


Ca devrait mieux marcher ;)
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16 > fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022
18 févr. 2009 à 21:52
ouiiiiii cela a bieeeen marcher

je vous remercie pour votre aide et votre temps
0
merciiiii
0

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

Posez votre question
tout d'abord enleve l'espace entre le printf et la parenthese, en suite, rajoute un printf("\n "); après ton scanf
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 févr. 2009 à 16:49
Le printf("\n"); après le scanf, n'apportera rien ;)
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
18 févr. 2009 à 21:55
j'ai essayé avec le printf("\n") ...et cela a donner de bonne resultat

voila le programme :


/* programme SURFACE */

#include <stdio.h>
#include <stdlib.h>

int main(){
    float Pi=3.14;
    float R,S;
    
    printf("donner le mesure du rayon : ");
    scanf("%f",&R);
    printf("\n");
    
    S=Pi*R*R;
    
    printf ("la surface du disc est :  %.2f\n",S);
    
    system("pause");
    
    return 0;
    }




merciiiii a tous
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
18 févr. 2009 à 22:00
Ce n'est pas le printf("\n") qui t'a corrigé. Mais le fait que tu ais mis system("pause"). Et il vaut mieux utiliser getchar() comme dans le programme suivant :
#include <stdio.h>

int main(void){
    float Pi=3.14;
    float R,S;
    
    printf("donner le mesure du rayon : ");
    scanf("%f",&R);
    while(getchar()!='\n');

    S=Pi*R*R;
    
    printf ("la surface du disc est :  %.2f\n",S);
    
    getchar();
    
    return 0;
}

0
jacques10 Messages postés 3 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 18 février 2009
18 févr. 2009 à 22:04
stdio.h
0
hajarette Messages postés 125 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 8 novembre 2012 16
20 févr. 2009 à 19:12
ah oui ....vous avez raison Monsieur

merciii beaucoup
0