IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

Problème avec les fonctions


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Par défaut Problème avec les fonctions
    Bonsoir tout le monde !
    Je ne comprends pas pourquoi la fonction INSCRIPTION modifie bien mon tableau de structure mais pas mes compteurs passés en paramètre (ici j et pro).
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    //Main
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	// Prototypes
    	void INSCRIPTION(struct contact [], int [], int, int);
    	void SUPPRESSION(struct contact [], int [], int, int);
     
     
    	char code;
    	contact Tab[100];
    	int j=0, TI[100], TI2[100], pro=0;
    	CH20 nomLu, prenomLu;
    	CH10 telLu;
    	CH5 codeCatLu;
     
    	printf("\t\tGestion du repertoire telephonique\n\n");
    	printf("Veuillez entrer :\n\tI pour inscrire une personne\n\tS pour supprimer une personne\n\tM pour modifier une personne\n\tT pour afficher tout le repertoire\n\t");
    	printf("A pour afficher les relations personnelles\n\tP pour afficher les relations professionnelles\n\tR pour rechercher le telephone d'une personne\n\t");
    	printf("N pour rechercher les telephones d'un certain nom\n\tB pour rechercher une personne dont on connait le telephone\n\tQ pour quitter");
        printf("\nRentrez le code : ");
    	code = getchar();
    	while(code != 'Q')
    		{
    			switch(code)
    				{
    					case 'I':
     
    						printf("\n\t\tInscription\n\n");
    						INSCRIPTION(Tab, TI, j, pro);
    						// Verifications
    						printf("\nj = %d", j);
    						printf("\npro = %d", pro);
    						printf("\nTab[0] : %s %s", Tab[0].nom, Tab[0].prenom);
    						printf("\n\nRentrez le nouveau code : ");
    						code = getchar();
    						break;
     
    + autres cas du switch...
     
    //Fonction INSCRIPTION
     
    void INSCRIPTION(struct contact Tab1[], int TI1[], int cpt, int cptPro)
    {
     
    	int i, k=0, IPDR;
    	CH20 nomLu, prenomLu;
    	CH10 telLu;
    	CH5 codeCatLu;
     
     
    	fflush(stdin);
    	printf("Veuillez entrer le nom de la personne a ajouter dans le repertoire.\nNom : ");
    	gets(nomLu);
    	printf("\nVeuillez entrer son prenom.\nPrenom : ");
    	gets(prenomLu);
    	for(i=0; i<cpt; i=i+1)
    	{
    		if((strcmp(Tab1[i].nom, nomLu)==0))
    		{
    			if((strcmp(Tab1[i].prenom, prenomLu)==0))
    			{
    				IPDR=i;
    				k=1;
    				i=cpt-1;
    			}
    		}
    	}
    	if(k==1)
    	{
    		printf("Erreur. Personne deja rentree :\n\n\t");
    		printf("%-25s %-25s %-15s %-10s\n\n", Tab1[IPDR].nom, Tab1[IPDR].prenom, Tab1[IPDR].tel, Tab1[IPDR].codeCat);
    	}
    	else
    	{
    		printf("\nVeuillez entrer son telephone.\nTelephone : ");
    		gets(telLu);
    		printf("\nVeuillez entrer sa categorie(PRO ou PERSO).\nCategorie : ");
    		gets(codeCatLu);
    		if((strcmp(codeCatLu, "PRO")==0)||(strcmp(codeCatLu, "PERSO")==0))
    		{
    			strcpy(Tab1[cpt].nom, nomLu);
    			strcpy(Tab1[cpt].prenom, prenomLu);
    			strcpy(Tab1[cpt].tel, telLu);
    			strcpy(Tab1[cpt].codeCat, codeCatLu);
    			printf("\n\nLa personne a bien ete inscrite avec les informations suivantes :");
    			printf("\n\n\t%-25s %-25s %-15s %-10s\n\n", Tab1[cpt].nom, Tab1[cpt].prenom, Tab1[cpt].tel, Tab1[cpt].codeCat);
    			if((strcmp(codeCatLu, "PRO")==0))     // Ajout dans TI des Pros
    			{
                                      TI1[cptPro]=cpt;
                                      cptPro=cptPro+1;
                }
                cpt=cpt+1;	
    		}
    		else
    			printf("\n\nCategorie erronee, inscription non prise en compte.\n\n");
    	}
     
    	system("PAUSE");
     
    }
    Merci de votre aide.

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 801
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 801
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Dark_Alex69 Voir le message
    Bonsoir tout le monde !
    Je ne comprends pas pourquoi la fonction INSCRIPTION modifie bien mon tableau de structure mais pas mes compteurs passés en paramètre (ici j et pro).
    Voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    //Main
     
    int _tmain(int argc, _TCHAR* argv[])
    {
    	// Prototypes
    	void INSCRIPTION(struct contact [], int [], int, int);
    	void SUPPRESSION(struct contact [], int [], int, int);
     
     
    	char code;
    	contact Tab[100];
    	int j=0, TI[100], TI2[100], pro=0;
    	CH20 nomLu, prenomLu;
    	CH10 telLu;
    	CH5 codeCatLu;
     
    	printf("\t\tGestion du repertoire telephonique\n\n");
    	printf("Veuillez entrer :\n\tI pour inscrire une personne\n\tS pour supprimer une personne\n\tM pour modifier une personne\n\tT pour afficher tout le repertoire\n\t");
    	printf("A pour afficher les relations personnelles\n\tP pour afficher les relations professionnelles\n\tR pour rechercher le telephone d'une personne\n\t");
    	printf("N pour rechercher les telephones d'un certain nom\n\tB pour rechercher une personne dont on connait le telephone\n\tQ pour quitter");
        printf("\nRentrez le code : ");
    	code = getchar();
    	while(code != 'Q')
    		{
    			switch(code)
    				{
    					case 'I':
     
    						printf("\n\t\tInscription\n\n");
    						INSCRIPTION(Tab, TI, j, pro);
    						// Verifications
    						printf("\nj = %d", j);
    						printf("\npro = %d", pro);
    						printf("\nTab[0] : %s %s", Tab[0].nom, Tab[0].prenom);
    						printf("\n\nRentrez le nouveau code : ");
    						code = getchar();
    						break;
     
    + autres cas du switch...
     
    //Fonction INSCRIPTION
     
    void INSCRIPTION(struct contact Tab1[], int TI1[], int cpt, int cptPro)
    {
     
    	int i, k=0, IPDR;
    	CH20 nomLu, prenomLu;
    	CH10 telLu;
    	CH5 codeCatLu;
     
     
    	fflush(stdin);
    	printf("Veuillez entrer le nom de la personne a ajouter dans le repertoire.\nNom : ");
    	gets(nomLu);
    	printf("\nVeuillez entrer son prenom.\nPrenom : ");
    	gets(prenomLu);
    	for(i=0; i<cpt; i=i+1)
    	{
    		if((strcmp(Tab1[i].nom, nomLu)==0))
    		{
    			if((strcmp(Tab1[i].prenom, prenomLu)==0))
    			{
    				IPDR=i;
    				k=1;
    				i=cpt-1;
    			}
    		}
    	}
    	if(k==1)
    	{
    		printf("Erreur. Personne deja rentree :\n\n\t");
    		printf("%-25s %-25s %-15s %-10s\n\n", Tab1[IPDR].nom, Tab1[IPDR].prenom, Tab1[IPDR].tel, Tab1[IPDR].codeCat);
    	}
    	else
    	{
    		printf("\nVeuillez entrer son telephone.\nTelephone : ");
    		gets(telLu);
    		printf("\nVeuillez entrer sa categorie(PRO ou PERSO).\nCategorie : ");
    		gets(codeCatLu);
    		if((strcmp(codeCatLu, "PRO")==0)||(strcmp(codeCatLu, "PERSO")==0))
    		{
    			strcpy(Tab1[cpt].nom, nomLu);
    			strcpy(Tab1[cpt].prenom, prenomLu);
    			strcpy(Tab1[cpt].tel, telLu);
    			strcpy(Tab1[cpt].codeCat, codeCatLu);
    			printf("\n\nLa personne a bien ete inscrite avec les informations suivantes :");
    			printf("\n\n\t%-25s %-25s %-15s %-10s\n\n", Tab1[cpt].nom, Tab1[cpt].prenom, Tab1[cpt].tel, Tab1[cpt].codeCat);
    			if((strcmp(codeCatLu, "PRO")==0))     // Ajout dans TI des Pros
    			{
                                      TI1[cptPro]=cpt;
                                      cptPro=cptPro+1;
                }
                cpt=cpt+1;	
    		}
    		else
    			printf("\n\nCategorie erronee, inscription non prise en compte.\n\n");
    	}
     
    	system("PAUSE");
     
    }
    Merci de votre aide.
    Ben parce qu'une fonction ne fait que recopier ce que tu lui passes dans sa zone de travail. Donc tu lui passes "j", la fonction recopie ce "j" dans sa variable nommée "cpt", travaille sur ce "cpt" puis détruit cette variable lorsqu'elle finit.

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void fct(int v)
    {
        v=12;
        printf("dans fonction: v=%d\n", v);
    }
     
    int main()
    {
        int v;
     
        v=5;
        printf("dans main: avant v=%d\n", v);
        fct(v);
        printf("dans main: après v=%d\n", v);
    }
    Pour qu'une fonction puisse modifier la valeur d'une variable, faut qu'elle reçoive l'adresse de cette variable et non la variable elle-même. Elle stocke cette adresse dans un pointeur et peut donc passer par ce pointeur pour aller choper la variable demandée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    void fct(int* pt)
    {
        *pt=12;
        printf("dans fonction: *pt=%d\n", *pt);
    }
    
    int main()
    {
        int v;
    
        v=5;
        printf("dans main: avant v=%d\n", v);
        fct(&v);
        printf("dans main: après v=%d\n", v);
    }
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Par défaut
    Ok merci ! Je vais donc utiliser des pointeurs...

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    1èrement : il manque les includes (stdio.h ...)
    Citation Envoyé par Dark_Alex69 Voir le message
    int _tmain(int argc, _TCHAR* argv[])
    OK tu utilises _tmain (sans inclure tchar.h soit dit en passant) mais dans tout le reste du programme tu n'utilises pas les caractères génériques (TCHAR) alors à quoi bon ?
    Citation Envoyé par Dark_Alex69 Voir le message
    printf("\t\tGestion du repertoire telephonique\n\n");
    As tu entendu parler de puts() ?
    Citation Envoyé par Dark_Alex69 Voir le message
    printf("\nRentrez le code : ");
    code = getchar();
    vide le buffer d'entrée
    Citation Envoyé par Dark_Alex69 Voir le message
    fflush(stdin);
    A moins que tu sois sous windows et que tu ne souhaites pas faire un programme portable, je te déconseille fflush(stdin) dont le comportement est indéterminé sur les autres OS je conseille :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scanf("%*[^\n]"),getchar();
    Citation Envoyé par Dark_Alex69 Voir le message
    gets(nomLu);
    oubli gets(), y a aucun moyen de la sécurisé je te conseille plutôt http://emmanuel-delahaye.developpez....tes.htm#saisie
    Citation Envoyé par Dark_Alex69 Voir le message
    system("PAUSE");
    utilise getchar() plutôt.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Par défaut
    Ca fait beaucoup de remarques !

    Pour TCHAR je ne sais pas ce que c'est, Visual Studio le met automatiquement...

    Puts() je ne connais pas !

    Tu as raison, pour le moment on ne travaille que sur des applications Win32 donc on n'a appris que fflush(stdin).

    Pour l'instant j'essaye de régler mon problème de pointeur à passer en paramètre de la fonction. Si quelqu'un pouvait m'aider ça serait sympa je ne suis pas encore au point avec les pointeurs (pas fait exprès le jeu de mots...)

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Citation Envoyé par Dark_Alex69 Voir le message
    Pour l'instant j'essaye de régler mon problème de pointeur à passer en paramètre de la fonction. Si quelqu'un pouvait m'aider ça serait sympa je ne suis pas encore au point avec les pointeurs (pas fait exprès le jeu de mots...)
    Pour que dans main l'appel à INSCRIPTION puisse modifier les variables j et pro, il faut que la fonction INSCRIPTION sache où ils se trouvent, donc connaisse leur adresse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSCRIPTION(Tab, TI, &j, &pro);
    La définition de INSCRIPTION en est donc modifiée, puique les deux derniers paramètres sont maintenant des adresses de int au lieu de int
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    void INSCRIPTION(struct contact Tab1[], int TI1[], int * cpt, int * cptPro)
    {...
    Maintenant, il faut modifier dans le code de INSCRIPTION l'utilisation des variables cpt et cptPro, qui sont maintenant des pointeurs sur int (alors que le code est écrit pour des objets int), par "objet à l'adresse cpt ", soit *cpt, et "objet à l'adresse cptPro ", soit *cptPro.

  7. #7
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Ce code compile mais avec des erreurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    #include <stdio.h>
    #include <string.h>
     
    typedef char CH20[21];
    typedef char CH10[11];
    typedef char CH5[6];
     
    typedef struct
    {
       CH20 nom;
       CH20 prenom;
       CH10 tel;
       CH5 codeCat;
    }
    contact;
     
    void inscription (contact[], int[], int *, int *);
    void SUPPRESSION (contact[], int[], int, int);
     
    int main (int argc, char **argv)
    {
       char code;
       contact Tab[100];
       int j = 0;
       int pro = 0;
       int TI[100];
       /* int TI2[100];          
          CH20 nomLu, prenomLu;
          CH10 telLu;
          CH5 codeCatLu; */
     
       printf ("\t\tGestion du repertoire telephonique\n\n"
               "Veuillez entrer :\n"
               "\tI pour inscrire une personne\n"
               "\tS pour supprimer une personne\n"
               "\tM pour modifier une personne\n"
               "\tT pour afficher tout le repertoire\n\t"
               "A pour afficher les relations personnelles\n"
               "\tP pour afficher les relations professionnelles\n"
               "\tR pour rechercher le telephone d'une personne\n\t"
               "N pour rechercher les telephones d'un certain nom\n"
               "\tB pour rechercher une personne dont on connait le telephone\n"
               "\tQ pour quitter"
               "\nRentrez le code : ");
       code = getchar ();
       scanf ("%*[^\n]"), getchar ();
     
       while (code != 'Q')
       {
          switch (code)
          {
          case 'I':
     
             puts ("\n\t\tinscription\n");
             inscription (Tab, TI, &j, &pro);
    // Verifications
             printf ("\nj = %d", j);
             printf ("\npro = %d", pro);
             printf ("\nTab[0] : %s %s", Tab[0].nom, Tab[0].prenom);
             printf ("\n\nRentrez le nouveau code : ");
             code = getchar ();
             break;
          }
       }
       return 0;
    }
     
    void inscription (contact Tab1[], int TI1[], int *cpt, int *cptPro)
    {
     
       int i, k = 0, IPDR = 0;
       CH20 nomLu, prenomLu;
       CH10 telLu;
       CH5 codeCatLu;
     
       printf ("Veuillez entrer le nom de la personne a ajouter dans le repertoire.\nNom : ");
       scanf ("%20[^\n]", nomLu);
       scanf ("%*[^\n]"), getchar ();
     
       printf ("\nVeuillez entrer son prenom.\nPrenom : ");
       scanf ("%20[^\n]", prenomLu);
       scanf ("%*[^\n]"), getchar ();
     
       for (i = 0; i < *cpt; i++)
       {
          if ((strcmp (Tab1[i].nom, nomLu) == 0))
          {
             if ((strcmp (Tab1[i].prenom, prenomLu) == 0))
             {
                IPDR = i;
                k = 1;
                i = *cpt - 1;
             }
          }
       }
       if (k == 1)
       {
          printf ("Erreur. Personne deja rentree :\n\n\t");
          printf ("%-25s %-25s %-15s %-10s\n\n", Tab1[IPDR].nom, Tab1[IPDR].prenom, Tab1[IPDR].tel, Tab1[IPDR].codeCat);
       }
       else
       {
          printf ("\nVeuillez entrer son telephone.\nTelephone : ");
          scanf ("%10[^\n]", telLu);
          scanf ("%*[^\n]"), getchar ();
     
          printf ("\nVeuillez entrer sa categorie(PRO ou PERSO).\nCategorie : ");
          scanf ("%5[^\n]", codeCatLu);
          scanf ("%*[^\n]"), getchar ();
     
          if ((strcmp (codeCatLu, "PRO") == 0) || (strcmp (codeCatLu, "PERSO") == 0))
          {
             strcpy (Tab1[*cpt].nom, nomLu);
             strcpy (Tab1[*cpt].prenom, prenomLu);
             strcpy (Tab1[*cpt].tel, telLu);
             strcpy (Tab1[*cpt].codeCat, codeCatLu);
             printf ("\n\nLa personne a bien ete inscrite avec les informations suivantes :");
             printf ("\n\n\t%-25s %-25s %-15s %-10s\n\n",
                     Tab1[*cpt].nom, Tab1[*cpt].prenom,
                     Tab1[*cpt].tel, Tab1[*cpt].codeCat);
     
             if (strcmp (codeCatLu, "PRO") == 0)
     
             {
                TI1[*cptPro] = *cpt;
                (*cptPro)++;
             }
             (*cpt)++;
          }
          else
          {
             puts ("\n\nCategorie erronee, inscription non prise en compte.\n");
          }
       }
       getchar ();
    }

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Par défaut
    Merci beaucoup je vais tester ça de suite.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 25
    Par défaut
    Ca marche bien pour l'inscription ! je vais essayer de faire toutes les modifications nécéssaires sur le reste du projet. Je vous tiens au courant si je galère vraiment... Encore merci !

Discussions similaires

  1. Problèmes avec les fonctions et replace
    Par Tommyl dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/12/2006, 21h34
  2. Problème avec les fonctions
    Par gizida dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/07/2006, 14h15
  3. Réponses: 2
    Dernier message: 10/05/2005, 10h58
  4. Problème avec les fonctions
    Par jvachez dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 13/01/2004, 12h06
  5. [Postgresql]Problème avec les fonctions ...
    Par fet dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/10/2003, 09h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo