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 :

appel de fonction


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2011
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2011
    Messages : 56
    Par défaut appel de fonction
    Bonjour à tous.
    j'ai un soucis (je suppose simple à résoudre mais blocage complet)

    J'ai deux fonctions en .c je souhaiterai appeler la fonction labyrinthe (appelé test) dans ma fonction Menu. Comme ça dès que les joueurs ont tapé leur nom, le labyrinthe s'affiche. Mais je n'y arrive pas.
    Quelqu'un aurait une solution?
    voici mes deux codes:
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include "FonctionsPrototype.h"
     
    int test()
    {
     
       char labyrinthe[15][15];
          FILE* fichier = NULL;
        int caractereActuel = 0;
        int ligne = 0;
        int colonne = 0;
        fichier = fopen("C:\\Users\\Coline\\PROJET VERY OFFICIEL\\labyrinthe.txt", "r");
     
        if (fichier != NULL)
        {
            caractereActuel = fgetc(fichier); // On initialise caractereActuel
     
    	// Boucle de lecture des caractères un à un
     
        while (caractereActuel != EOF) // On continue tant que fgetc n'a pas retourné EOF (fin de fichier)
    	{
     
                    if (caractereActuel == 10)
                    {
                                ligne++;
                                colonne=0;
                                printf("\n");
                    }
                    else
                    {
                                labyrinthe [ligne][colonne] = caractereActuel;
                                if (caractereActuel == 'M')
                                {
                                    printf("%c", (219));
                                }
                                else
                                {
                                    printf("%c", caractereActuel);
                                }
     
                                colonne++;
                    }
         caractereActuel = fgetc(fichier); // On lit le caractère suivant
    	}
    	// lecture du tableau caractère par caractère, stocké dans char current, affichage du caractère
     printf ("\n");
    fclose(fichier);
        }
     
      system("PAUSE");
      return 0;
    }
    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
    #include <stdio.h>
    #include <stdlib.h>
    #include "FonctionsPrototype.h"
     
    int Menu (Joueur *joueurA, Joueur *joueurB)
    {
        //printf("%d", joueurA.pos_x);
        int  choix=0;
        do
        {
         system("cls"); //Effacer les lignes du terminal precedent
         printf("\nHarry trotteur et le Panda cruel\n\n");
         printf("--- Menu ---\n");
         printf("1.) Pour commencer la partie, c'est ici!!\n");
         printf("2.) Quelques explications\n");
         printf("3.) Arreter\n\n");
         printf("tapez votre choix\n");
         scanf("%d", &choix);
         //lis la valeur que rentre l'utilisateur
     
     
         if( choix == 1) //Si l'utilisateur rentre la valeur "1" le programme va effectuer la fonction qui est en dessous
            {
            printf("comment s'appelle le joueur A? \n"); //On demande ici d'entrer le nom des 2 joueurs de la partie
            scanf("%s", joueurA->nom);
            printf("comment s'appelle le joueur B? \n");
            scanf("%s", joueurB->nom);
            }
     
     
         else if( choix == 2) //Si l'utilisateur rentre la valeur "2" il  a accès aux instructions du jeu
            {
            printf("Les commandes pour le jeu c'est ici!\n\n\n");
            printf("Ce jeu se joue a deux joueurs. \n\n");
            printf("Trouver le Panda cruel (P) avant l'autre.\n");
            printf("Rejoignez le vite dans sa case\n");
            printf("Vous vous transformerez en Harry trotteur PARTIE GAGNEE.\n\n");
            printf("Pour se deplacer suivez le guide:\n\n");
            printf("    D : droite\n\n");
            printf("    G : gauche\n\n");
            printf("    H : haut\n\n");
            printf("    B : bas\n\n");
            printf("Tapez la lettre puis le nombre de cases dont vous voulez vous deplacer\n");
            printf("exemple: D5 pour 5 cases vers la droite\n\n\n");
            printf("Des aides sont disseminees ca et la dans le labyrinthe:\n");
            printf("Il existe en effet 2 objets magiques : \n");
            printf("          \n\n");
            printf("          LES FIOLES (F) a vous de les recuperer avant l'autre\n");
            printf("   Vous n'avez qu'a passer par la case d'une fiole.\n ");
            printf("   celle ci se rajoute a votre inventaire automatiquement\n");
            printf("   les fioles permettent de passer au travers des murs \n");
            printf("   ATTENTION. une fiole = un mur !!!\n\n\n");
            printf("          LES CAPES (C) \n");
            printf("   Vous n'avez qu'a passer par la case d'une cape.\n ");
            printf("   celle ci se rajoute a votre inventaire automatiquement\n");
            printf("   ATTENTION: Equiper la cape compte comme un deplacement\n");
            printf("   Endosser la cape ou la deposer s'effectue au moyen de lettres:\n");
            printf("               C : Vous endossez la cape vous rendant invisible.\n");
            printf("               P : Vous deposez la cape vous rendant de nouveau visible.\n\n");
            printf("   L'autre joueur ne pourra pas vous traverser.\n");
            printf("   Il se retrouvera donc bloquer (meme s'il a une fiole)\n");
            printf("\n\nContinuer...");
            system("PAUSE");
            }
           else if( choix == 3)
                {
                exit(EXIT_SUCCESS);
                }
           else if( choix != 1 && choix != 2 && choix != 3) //Si la commande rentrée ni 1 ni 2 ni 3 le programme va afficher un message d'erreur et réafficher le menu
                {
                printf("Veuillez entrer un nombre correct.\n\n"); //message d'erreur
                system("PAUSE");
                }
         }
         while (choix != 1); //tant que la personne ne commence pas à jouer elle retombera sur le menu principal. Elle peut donc voir les regles à volonté avant de commencer à jouer
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

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

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Qu'est-ce qui te pose problème ? Je suppose que tu sais appeler une fonction ?

  3. #3
    Membre habitué
    Homme Profil pro
    Student in Computer Science
    Inscrit en
    Décembre 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Student in Computer Science
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 8
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if( choix == 1) //Si l'utilisateur rentre la valeur "1" le programme va effectuer <s>la fonction</s> les instructions qui sont en dessous
            {
            printf("comment s'appelle le joueur A? \n"); //On demande ici d'entrer le nom des 2 joueurs de la partie
            scanf("%s", joueurA->nom);
            printf("comment s'appelle le joueur B? \n");
            scanf("%s", joueurB->nom);
            printf("C'est parti !");
            test(); //En supposant que la fonction se trouve dans le même fichier que celui de la fonction main()
    }
    Dite le moi si je me trompe, mais je pense bien que ça doit suffire :p

    Bon travail

  4. #4
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    Je suppose que le fichier FonctionsPrototype.h contient la déclaration de la fonction test, c'est-à-dire int test(void);. void entre les parenthèses facultatif mais le sens de la déclaration si on l'omet sera tout autre. Cela est expliqué ici. Précise également la nature de ton problème car je doute le problème soit que tu ne saches pas appeler une fonction, vu que tu n'as aucun mal à utiliser system ou printf par exemple.

Discussions similaires

  1. Appeler une fonction avec "action" ds un
    Par drinkmilk dans le forum ASP
    Réponses: 4
    Dernier message: 20/04/2004, 14h54
  2. Réponses: 4
    Dernier message: 19/04/2004, 13h41
  3. [JSP] Appeler une fonction
    Par Patrick95 dans le forum Servlets/JSP
    Réponses: 10
    Dernier message: 23/12/2003, 13h44
  4. Appel à des fonctions incluses dans des DLL
    Par Greybird dans le forum Langage
    Réponses: 3
    Dernier message: 26/05/2003, 13h33
  5. Appeler une fonction avec/sans parenthèses
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 29/12/2002, 18h48

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