|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Bonsoir !
Je suis étudiant et je travaille sur un projet, mais depuis quelque jours je fais face à un problème qui m'empêche de progresser. J'essaye d'écrire un projet propre et structuré. Pour ce faire j'écris des fonctions que j'intitule Get...() et Set...() servant à appeler des paramètres d'une structure ou à assigner des valeurs à ces paramètres. Depuis le début, ces fonctions marchaient bien; j'ai par exemple créé une structure T_HEURE avec pour paramètre int heure, int minute, int seconde. L'affichage et l'assignation des valeurs marche nickel. Mais je butte sur une structure "T_POSITION" qui prend en paramètre des float dûment nommé "latitude" et "longitude". Et donc, là ou je bloque, c'est que je rédige mes fonctions Set et Get exactement de la même manière que pour les autres structures, pourtant la compilation me donne des chose aberrantes. Par exemple, pour le code suivant dans le main.c : Code :
au lieu de : Soit deux fois la même chose, et croyez moi j'ai vérifié 50 fois de ne rien avoir inversé. Ou si au lieu de la ligne 4 et 5 j'appelle une fonction void d'affichage qui est simplement constitué de deux printf, la encore je ne comprend plus rien à ce que m'affiche la console genre : Code text :
Bref, pour expliquer le titre de mon topic, je pense que le problème vient du type float, car c'est la seule différence que je retrouve avec mes précédentes structures. Voila, je vous remercie d'avance pour votre aide. Si vous avez besoin de davantage de détail sur le code, faites le moi savoir. |
||||
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Salut je pense pouvoir t'aider
Pourrais tu seulement afficher le code des fonctions setLattitude/longitude et afficheCoordonnees ? |
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Voici :
Code :
|
||
|
|
00
|
|
|
#4 | ||||
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
En c++ ce code fonctionne comme attendu :
Code :
Edit : Et d'ailleurs en C ça fonctionne aussi Code :
|
||||
|
|
00
|
|
|
#5 | ||||||||||||||||||||||||||||||||||||
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
L'intégralité ?
Oulala ça risque d'être un peu long, j'ai ajouté beaucoup de fichier dans le projet ! Bon, eh bien dans ce cas allons-y Pour info, le but du projet est de guider un bateau vers les ports les plus proches en fonctions des marées, tout ça... Et les seuls fichiers sources liés à la structure T_COORDONNEE sont coordonnee.h, coordonnee.c, main.c, param.h main.c Code :
Code :
Code :
Code :
Code :
date.c Code :
Code :
heure.h Code :
heure.c Code :
erreur_heure.h Code :
utilitaire.h Code :
utilitaire.c Code :
Code :
maree.c Code :
erreur_maree.h Code :
bateau.h Code :
bateau.c Code :
erreur_bateau.h Code :
Je crois qu'il y a tout. Mais bon, il va de soit que certain truc ne sont pas complet comme bateau,port,maree... |
||||||||||||||||||||||||||||||||||||
|
|
00
|
|
|
#6 | ||
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Alors si je met un printf en fin de code comme ci-dessous :
Code :
La console m'affiche que TAILLE_T_COORDONNEE vaut 120.5 |
||
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Ah oui ça vient peut être de là alors.
Essaie de remplacer Code :
T_COORDONNEE *MaCoordonnee = (T_COORDONNEE *)malloc(TAILLE_T_COORDONNEE); Code :
T_COORDONNEE *MaCoordonnee = (T_COORDONNEE *)malloc(sizeof(T_COORDONNEE)); |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
|
|
|
00
|
|
|
#9 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Argh c'est bizarre tout cela
Je vais essayer de télécharger ce que tu as fait pour voir ou ça cloche |
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Merci beaucoup de continuer à t'intéresser à mon cas.
Y'a-t-il moyen que je l'envoie sous forme d'archive ? Cela serait plus rapide ! EDIT : http://www.packupload.com/PMJI2GTAYZ7 Si jamais. |
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Merci oui effectivement ça ira plus vite
Il manque la définition de T_POSITION et le problème c'est que ça se retrouve à pas mal d'endroit elle est dans quel fichier normalement ? |
|
|
00
|
|
|
#12 | |
![]() ![]() Patrick GonordEnseignant Chercheur Inscription : juin 2005 Messages : 5 435 ![]() |
Citation:
__________________
Publication : Concepts en C Mon avatar : Glenn Gould -------------------------------------------------------------------------- Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !
|
|
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Ah, zut.
Avec quoi je l'affiche ? Hexadécimal ? |
|
|
00
|
|
|
#14 | ||||||
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Simplement avec %d au lieu de %f en tout cas la taille est bonne.
Essaie dans le main de remplacer Code :
Code :
Code :
|
||||||
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Hum, oui en effet j'ai 8.
|
|
|
00
|
|
|
#16 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
Ca devrait marcher maintenant si tu remplaces les includes comme je te l'ai indiqué
|
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
Oui ça marche !
Merci mille fois ! Mais alors, saurais-tu pourquoi T_HEURE et T_DATE fonctionne sans avoir inclus heure.h et date.h, et pas T_COORDONNEE ? |
|
|
00
|
|
|
#18 |
|
Membre habitué
![]() Étudiant Inscription : avril 2011 Messages : 239 ![]() |
En fait je n'en sais rien
Il faudrait regarder du coté de "warning : impliciit declaration of" |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Alexandre LavigneÉtudiant Inscription : janvier 2013 Messages : 14 ![]() |
C'est vrai que je ne vois vraiment pas pourquoi ça posait problème tant les résultat me semblait aberrants.
J'y réfléchirais une autre fois, j'ai bossé toute la journée déjà je vais me prendre une pause En tout cas, merci encore et bonne soirée. Je marque le sujet comme résolu ! |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com