Division zéro [Pascal]

Résolu/Fermé
Pr0-g(r)Amer - 13 mai 2009 à 21:44
 Pr0-g(r)Amer - 13 mai 2009 à 22:13
Bonjour à tous,

Mon programme est une calculatrice à nombres complexes.
J'ai un problème lorsque j'exécute mon programme celui-ci se ferme lorsqu'il requiert une division par zéro, je souhaiterais mettre en place une sécurité qui permettrais à l'utilisateur d'entrer des valeurs différentes lorsque cette erreur se produit.

Voici le module concerné :
NB : la procédure "saisir_cm" permet la saisie d'un nombre complexe sous forme de couple ( = tableau de 2 REAL )

procedure division;
var cm3:couple;cm4:couple;c:real;d:real;e:real;cm1:couple;cm2:couple;

begin
writeln;writeln;writeln;
WRITELN('Vous allez saisir le nombre complexe … diviser puis celui qui divise.');

saisir_cm (cm1);
writeln;writeln;writeln;
writeln('ATTENTION le d‚nominateur doit etre diff‚rent de 0');


saisir_cm (cm2);
cm3:=conj(cm2);
cm4:=mult(cm1,cm3);
e:=(cm2[1]*cm2[1])-(cm2[2]*cm2[2]);

c:=cm4[1]/e;
d:=cm4[2]/e;

{$I+}



writeln;
Writeln ('Le r‚sultat est ',c:0:3,' + ',d:0:3,'*i');
writeln;writeln;writeln;writeln;
writeln('Tapez sur <Entr‚e> pour retourner au menu');
Readln;
end ;




En vous remerciant par avance pour votre aide.


Pro-gameR
A voir également:

3 réponses

cs-bilou Messages postés 769 Date d'inscription dimanche 2 décembre 2007 Statut Membre Dernière intervention 24 février 2011 164
13 mai 2009 à 21:51
Demande a Chuck Norris lui il arrive a diviser par 0.

Bilou.
1
pont Messages postés 198 Date d'inscription samedi 2 mai 2009 Statut Membre Dernière intervention 16 novembre 2010 27
13 mai 2009 à 22:04
Bonjour,

Je crois qu'il faut agir juste après le calcul de e, du genre:

********************
Si e=0 alors retouner au entrées de départ, en mettant un message d'avertissement
********************

Comme cela il n'y aura pas de plantage et de nouvelles entrées seront possibles
Pont
0
Pr0-g(r)Amer
13 mai 2009 à 22:13
Merci à vous.
0