[Débutant] A la puissance B (A^B)
Salut,
Voila j’ai fait un petit code C, afin de pouvoir calculer un nombre x à la puissance y d'ou X^Y (ou A^B).
Le programme fonctionne, mais j'ai des problème avec les chiffres négatif, à savoir:
-2^2 = -4
Normalement or dans mon programme j'ai le droit à ça
-2^2 = 4..
Sachant que par exemple si je fait:
-2^5 = -32
Dans ce cas là il fonctionne mais si je met n'importe quoi d'autre j'ai le droit a un chiffre positif !
Et si il n’y a pas un moyen plus simple de le faire ou si vous voyez quelque chose qui cloche dans mon code ^^.
Le pgm a été compilé avec Dev C++ et Visual C++ v6
Voila le code du programme:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| /*
** Auteur: Oyo
** Fichier: a^b
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int x, y, i, z = 1; /* Initialisation des vars */
printf("Donnez un nombre: "); /* Affichage du txt */
scanf("%d",&x); /* Récupération de la var X */
printf("Donnez une puissance: "); /* Affichage du txt */
scanf("%d",&y); /* Récupération de la puissance Y */
/*
** On verrifie X ==0 et Y == 0
** Si vrai on affiche une erreur
** Sinon on continue.
*/
if ( (x == 0) && (y == 0) )
{
printf("\n\nErreur: la puissance est indeterminee\n");
}
else
{
/*
** Initialisation de la boucle
*/
for(i=0; i<y; i++)
{
z = z * x;
}
/*
** Une fois le calcule faite on affiche le résultat.
*/
printf("\n\n%d^%d = %d\n", x, y, z);
}
system("PAUSE");
return 0;
} |
Merci par avance de votre aide,
Cordialement.
.: Edit :.
Correction du code remplacement des || par &&.
Merci Le Furet ;)