hg S’enregistrer Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie

Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie  forum informatique Tunisie Index du Forum

hg Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Rechercher Rechercher Membres Membres Groupes Groupes Profil Profil Se connecter pour vérifier ses messages privés Messages Privés Connexion Connexion


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum, vous devez
 
inscrire sur notre forum a partir d'ici
 
  NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
forum d'aide informatique : internet, réseau, programmation informatique ...
TDn°9
 
 
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> (¯`·._.·[Series TD & TP']·._.·´¯)
hg Sujet précédent :: Sujet suivant   hd
Auteur Message
KARIMOS
Administrateur

Hors ligne

Inscrit le: 02 Nov 2008
Messages: 1 710
Masculin
Point(s): 5 479
Moyenne de points: 0

Posté le: Dim 24 Jan - 15:00 (2010)    Sujet du message: TDn°9 Répondre en citant

PublicitéSupprimer les publicités ?
Difficulté : ***

Je vais vous apprendre un truk :
Vous vous souvenez surement de l'implémentation (on ajoute 1 a un nombre).
On vas faire un programme qui vas afficher a l'écran 1, 2, 3 et 4 comme ceci :

Code:
//Main.c
#include<stdio.h>
#include<stdlib.h>
#include "incre.h"

int main(int argc, char *argv[])
{
    printf("%d\n", incre());//nombre + 1 = 1 (car nombre = 0)
    printf("%d\n", incre());
    printf("%d\n", incre());
    printf("%d\n", incre());
 getch();
    return 0;
}

cette fonction ajoute 1 a notre nombre, (la fonction incre est inclue a partir du incre.h).

Code:
//Incre.h
int incre();//prototype de la fonction incrémentation, les parenthèses vides = void.

int incre() //fonction incrementation.
{
    int nombre = 0;
    nombre++;
    return nombre;
}


C'est notre fonction incre.

Essayez le code...
Bon ce n'est pas tout a fait le résultat que l'on attendais...
Je vous explique, a la fin d'une fonction notre variable ne garde pas sa valeur. C'est a dire que dans l'exemple qu'on a pris, la variable nombre reste a 0 :
printf("%d\n", incre());//nombre + 1 = 1 (car nombre = 0)
printf("%d\n", incre()); //nombre vaut toujours 0, donc 0 = 1 = 1
printf("%d\n", incre());// ...
printf("%d\n", incre());

nombre vaut toujours 0. Donc on vas utiliser le mot clè : "static".
En fait une variable de type static n'est pas supprimée a la fin de la fonction. On initialise une variable static comme ceci :
Code:
static int nombre = 0;


La prochaine fois qu'on appellera la fonction, la variable aura conservé sa valeur.

Pour vous le prouver on vas reprendre notre code précédent et dans notre incre.h on vas juste ajouter "static" devant la variable "nombre" comme ca :
Code:
int incre();
int incre()
{
   static int nombre = 0; //La variable garde sa valeur
    nombre++;
    return nombre;
}


Essayez a nouveau notre programme après l'avoir compilé, il affiche bien 1, 2, 3, 4 car "nombre" garde sa valeur. Il passe de 0 a 1, ensuite de 1 a 2...


 
Revenir en haut
icode15


Hors ligne

Inscrit le: 20 Nov 2009
Messages: 1
Point(s): 1
Moyenne de points: 0

Posté le: Sam 3 Avr - 12:51 (2010)    Sujet du message: TDn°9 Répondre en citant

cool cest tres bien fait pour un debutant en implementation

 
Revenir en haut
Contenu Sponsorisé






Posté le: Aujourd’hui à 17:01 (2016)    Sujet du message: TDn°9

 
Revenir en haut
Montrer les messages depuis:   
bg bd
Poster un nouveau sujet   Répondre au sujet    Bac Tunisie Algorithmique et programmation : BAC INFORMATIQUE En Tunisie forum informatique Tunisie Index du Forum -> Espace étudiants -> (¯`·._.·[Series TD & TP']·._.·´¯) Toutes les heures sont au format GMT + 1 Heure
 
Page 1 sur 1

 
Sauter vers:  
Index | créer forum gratuit | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation