Rechercher : dans
Par :

Les procedure en C

Dernière réponse le 9 jan 2008 à 11:24:55 jean.sami, le 4 jan 2008 à 11:31:25 
 Signaler ce message aux modérateurs

Bonjour,
j'ai un problème avec les procedures
quand j'ai plusieurs procedures, telles que chaque procedure fait appel à une autre , mais le probleme est que le langage c n'accepte pas une appelle d'une procedure qui ne trouve pas en haut de procedure courante..... je sais que ça est un peu ambigue je vous donne un exemple sur ça:
(..E,T,F.....sont des procedures)


E()
debut
T();E1();
fin

E1()
debut
T();
E1();
fin

T1()
debut
F();T1();
fin

T()
debut
F();T1();
fin

F()
if......... then......
E();
fin

program /******debut de programme principale******/
debut
E();
......
fin



et merci beaucoup

Configuration: Windows XP
Internet Explorer 6.0

Meilleures réponses pour « les procedure en C » dans :
Les classes en langage C++ Voir La notion d'objet Le langage C est un langage procédural, c'est-à-dire que c'est un langage permettant de définir des données grâce à des variables, et des traitements grâce aux fonctions. L'apport principal du langage C++ par rapport au...
Windows XP : recréer son CD original (PC grande marque) VoirCréer son CD de Windows XP sur un ordinateur dépourvu du CD original. Préalable: La procédure décrite ci-dessous, sans être très complexe, s'adresse tout de même à des utilisateurs avertis et ayant un minimum de notions en informatique. La...
3D Secure / Verified by Visa / SecureCode: Qu'est-ce que c'est ? VoirDepuis octobre 2008, les banques et commerçants en ligne ont commencé à adopter le système 3DSecure pour les paiements sur Internet. Qu'est-ce que c'est ? 3DSecure est appelé "Verified by Visa" chez Visa, et "SecureCode" chez Mastercard. (Les logos...
[Langage C] C/C++ Erreur de segmentation VoirQu'est ce qu'une erreur de segmentation Vous êtes en train de développer une application sous Linux en C/C++. Tout va bien, ça compile, les oiseaux chantent. Donc vous lancez votre application pour la tester. Et vous obtenez l'un de ces deux...
Télécharger Visual C++ Express VoirVisual C++ Express est une version "gratuite" et allégée de Visual Studio ; l'utilisation requiert l'inscription sur le site de Microsoft. Cet environnement de développement permet de créer des application Win32 ou du .NET C.
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Les structures en langage C VoirDifférence entre une structure et un tableau Un tableau permet de regrouper des éléments de même type, c'est-à-dire codés sur le même nombre de bits et de la même façon. Toutefois, il est généralement utile de pouvoir rassembler des éléments de...
Langage C - Les types de données VoirLes types de données Les données manipulées en langage C sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître l'occupation mémoire (le...

1

ekra, le 4 jan 2008 à 11:54:53

Bonjour,

En C pour qu'une fonction puisse être appellée, il faut qu'elle ait été déclarée ou définie précédemment.
Pour cela, on est habitué à inclure un fichier nommé header qui inclue toutes les déclaration de fonctions du fichier.


Exemple :
----------coucou.h------------

#ifndef __COUCOU_H
#define __COUCOU_H
void a();
void b();
void c();
#endif /* __COUCOU_H */

--------------------------------


---------coucou.c----------
#include <stdio.h>

#include "coucou.h" /* Ici on inclue tes déclarations ! */

void a() {
b();
}

void b() {
c();
}

void c() {
puts("coucou");
}

int main(void) {
   a();
   return 0;
}

----------------------------------------------

Tu peux aussi, au lieu d'inclure le fichier, marquer directement les déclarations dans le fichier coucou.c
Ceci est une signature.

Répondre à ekra

2

jean.sami, le 4 jan 2008 à 12:23:22

Bonjour
j'ai pas bien compris ce que tu es en train de dire
parceque mon programme contient plusieurs procedures et chaque procedure fait appel aux plusieurs procedures

Répondre à jean.sami

3

ekra, le 4 jan 2008 à 13:16:18
Répondre à ekra

4

salhi, le 4 jan 2008 à 19:55:53

Bonjour jean.sami,
si tu n'as pas encore trouver une solution.
Il faut déclarer juste l'entête de la fonction avant de faire sa définition.
voila un exemple

#include <stdio.h>
void E( );
void E1( );
void T( );
void F( );
...
void E( )
{
T( ); E1( );
}
...


ekra veut vous dire qu'on peut faire cette déclaration dans un fichier .h à part

Répondre à salhi

7

 jean.sami, le 9 jan 2008 à 11:24:55

Merci monsieur Salhi
j'ai essayé ce que tu m'as demandé et ça marche
et merci infiniment

Répondre à jean.sami

5

jean.sami, le 5 jan 2008 à 18:50:41

Merci infiniment pour votre intention
mais mon programme contient plusieures procedures et chaque procedure fait appel à une autre ,,j'arrive pas à organiser mes procedures pour donner une meilleure resultats

Répondre à jean.sami

6

tatou_38, le 5 jan 2008 à 21:16:48

Le C se fout de l'ordre d'apparition des fonctions (procedure est un terme pascalien !), du moment que le compilo a trouvé le prototype de la fonction avant son appel.
Généralement on place les prototypes dans un fichier *.h inclu en tête de source (après les includes C comme stdio.h par ex)


tatou_38
Angers

Répondre à tatou_38
Collection CommentÇaMarche.net