Aide Programme Distance - C - Programmation
Marsh Posté le 30-05-2013 à 15:02:03
Bonjour,
A tout hasard: sqrt demande un double et pas un float.
C'est sqrtf qui prendrais un float ( http://linux.die.net/man/3/sqrt )
Marsh Posté le 30-05-2013 à 15:22:03
trollpassif a écrit : Bonjour a tous, alors voila j'ai un problème( ) avec un "programme" que j'ai fait, et je n'arrive pas a voir mon erreur, voici le programme(il calcul la distance entre 2 points): |
Gné? T'as essayé de compiler "ton" programme? Parce que le message d'erreur du compilateur est assez clair. Si tu ne vois pas un truc qui cloche dans ces 3 lignes, revois tes bases du C:
Code :
|
Une fois corrigé, ça fonctionnera déjà un peu mieux.
Marsh Posté le 30-05-2013 à 16:09:41
+1 tpierron.
PS: si tu ne sais pas, quand tu envoies l'adresse d'une variable à une fonction, cette fonction recoit un pointeur.
PS² : (*P).x revient à faire P->x
Marsh Posté le 31-05-2013 à 03:09:05
@tpierron
Je débute en C, et j'ai relu mon cours et tout, et je ne vois pas mon erreur, je sais, je suis nul, mais bon, si je l'ai posté ici, c'est que je ne voyais vraiment pas mon erreur :s
Marsh Posté le 31-05-2013 à 06:07:32
C'est bon, j'ai trouvé mon erreur, je suis un boulet, merci a tous pour votre aide, bonne journée =D
Marsh Posté le 30-05-2013 à 08:46:09
Bonjour a tous, alors voila j'ai un problème( ) avec un "programme" que j'ai fait, et je n'arrive pas a voir mon erreur, voici le programme(il calcul la distance entre 2 points):
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
typedef struct{
float x;
float y;
}Point;
void lirepoint (Point *P){
printf("x=" );
scanf("%f", &((*P).x));
printf("y=" );
scanf("%f", &((*P).y));
}
void afficherpoint (x,y){
printf("(%d;%d)", x, y);
}
int main()
{
Point A;
Point B;
float AB;
printf("Point A: \n" );
lirepoint(A);
printf("Point B: \n" );
lirepoint(B);
AB = sqrt(((B.x-A.x)*(B.x-A.x)+(B.y-A.y)*(B.y-A.y)));
printf("La dictance AB = %f", AB);
return 0;
}
Merci a tous pour vos futures réponses