52 lines
1.8 KiB
C
52 lines
1.8 KiB
C
|
|
#ifndef TESTPRINT_H_
|
||
|
|
#define TESTPRINT_H_
|
||
|
|
|
||
|
|
#include "alloc.h"
|
||
|
|
#include "queue.h"
|
||
|
|
#include "stack.h"
|
||
|
|
|
||
|
|
// Pour l'affichage des piles.
|
||
|
|
// Taille maximale d'un entier dans une pile, pour l'affichage.
|
||
|
|
#define STARS "*******"
|
||
|
|
#define MAX_SIZE_INT_STACK 7
|
||
|
|
#define PRINT_STARS \
|
||
|
|
do { \
|
||
|
|
printf("%*s", MAX_SIZE_INT_STACK, STARS); \
|
||
|
|
} while (0)
|
||
|
|
|
||
|
|
#define PRINT_BLANK \
|
||
|
|
do { \
|
||
|
|
printf("%*s", MAX_SIZE_INT_STACK, ""); \
|
||
|
|
} while (0)
|
||
|
|
|
||
|
|
// Permet l'expansion d'une macro
|
||
|
|
#define xstr(s) str(s)
|
||
|
|
// Ex: scanf("%"xstr(DMAX)"s",buffer);
|
||
|
|
#define str(s) #s
|
||
|
|
|
||
|
|
// Fonction d'affichage d'un nombre arbitraire de piles.
|
||
|
|
//
|
||
|
|
// Cette fonction est déjà écrite (elle est utile pour afficher les tours de
|
||
|
|
// Hanoi). Elle utilise un nombre variable de parametres, comme printf.
|
||
|
|
//
|
||
|
|
// Utilisation : printstacks(h,nb,p1,p2,p3,p5,...)
|
||
|
|
//
|
||
|
|
// h est la hauteur minimale d'affichage (si h est inférieure à la hauteur de
|
||
|
|
// plus grande pile, il est remplacé par cette hauteur).
|
||
|
|
//
|
||
|
|
// nb est le nombre de piles à afficher.
|
||
|
|
//
|
||
|
|
// p1,p2,p3,p4,p5,... sont les nbs piles à afficher.
|
||
|
|
//
|
||
|
|
// Attention, la fonction est prévue pour afficher des nombres à (au plus)
|
||
|
|
// MAX_SIZE_INT_STACK chiffres. Pour afficher des piles contenant des nombres à
|
||
|
|
// plus de 7 chiffres, il faut modifier la valeur de MAX_SIZE_INT_STACK et celle
|
||
|
|
// de la macro STARS.
|
||
|
|
void print_stacks(int, int, ...);
|
||
|
|
|
||
|
|
// Fonction d'affichage d'une file.
|
||
|
|
// Cette primitive est déjà écrite. Utilisez-la pour vos tests.
|
||
|
|
void print_queue(const queue *);
|
||
|
|
|
||
|
|
#endif // TESTPRINT_H_
|