8x11=0 !! problème fonction puissance
Bonjour !
Voila j'ai un problème que je n'arrive pas résoudre dans la boucle d'une fonction puissance, quand je rentre 8 puissance 11 le programme me donne 0... :?
J'utilise comme outil de développement Microsoft Visual C++ 6.
Voilà la source:
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
|
#include <stdio.h>
int a,b,res;
int puissance(int a,int b)
{
res=1;
while(b>0)
{
res=res*a;
b=b-1;
}
res=a*b;
return res;
}
void main()
{
while(1)
{
printf("saisissez une entier positif:\n",a);
scanf("%d",&a);
printf("saisissez la puissance(positive):\n",b);
scanf("%d",&b);
res=puissance(a,b);
printf("le resultat est:%d\n",res);
}
} |
Re: 8x11=0 !! problème fonction puissance
Citation:
Envoyé par Renesis57
Citation:
#include <stdio.h>
:tagcode:
- main() retourne int. Toujours.
- C'est quoi ces horreurs de variables globales et cette indentation catastrophique ?
- Une boucle blanche ? Comment on quitte ? Ctrl-break ? C'est moche...
- scanf() ? Tape a<enter> pour voir ...
- C'est quoi ces ,a et ,b dans les printf() ?
Essaye ça...
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 47 48
|
#include <stdio.h>
#include <stdlib.h>
unsigned long puissance(unsigned long a,unsigned long b)
{
int res = 1;
while(b>0)
{
res*=a;
b--;
}
return res;
}
int main(void)
{
int end=0;
while(!end)
{
char s[16];
printf("saisissez une entier positif (ou <enter> pour quitter) : ");
fflush (stdout);
fgets(s, sizeof s, stdin);
end = *s=='\n';
if (!end)
{
unsigned long a;
unsigned long b;
unsigned long res;
a = strtoul(s, NULL, 10);
printf("saisissez la puissance (positive) : ");
fflush (stdout);
fgets(s, sizeof s, stdin);
b = strtoul(s, NULL, 10);
res = puissance(a,b);
printf("le resultat est:%lu\n",res);
}
}
return 0;
} |
Re: 8x11=0 !! problème fonction puissance
Citation:
Envoyé par Emmanuel Delahaye
Citation:
Envoyé par Renesis57
Citation:
#include <stdio.h>
:tagcode:
- main() retourne int. Toujours.
- C'est quoi ces horreurs de variables globales et cette indentation catastrophique ?
- Une boucle blanche ? Comment on quitte ? Ctrl-break ? C'est moche...
- scanf() ? Tape a<enter> pour voir ...
- C'est quoi ces ,a et ,b dans les printf() ?
les ,a ,b dans printf c'est les variables qu'on veut afficher
@ Elijha: J'ai essayé avec un long, ça me donne toujours 0 , pendant 2 heures au bahut je me suis pris la tete la dessus et je trouve toujours pas...
Re: 8x11=0 !! problème fonction puissance
Citation:
Envoyé par Renesis57
les ,a ,b dans printf c'est les variables qu'on veut afficher
Je veux bien mais tu veux afficher quoi la
Code:
1 2
|
printf("saisissez une entier positif:\n",a); |
Ca affiche literalement
saisissez une entier positif:
Il n'y a pas de variables a afficher
Re: 8x11=0 !! problème fonction puissance
Citation:
Envoyé par Skyrunner
Citation:
Envoyé par Renesis57
les ,a ,b dans printf c'est les variables qu'on veut afficher
Je veux bien mais tu veux afficher quoi la
Code:
1 2
|
printf("saisissez une entier positif:\n",a); |
Ca affiche literalement
saisissez une entier positif:
Il n'y a pas de variables a afficher
Oups, erreur d'inattention :oops: sorry