Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++ > Débuter
Débuter Forum d'entraide pour débuter en langage de programmation C++. Avant de poster : cours d'initiation au C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 18/01/2013, 11h46   #1
takago
 
Homme Adrien
BTS IRIS
Inscription : septembre 2012
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France

Informations professionnelles :
Activité : BTS IRIS
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 31
Points : -2
Points : -2
Par défaut Chenillard sur Systems externe

Bonjours a tous.
dans le cadre de mon bts IRIS je doit faire un programme qui géré une carte ( Vellman)

J'ai un souci quand je compile le debug me dit qu'il attend un retour

Pour commence j'ai fait une class
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class CarteVellman
{
   public :
	unsigned long ConnectionCarte(int);
};
 
//----- Definition des fonctions membres -------
 
unsigned long CarteVellman::ConnectionCarte(int CardAddress)
{
	OpenDevice(CardAddress);// Fonction donnée dans le .h fournie avec la  carte 
	return   ; // c'est ici que j'ai mon souci je ne voie pas trop a quelle                             valeur retourner  
 
}
Puis mon bouton Connection

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CarteVellman a;
char texte[20];
int CardAddr = 3 - (int(SK5->Checked) + int(SK6->Checked) * 2);
unsigned long numCarteConnectee=a.ConnectionCarte(CardAddr);
switch (numCarteConnectee)
	{
	  case  0 :
	  case  1 :
	  case  2 :
	  case  3 :
		sprintf (texte, " Carte %u connctée" ,CardAddr);
		LEtatConnexion->Caption = texte;
		LEtatConnexion->Caption = "Carte " + IntToStr(CardAddr) + " connectée";
 
		LEtatConnexion->Font->Color = clGreen;
		break;
	   case  -1 :
		 LEtatConnexion->Caption = "Carte " + IntToStr(CardAddr) + " introuvable";
		 LEtatConnexion->Font->Color=clRed;
	}
Merci de vos réponses
takago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2013, 11h59   #2
Bousk
Modérateur
 
Homme Cyrille
Network programmer
Inscription : juin 2010
Messages : 1 570
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Network programmer

Informations forums :
Inscription : juin 2010
Messages : 1 570
Points : 4 156
Points : 4 156
Bonjour,

effectivement si ta fonction retourne un unsigned long, elle doit le retourner.
Quant à savoir quelle valeur retourner, toi seul a la réponse.
Bousk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2013, 14h03   #3
takago
 
Homme Adrien
BTS IRIS
Inscription : septembre 2012
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France

Informations professionnelles :
Activité : BTS IRIS
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 31
Points : -2
Points : -2
J'avais bien compris par contre je ne vois pas a quelle type de valeur elle doit retourner ...
takago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2013, 14h17   #4
Bousk
Modérateur
 
Homme Cyrille
Network programmer
Inscription : juin 2010
Messages : 1 570
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Network programmer

Informations forums :
Inscription : juin 2010
Messages : 1 570
Points : 4 156
Points : 4 156
C'est ta classe, ta méthode, et tu ne sais pas quelle valeur retourner ?!
Comment sommes-nous sensés le deviner pour toi ?!
Pourquoi vouloir retourner une valeur alors ??
Bousk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2013, 14h29   #5
takago
 
Homme Adrien
BTS IRIS
Inscription : septembre 2012
Messages : 31
Détails du profil
Informations personnelles :
Nom : Homme Adrien
Localisation : France

Informations professionnelles :
Activité : BTS IRIS
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : septembre 2012
Messages : 31
Points : -2
Points : -2
Je ne veux pas forcement , je voudrais juste que ma class puis utiliser la fonction du .h (OpenDevise)
Code :
1
2
3
4
5
6
7
 
unsigned long CarteVellman::ConnectionCarte(int CardAddress)
{
	unsigned long i ;
	OpenDevice(CardAddress);
	return
}
Donc ConnectionCarte devrais exécuter l'OpenDevice enfin c'est se que je voudrais
takago est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2013, 14h35   #6
leternel
Expert Confirmé
 
Homme Pierre
Ingénieur développement logiciels
Inscription : juin 2007
Messages : 1 354
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Localisation : France

Informations professionnelles :
Activité : Ingénieur développement logiciels

Informations forums :
Inscription : juin 2007
Messages : 1 354
Points : 2 860
Points : 2 860
Comme d'habitude, ce genre de problème vient d'un manque de commentaires utiles.

Ca: "//----- Definition des fonctions membres -------" on le devine aisément

Ceci: "//renvoie l'identifiant de la connexion" aurait été utile (juste avant la déclaration de CarteVellman::ConnectionCarte).

Une classe assume une responsabilité, une fonction rend un service.
Ce que retourne une fonction fait partie de ce service, il faut donc le documenter dans l'en-tête, pour que les utilisateurs sache qu'en faire.

Si tu ne sais pas qu'en faire, tu peux soit retourner la valeur de opendevice (exposition de propriétés internes) ou ne rien renvoyer du tout (void)
__________________
Mes principes de bases du codeur qui veut pouvoir dormir:
  • Une variable de moins est une source d'erreur en moins.
  • Un pointeur de moins est une montagne d'erreurs en moins.
  • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
  • La plus sotte des questions est celle qu'on ne pose pas.
Pour faire des graphes, essayez yEd.
leternel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 11h52.


 
 
 
 
Partenaires

Hébergement Web