Petit probleme de syntaxe

Résolu
tchoubaka Messages postés 61 Date d'inscription   Statut Membre Dernière intervention   -  
nobie-cs Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour les developeurs, je vient a vous parce que j'ai un probleme un peu grave. en fait mon programme ci-dessous fonctionne a merveille. l'enonce est la suivante: "ecrire un programme qui echange deux entiers saisis. afficher les entiers avant et apres l'echange" mais le hic c'est que ca n'affiche pas les valeurs apres l'echange. si quelqu'un peut m'aider ca me ferais vraiment plaisir.
Au fait je travaille sur les macros et le pointeurs raison pour laquelle mon programme paraitra bizarre au yeux de certaines personnes.


                
/************************************ librairie standard *******************************/
#include <cstdlib>
#include <iostream>
/************************************* macro *******************************************/
#define donnee() a=0; b=0; c=0;\
                 printf("entrer une valeur entiere: ");\
                 scanf("%ld", &a);\
                 printf("entrer une seconde valeur entiere: ");\
                 scanf("%ld", &b);\
                 printf("les valeurs avant l'echange sont\n  a=%ld   b=%ld\n", a,b);
#define retour() printf("les valeurs apres l'echange sont:\n    a=%ld      b=%ld\n", a,b);\
                 system("PAUSE"); \
                 return EXIT_SUCCESS;   

/********************************** prototype***************************************/                          
void echange(long *n1, long *n2);


/*****************************variables globales*********************************/
long a, b, c;


/****************************** programme principal**********************************/
int main(int argc, char *argv[])
{    
     donnee()     /////////////////////////////////////////titre de la premiere macro
    echange(&a,&b);   /////////////////////////////// fonction
    retour()       //////////////////////////////////////////titre de la deuxieme macro
}

/******************************fonction ou procedure********************************/
void echange(long *n1, long *n2)
{ 
     *n1=c;
     *n2=*n1;
     c=*n2;
}

 

1 réponse

nobie-cs Messages postés 155 Date d'inscription   Statut Membre Dernière intervention   17
 
ta mal écrit la fonction void echange(long *n1, long *n2)

void echange(long *n1, long *n2)
{ 
int c;
      c=*n2;
     *n2=*n1;
     *n1=c;   
}

0