Files
prog-c/tp3/TP3/testprint.h

52 lines
1.8 KiB
C
Raw Normal View History

2024-10-06 15:32:20 +02:00
#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_