Programmer en c

sisimouhamed -  
 sisimouhamed -
Bonjour,
je voudrais qu'elqu'un m'aide car j'ai fait un programme en C qui resoud l'equation du second degré et je que l'orsque les resultats s'affiches le programme m'affiche 'voulez vous continuez (o/n)' si je tape 'o' le programme debute encore c'est à dir il affiche encore 'entrer a','entrer b' etc...Merci de m'aider car ça fait longtemps que je fait des tests avec le boucle while et la fonction getch() mais rien ne marche.Je compt sur vous
Configuration: Windows XP
Internet Explorer 7.0

5 réponses

  1. karfung
     
    Salut sisimouhamed,
    Je programme également en C. Cependant pour pouvoir t'aider, il faut que tu me donnes ton code source.
    Pas besoin de mettre les directives de préprocesseurs, tu mets juste le code en C.
    J'ai deux questions :
    -Avec quels IDE programmes-tu (DevC++, Code Blocks, VisualC++...) ?
    -Quand tu parles de l'équation du second degré, tu veux dire la forme canonique soit ax² + bx + c ?
    Je ne te garantie rien mais je vais faire tout mon possible pour t'aider ;)
    @+
    Karfung
    0
  2. sisimouhamed
     
    Oui je programme avec Dev C++ aussi je parle de cette forme d'equation ax² + bx + c voici le code:
    #include <stdio.h>
    #include <stdlib.h>

    #include<math.h>
    int main(int argc, char *argv[])
    {

    int CH ;
    float a,b,c,x1,x2,x;
    float delta;
    printf("\t\tResolution de l'equation du seond degré\n\n");
    printf("\t\tentrer a:\n");
    scanf("%f", &a);
    printf("\t\tentrer b:\n");
    scanf("%f", &b);
    printf("\t\tentrer c:\n");
    scanf("%f", &c);
    delta =((b*b) -(4*(a*c)));
    printf("Delta=%f \n",delta);
    if (delta>=0)
    { printf("racine de (delta)= %f \n", sqrt(delta));

    x1=((-b- sqrt(delta))) /(2*a);
    x2=(-b+ sqrt(delta)) /(2*a);
    printf("les deux solution sont:%f et %f", x1, x2);

    }

    else
    printf("pas de solution\n", x);

    scanf("%d",&CH); /* pour arreter et voir les resultats */
    return 0;
    }
    je compt sur vous.Merci et a+
    0
  3. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Salut,
    Sujet déjà résolu. http://www.commentcamarche.net/forum/affich 8413885 resoudre equation du second degre en c
    Cdt
    -1
  4. oupsman Messages postés 319 Statut Membre 10
     
    salut,

    Le plus simple c'est d'utiliser do{ ....}while(condition);

    par exemple :

    {

    char la_reponse; /*caractere 'o' ou 'n'*/
    ...
    do{
    ici le programme;
    ici je pose la question "voulez-vous continuer ?";
    scanf("%c", &la_reponse);
    }
    while(la_reponse == 'o');

    }

    Bref, tant que la réponse est 'o', je recommence les memes operations.
    J'espère avoir pu t'aider.
    -1
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,
      Ton code risque de poser quelque problème à cause du buffer clavier.
      scanf("%c",&lareponse) va attendre que tu tapes un caractère. Le problème c'est qu'en tapant 'o', et en validant par entrée, il y a '\n' qui vient se greffer, sans parler du '\0'. Du coup, hop dans le buffer clavier.
      Cdt
      -1
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Et ? Maintenant que tu as le code, qu'attends-tu de nous ??
    -1
    1. sisimouhamed
       
      Bonjour ce que j'attend de vous c'est de m'expliquer si le programme affiche "voulez vous continuez o\n" si je tape 'o' le programme redemare en me demandant taper a,taper b,etc...Merci
      0
      1. rufa Messages postés 175 Statut Membre 4 > sisimouhamed
         
        salut,donne le code source du programme.
        -1
      2. sisimouhamed > rufa Messages postés 175 Statut Membre
         
        Non merci on ma repondu tout de suite.a +
        0