Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.00 KB | None | 0 0
  1. //programme: TD1
  2. //auteur: Maxime LOIZEAU
  3. //date dernière modification 09/02/2011
  4. #include <stdio.h>
  5. #include <stdlib.h>
  6.  
  7.  
  8. #define TAILLE_TAB 3
  9. typedef int Elements;
  10.  
  11. typedef struct {
  12.     int premier, dernier, nbEl;
  13.     Elements fileTab[];
  14. } file;
  15.  
  16. void initFile(file *laFile) {
  17.     laFile->premier = 0;
  18.     laFile->dernier = 0;
  19.     laFile->nbEl = 0;
  20.     laFile->fileTab[TAILLE_TAB];
  21. }
  22.  
  23. void entrer(file *laFile, Elements aEnfiler) {
  24.     laFile->fileTab[laFile->dernier] = aEnfiler;
  25.  
  26.     if (laFile->dernier >= (TAILLE_TAB-1)) {
  27.         laFile->dernier = 0;
  28.     }
  29.     else {
  30.         laFile->dernier++;
  31.     }
  32.  
  33.     laFile->nbEl++;
  34. }
  35.  
  36. Elements sortir(file *laFile) {
  37.     Elements element = laFile->fileTab[laFile->premier];
  38.  
  39.     if (laFile->premier >= (TAILLE_TAB-1)) {
  40.         laFile->premier = 0;
  41.     }
  42.     else {
  43.         laFile->premier++;
  44.     }
  45.  
  46.     laFile->nbEl--;
  47.  
  48.     return element;
  49. }
  50.  
  51. int fileVide(file laFile) {
  52.     int vide;
  53.  
  54.     if (laFile.nbEl == 0) {
  55.         vide = 1;
  56.     }
  57.     else { vide = 0; }
  58.  
  59.     return vide;
  60. }
  61.  
  62. int filePleine(file laFile) {
  63.     int pleine;
  64.  
  65.     if (laFile.nbEl >= TAILLE_TAB) {
  66.         pleine = 1;
  67.     }
  68.     else { pleine = 0; }
  69.  
  70.     return pleine;
  71. }
  72.  
  73. void affichage(file laFile) {
  74.     Elements toPrint;
  75.     int position;
  76.  
  77.     position = laFile.premier;
  78.  
  79.     while (position < laFile.dernier) {
  80.             toPrint = laFile.fileTab[position];
  81.             printf("%lu\n", toPrint);
  82.  
  83.             position++;
  84.         }
  85. }
  86.  
  87.  
  88. int main() {
  89.     //Déclaration
  90.     file laFile;
  91.     int plein, vide;
  92.     Elements returned, returned2;
  93.  
  94.     //intialisation de la file
  95.     initFile(&laFile);
  96.    
  97.    
  98.     //##### AXIOME 1: Init(File) => fileVide = 1
  99.  
  100.     //on enfile 2 élements
  101.     entrer(&laFile, 90);
  102.     entrer(&laFile, 67);
  103.  
  104.  
  105.     //On affiche le contenu de la file à cet instant t
  106.     affichage(laFile);
  107.     //printf("%lu\n", laFile.fileTab[0]);
  108.     //printf("%lu\n", laFile.fileTab[1]);
  109.  
  110.  
  111.     return 0;
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement