Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Pb en c

Aimery1, le samedi 11 octobre 2008 à 15:10:52
Bonjour,
Je suis en train de construire pour un devoire un programme qui résoud les équations du second degré.

Or l'énnocé me demande de prévenir l'utilisateur lorsqu'il met a=0 dans ax²+bx+c=0. Donc voici le morceau de mon programme ou cela se trouve:

float a;
.
.
.
switch(x)
{
.
.
.
case 2:
printf("equation du second degres:\n\n");
do
{
printf("entrer a: ");
scanf("%f",&a);
}
while(a=0);
{
printf("\nentrer b: ");
scanf("%f",&b);
printf("\nentrer c: ");
scanf("%f",&c);
printf("\n equation: P(x)=%.2fx^2 + %.2fx + %.2f\n\n",a,b,c);
.
.
.
}

Or losque je compile puis éxécule le programme, il ne tien pas compte du do while càd que même si je met a=0, il va passer à la suite sans me redemander mon a.

voila qq pourai t-il m'aider. Merci

ps: j'utilise Dev c++ et ne peut programmer qu'en c.
Configuration: Windows XP
Opera 9.52
Répondre à Aimery1  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
oupsman, le samedi 11 octobre 2008 à 16:18:41
Salut,

il faut faire :

....
....
do
{
printf("entrer a: ");
scanf("%f",&a);
if(a==0) printf("\nAttention, la valeur de \"a\" doit etre different de zéro\n");
}
while(a==0);
....
....
Répondre à oupsman

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Yuku, le samedi 11 octobre 2008 à 16:22:38
Erreur de débutant très classique =P

Le fait de confondre, dans if par exemple, le x=0 et x==0.
Répondre à Yuku

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
tatou_38, le samedi 11 octobre 2008 à 23:48:10
Il eût été plus élégant d'écrire :

while (!a);


Mais en C, oublie les boucles do...while et sa copine du même style. Tu peux tout faire avec une boucle for( ; ; ).
tatou_38
Angers
Répondre à tatou_38

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Posotaz, le dimanche 12 octobre 2008 à 03:51:48
Mais en C, oublie les boucles do...while et sa copine du même style. Tu peux tout faire avec une boucle for( ; ; ).

@tatou_38 : Ce que tu dis est très juste mais le For et le While n'ont pas le même usage. While devrait s'utiliser lorsque le nombre d'itérations n'est pas connu à l'avance tandis que For devrait s'utiliser lorsque le nombre d'itérations est connu à l'avance. Mais je conçois que le For soit bien plus pratique, d'ailleurs je l'utilise aussi avec des break quand ça simplifie mon code par rapport au While. Le Do While est effectivement déconseillé par les bonnes pratiques de la programmation structurée mais il est très pratique lorsqu'on veut utiliser correctement un While pour la saisie utilisateur et qu'on ne veut pas répéter le message de demande de saisie (car en programmation structurée on demande la saisie avant de rentrer dans la boucle et on la redemande ensuite dans la boucle et tout à la fin... c'est là que le Do While vient à la rescousse en lu disant ce qu'il doit faire avant même de poser la condition).
Répondre à Posotaz

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
Aimery1, le mardi 21 octobre 2008 à 21:50:42
Merci ! je me suis rendu compte apres de al faute du ==
Répondre à Aimery1

6


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 oupsman, le mercredi 22 octobre 2008 à 11:12:19
salut,

si ton problème est résolu, n'oublies pas de marquer statut "résolu"
à +
Répondre à oupsman

Résultats pour pb en c

Les caractères spéciaux Codage des caractères spéciaux Les normes HTML demandent de respecter le codage des caractères ASCII 7 bits, c'est-à-dire que les caractères accentués ne sont pas autorisés. Pourtant, les navigateurs actuels reconnaissent les caractères accentués,... www.commentcamarche.net/contents/html/htmlcarac.php3
Code ASCII Le codage des informations Le morse a été le premier codage à permettre une communication longue distance. C'est Samuel F.B.Morse qui l'a mis au point en 1844. Ce code est composé de points et de tirets (un codage binaire en quelque sorte...). Il... www.commentcamarche.net/contents/base/ascii.php3
Carte mère Présentation de la carte mère L'élément constitutif principal de l'ordinateur est la carte mère (en anglais « mainboard » ou « motherboard », parfois abrégé en « mobo »). La carte mère est le socle permettant la connexion de l'ensemble des éléments... www.commentcamarche.net/contents/pc/carte-mere.php3

Résultats pour pb en c

Le codage binairePrésentation du binaire Vers la fin des années 30, Claude Shannon démontra qu'à l'aide de « contacteurs » (interrupteurs) fermés pour « vrai » et ouverts pour « faux » il était possible d'effectuer des opérations logiques en associant le nombre... www.commentcamarche.net/contents/base/binaire.php3
Ctfmon - ctfmon.exectfmon - ctfmon.exe Le processus ctfmon.exe (dont le nom complet de processus est Alternative User Input Services) est un processus générique de Windows NT/2000/XP servant à gérer les entrées de saisie texte alternatives telles que les logiciels de... www.commentcamarche.net/contents/processus/ctfmon-exe.php3
Le concept de réseauQu'est-ce qu'un réseau? Le terme générique « réseau » définit un ensemble d'entités (objets, personnes, etc.) interconnectées les unes avec les autres. Un réseau permet ainsi de faire circuler des éléments matériels ou immatériels entre chacune de... www.commentcamarche.net/contents/initiation/concept.php3