Programmer en c

Fermé
sisimouhamed - 20 sept. 2008 à 19:21
 sisimouhamed - 23 sept. 2008 à 18:49
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
A voir également:

5 réponses

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
sisimouhamed
22 sept. 2008 à 20:34
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
21 sept. 2008 à 06:00
Salut,
Sujet déjà résolu. http://www.commentcamarche.net/forum/affich 8413885 resoudre equation du second degre en c
Cdt
-1
oupsman Messages postés 316 Date d'inscription mercredi 26 décembre 2007 Statut Membre Dernière intervention 22 octobre 2008 10
21 sept. 2008 à 11:38
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
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
21 sept. 2008 à 18:17
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

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

Posez votre question
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
23 sept. 2008 à 02:14
Et ? Maintenant que tu as le code, qu'attends-tu de nous ??
-1
sisimouhamed
23 sept. 2008 à 18:22
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
rufa Messages postés 160 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 14 juillet 2014 4 > sisimouhamed
23 sept. 2008 à 18:39
salut,donne le code source du programme.
-1
sisimouhamed > rufa Messages postés 160 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 14 juillet 2014
23 sept. 2008 à 18:49
Non merci on ma repondu tout de suite.a +
0