init projet
This commit is contained in:
57
tp2/sujet/genprint.h
Normal file
57
tp2/sujet/genprint.h
Normal file
@@ -0,0 +1,57 @@
|
||||
#ifndef GENPRINT_H_
|
||||
#define GENPRINT_H_
|
||||
|
||||
#include "compare.h"
|
||||
|
||||
typedef enum type_t { // pour les switch()
|
||||
INT,
|
||||
INT2,
|
||||
CHAR,
|
||||
DOUBLE,
|
||||
STRING,
|
||||
STRING2,
|
||||
POINTX,
|
||||
POINTY,
|
||||
} type_t;
|
||||
|
||||
#define NUMTYPES (POINTY + 1)
|
||||
#define MAX_TYPE_NAME_LEN 8
|
||||
|
||||
// Initialisation aléatoire de l'élément T[i].
|
||||
//
|
||||
// Les entiers sont aléatoires dans [0,100[.
|
||||
// Les caractères sont des lettres majuscules aléatoires.
|
||||
// Les doubles sont aléatoires dans [-1,+1].
|
||||
// Les chaînes sont d'au plus MAXSTR minuscules aléatoires.
|
||||
// Les points sont aléatoires dans [0,10[ x [0,10[.
|
||||
void init(type_t t, void *T, int i);
|
||||
|
||||
// Affiche T[i] avec le bon format suivant le type t.
|
||||
//
|
||||
// Les entiers sont affichés sur 2 chiffres, sans signe si positifs.
|
||||
// Les doubles le sont avec leur signe et 2 chiffres après la virgule.
|
||||
// Les points le sont comme (5.2,3.1) avec 1 chiffre après la virgule.
|
||||
void print(type_t t, const void *T, int i);
|
||||
|
||||
// Affiche le contenu du tableau T d'éléments de type t de nb éléments.
|
||||
void print_array(const void *T, type_t t, int nb);
|
||||
|
||||
// Lit un tableau d'éléments depuis un flux.
|
||||
// - Le flux f doit être ouvert en lecture.
|
||||
//
|
||||
// En cas de succès :
|
||||
// - Le type des éléments est indiqué dans t.
|
||||
// - Le nombre d'éléments est indiqué dans nb.
|
||||
// - La fonction renvoie le tableau alloué dynamiquement.
|
||||
//
|
||||
// En cas d'erreur, NULL est retourné et le tableau n'est pas alloué.
|
||||
//
|
||||
// Le format du fichier est le suivant :
|
||||
// - une ligne avec le nombre d'éléments du tableau.
|
||||
// - une ligne avec le type des éléments du tableau
|
||||
// (int, int2, char, double, string, string2, pointx ou pointy).
|
||||
// - les éléments du tableau, séparés par des espaces.
|
||||
// Des fichiers d'exemple sont fournis (array*.txt).
|
||||
void *read_array(FILE *f, type_t *t, int *nb);
|
||||
|
||||
#endif // GENPRINT_H_
|
||||
Reference in New Issue
Block a user