C
- Ineluki
- Bidouilleur de bios
- Messages : 521
- Enregistré le : 03 juil. 2006, 00:00
- Localisation : Quimper (29)
Ouais ça devait être la balise code.
Par contre, j'ai 102 erreurs à la compil avec ton code. En enlevant iostream, il en reste plus que 4. Comprend pas.
Et pis si tu fais référence aux pointeurs, aux fonctions, etc... ca risque d'être dur à avaler pour lui.
Le pauvre.
En fait, celui-ci a l'air de marcher, grâce aux float de thom, mais si on remet des double à la place, ça refoire... Thom, c'est pas censé être juste une question de taille la différence entre les deux? Comment ça s'fait qu'ça foire? =S
Grrrrhh, j'aime pas quand ça marche pas de façon claire...
Par contre, j'ai 102 erreurs à la compil avec ton code. En enlevant iostream, il en reste plus que 4. Comprend pas.

Et pis si tu fais référence aux pointeurs, aux fonctions, etc... ca risque d'être dur à avaler pour lui.

En fait, celui-ci a l'air de marcher, grâce aux float de thom, mais si on remet des double à la place, ça refoire... Thom, c'est pas censé être juste une question de taille la différence entre les deux? Comment ça s'fait qu'ça foire? =S
Code : Tout sélectionner
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{ float resultat = 0, nombre = 0; // avec double ça marche pas
printf("Choisis un nombre entier positif\n\n");
scanf("%f", &nombre);
printf("La racine carree de %f est %f\n",nombre,sqrt(nombre));
system("PAUSE");
return 0;
}
Modifié en dernier par Ineluki le 26 juin 2008, 16:49, modifié 1 fois.
- thom986
- Bidouilleur de bios
- Messages : 908
- Enregistré le : 23 avr. 2007, 00:00
- Localisation : Sur TF2
Perso, je me sers quasiment que des décimaux Float (%f dans les printf)
et des entier Int
En taille ça donne un peu près ça:
short int ≤ int ≤ long int
float ≤ double ≤ long double
Sachant que long=long int
EDIT
Bizarre mon code marche très bien chez moi...

En fait, je sais pas si c'est cela, mais faut vraiment éviter les conversions entre type, Si tu lui donne un float, et qu'après tu veux le transformer en double, souvent ça foire.
Surtout que la dans le cas present on utilise une librairie avec des fonctions préfabriqué.
Dans ce cas sqr doit être une fonction qui retourne un float.
et des entier Int
En taille ça donne un peu près ça:
short int ≤ int ≤ long int
float ≤ double ≤ long double
Sachant que long=long int
EDIT


En fait, je sais pas si c'est cela, mais faut vraiment éviter les conversions entre type, Si tu lui donne un float, et qu'après tu veux le transformer en double, souvent ça foire.
Surtout que la dans le cas present on utilise une librairie avec des fonctions préfabriqué.
Dans ce cas sqr doit être une fonction qui retourne un float.
- Ineluki
- Bidouilleur de bios
- Messages : 521
- Enregistré le : 03 juil. 2006, 00:00
- Localisation : Quimper (29)
Ouais, bizarre pour ton code. Problème d'IDE?
Sinon, le problème des float / double vient d'ici.
Le gars propose
Il utilise donc bien un double pour le return de sqrt.
Là, ça marche, mais une fois qu'on fait un scanf dans un double, ça foire. Ensuite j'ai refait en essayant avec ton idée du float, et ça marche.
Bref, du moment qu'on a un code qui marche, c'est le principal, hein !
Là, je réecris les fonctions comme strcat, strcpy, strcmp... Je crois que j'ai pas fini d'avoir besoin d'aide
Sinon, le problème des float / double vient d'ici.
Le gars propose
Code : Tout sélectionner
double resultat = 0, nombre = 100;
resultat = sqrt(nombre); // resultat vaudra 1
Là, ça marche, mais une fois qu'on fait un scanf dans un double, ça foire. Ensuite j'ai refait en essayant avec ton idée du float, et ça marche.
Bref, du moment qu'on a un code qui marche, c'est le principal, hein !
Là, je réecris les fonctions comme strcat, strcpy, strcmp... Je crois que j'ai pas fini d'avoir besoin d'aide
