begin process at 2012 05 29 05:03:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Fonction qui renvoie deux nombres


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Fonction qui renvoie deux nombres

samedi 21 mai 2005 à 20:40:25 | Fonction qui renvoie deux nombres

trystan007

Salut à tous, j'aimerais créer une fonction qui me renverra le nombre d'erreurs, et un autre nombre. Je ne sais pas quoi faire, mis à part réecrire tout mon code en Objet! Existe-t-il une autre méthode? J'ai en effet entendu parler des structures, mais ce n'était pas très clair!

PS : Connaissez vous des API plus simple que celles utilisées par Borland ou VC++? ainsi que les tutoriaux les accompagnant

Trystan007
samedi 21 mai 2005 à 21:00:46 | Re : Fonction qui renvoie deux nombres

AlexMAN

Membre Club
Tu peux soit remplir une structure globale que tu pourras utiliser dans la fonction appelante, soit renvoyer le pointeur d'une structure que tu auras alloué dynamiquement dans la fonction (il faut utiliser l'allocation dynamique et ensuite la desallouer dans la fonction appellante), soit, si tes nombres le permettent ( < 2^16), les 'coller' dans un entier que tu renverras (mettre un nombre dans la partie haute, et l'autre dans la partie basse).

+2(p - n)
samedi 21 mai 2005 à 21:16:46 | Re : Fonction qui renvoie deux nombres

Galmiza

Réponse acceptée !

Salut,

int main()
{
int sortie1;
int sortie2;
SommeEtSoustraction(15, 6, &sortie1, &sortie2);
// Et la sortie1= 15+6=21
// sortie2= 15-6 = 9
}

SommeEtSoustraction(int a, int b, int *s1, int *s2)
{
*s1 = a+b;
*s2 = a-b;
}

En gros tu balances à la fonction les paramètres d'entrés mais aussi les adresses des variables où tu veux que les resultats soient stockés (ces variables doivent bien sur exister).
La fonction écrira à l'adresse de ces variables donc celles-ci seront modifiées.

@+

samedi 21 mai 2005 à 21:49:20 | Re : Fonction qui renvoie deux nombres

MetalDwarf

Je suis d'accord avec la réponse de Galzima, mais ca peut vite devenir "sale" comme code, ou on confond les entrees et les sorties. La solution est soit de specifier avec une macro inutile si le parametre est IN, OUT ou INOUT (comme dans l'API Windows), ou alors de renvoyer une... structure.

struct res
{
    int s1;
    int s2;
}

struct res SommeEtSoustraction(int a, int b)
{
    struct res r;
    r.s1 = a+b;
    r.s2 = a-b;
    return r;
}


Ce n'est pas de l'objet, du C ANSI (standard)

dimanche 22 mai 2005 à 09:46:49 | Re : Fonction qui renvoie deux nombres

coucou747

Administrateur CodeS-SourceS
tu peux aussi renvoyer un pointeur de deux int... soit une structure, soit tu fais un pointeur, soit tu fais un tableau, soit tu fais : a est un char b est un char c est l'int que tu va renvoyer c=a+b*256; et dans la fonction qui a appelée : a=c%256; b=(c-a)/256; In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy [url]http://coucou747.hopto.org[/url]
dimanche 22 mai 2005 à 15:45:31 | Re : Fonction qui renvoie deux nombres

trystan007

C'est bon, je n'avais pas pensé aux pointeurs, merci.

Trystan007
vendredi 27 mai 2005 à 22:12:03 | Re : Fonction qui renvoie deux nombres

najibmhijir

Je suis d'accord avec mes collègues qui ont suggérer d'utiliser deux pointeurs
commne ça le prb est terminé.
void revoie(int * nbr1,int *nbr2) 
et dans la fct main tu les appelles par leurs adresses
renvoie(&n1,&n2);

Ceci n'est pas la seule méthodes bien sur



Cette discussion est classée dans : fonction, nombre, nombres, renvoie


Répondre à ce message

Sujets en rapport avec ce message

isnumeric() en c++ [ par couriousous ] Hello!comment faire pour tester si une variable entré par un utilistateur est un nombre ou pas ... style:L'utilisateur tape qqch avec la fonction cin conversion double en string [ par bouba ] Bonjour, je réalise une fonction qui doit calculer le nombre de caractères d'un doubleexemple:-7.56 -> 5 caractèreExiste t'il une fonction qui fasse c FONCTION EN C, ET RENVOIE D'ARGUMENT [ par GazGaz ] lu allje voulais savoir un truc : une fonction en c, peut elle renvoyer 2 arguments ? ma fonction dans mon algo admet en argument une chaine de caract Acces a chaque bit d'un nombre binaire [ par djemmy ] Je dois obtenir, à partir de 4 nombres décimals(compris entre 0 et 15), les 4 nombre en binaire correspondants. De ces nombres binaires je dois en fab convertir les nombres en lettres [ par djamine ] salut les amisje cherche un code pour convertir les nombres (1 2 3 .....) en lettres ( un, deux , trois....)l'utilisateur donne le nombre et le progra renvoie d'un tableau en char ds une fonction [ par TheBabyCool ] Comment peut on renvoyer un tableau de char du type :char i[][] dans une fonction ?Merci nombres aléatoires en c++ [ par johanb ] bonjour a tous, voici mon problême.Dans un programme, je dois générer deux fois un nombre aléatoire entre 0 et n (appelé max dans le programme). Voici [DEBUTANT] Fonction rand () [ par kojiro2 ] G un problème avec la fonction rand dans un pti jeuke je suis en train de faire.Je veux générer un nombre aléatoire (jusque là pas de pb).Ce nombre al Liste de nombres aléatoires [ par byoushin ] Bonjour,je cherche comment générer une liste de nombre aléatoire.J'ai essayé en initialisant dans main srand(GetTickCount()); ou aussi srand(time(NULL générateur de nombre aléatoire [ par sadral ] Je fais des recherches sur les générateurs de nombres pseudo-aléatoires et je cherche de la doc dessus,si il y en a qui ont fais des études dessus, ca


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,858 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales