Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupérer une donnée (scanf) sur un autre fichier

Sujet résolu
    6 mars 2023 à 9:54:50

    Bonjour.

    Je débute tout juste en C, j'ai un problème concernant la récupération d'une donnée tapée par l'utilisateur (avec scanf) sur un autre fichier.c

    J'essaye de faire une banque. Main appelle 2 fonctions, la fonction menu() qui se trouve dans le fichier menu.c et la fonction creation() qui se trouve dans le fichier creation.c. Si l'utilisateur indique le choix numéro 1, alors le code appelle la fonction creation.c.

    Comment récupérer le choix (1, 2 ou 3) tapé par l'utilisateur dans le fichier menu.c afin que le code puisse en suite appeler la fonction creation se trouvant dans le fichier creation.c ?

    J'ai du mal à expliquer, je vous mets mon code : 

    Voici main.c :

    #include <stdio.h>
    #include <stdlib.h>
    #include "menu.h"
    #include "creation.H"
    
    int main()
    
    char choix[1]= "";
    
    {
    	menu();
    	if (choix == 1)
    	{
    		creation();
    	}
    	return 0;
    }

    Et voici menu.c

    #include <stdio.h>
    #include <stdlib.h>
    
    void menu()
    {
        int choix[1];
    
        printf("1. Creation d'un compte\n");
        printf("2. Connexion\n");
        printf("3. Quitter le programme \n");
        printf("Choisir le menu : \n");
        scanf("%d", &choix);
    
    }

    Merci infiniment ! 

    • Partager sur Facebook
    • Partager sur Twitter
      6 mars 2023 à 12:29:57

      Bonjour ! Il faut que la fonction 'menu' retourne le choix ! (Et le choix ne doit pas être un tableau, mais juste un nombre). Ainsi tu pourras écrire :

      choix = menu();

      -
      Edité par robun 6 mars 2023 à 12:30:45

      • Partager sur Facebook
      • Partager sur Twitter
        6 mars 2023 à 13:07:04

        Bonjour ! Merci de ta réponse ! 

        Malheureusement ça ne fonctionne pas, une fois le choix (1 par exemple) entré, c'est la fonction menu() qui revient une seconde fois au lieu de la fonction creation() 



        robun a écrit:

        Bonjour ! Il faut que la fonction 'menu' retourne le choix ! (Et le choix ne doit pas être un tableau, mais juste un nombre). Ainsi tu pourras écrire :

        choix = menu();

        -
        Edité par robun il y a 18 minutes



        • Partager sur Facebook
        • Partager sur Twitter
          6 mars 2023 à 13:14:40

          Bonjour,

          Ce serait plutôt comme ça:

          #include <stdlib.h>
          #include "menu.h"
          #include "creation.h"
           
          int main(void)
          {
              int choix;
          
              choix = menu();
          
              if (choix == 1)
              {
                  creation();
              }
              return 0;
          }



          #include <stdio.h>
          #include <stdlib.h>
           
          int menu(void)
          {
              int choix;
           
              printf("1. Creation d'un compte\n");
              printf("2. Connexion\n");
              printf("3. Quitter le programme \n");
              printf("Choisir le menu : \n");
              scanf("%d", &choix);
          
              return(choix);
          }



          -
          Edité par Phil_1857 6 mars 2023 à 13:18:15

          • Partager sur Facebook
          • Partager sur Twitter
            6 mars 2023 à 14:26:36

            ChloAMN a écrit:

            Malheureusement ça ne fonctionne pas

            Mais si, ça fonctionne ! C'est juste que tu as dû oublier quelque chose (peut-être remplacer les tableaux par des nombres ?). Montre ce que tu as fait.

            Ah, ben pas la peine, Phil_1857 a posté la solution.

            • Partager sur Facebook
            • Partager sur Twitter
              6 mars 2023 à 14:30:30

              Génial merci beaucoup ! Ca fonctionne :)

              Passez une bonne journée ! 


              Phil_1857 a écrit:

              Bonjour,

              Ce serait plutôt comme ça:

              #include <stdlib.h>
              #include "menu.h"
              #include "creation.h"
               
              int main(void)
              {
                  int choix;
              
                  choix = menu();
              
                  if (choix == 1)
                  {
                      creation();
                  }
                  return 0;
              }



              #include <stdio.h>
              #include <stdlib.h>
               
              int menu(void)
              {
                  int choix;
               
                  printf("1. Creation d'un compte\n");
                  printf("2. Connexion\n");
                  printf("3. Quitter le programme \n");
                  printf("Choisir le menu : \n");
                  scanf("%d", &choix);
              
                  return(choix);
              }



              -
              Edité par Phil_1857 il y a environ 1 heure



              • Partager sur Facebook
              • Partager sur Twitter

              Récupérer une donnée (scanf) sur un autre fichier

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown