/*TP Noté SD 2010*/
/*ICI Mettre vos nom et prénom*/

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>


/*Constantes symboliques*/

//taille maximale des chaînes de caractères : 
//nom des personnages
#define TAILLENOM 32
//un vers (ie une ligne)
#define MAXTAILLEVERS 128

//nombre de personnages max
#define MAXNUMPERS 10

//nb max de vers dans un texte
#define MAXNUMVERS 1024


/*lit la ligne courante du fichier, et retourne la chaîne de
  caractères correspondante (sans le saut de ligne)*/
char* monfgets(FILE* fp)
{
  //Taille max d'une ligne = taillemax d'un vers +1
  char input[MAXTAILLEVERS+1]; 
  fgets(input,MAXTAILLEVERS+1,fp);
  char *resu = strndup(input,strlen(input)-1);
  return resu;
}

/*Question 3 : Type distribution + fonction d'impression*/

/*Question 4 : Ajoute un personnage à une distribution*/

/*Question 6 : Recup des infos de la distribution*/

/*Question 7 : Recherche d'id*/


/*Types vers et piece en vers*/

typedef struct Vers {
  int idpersonne;
  char contenu[MAXTAILLEVERS];
} Vers;


/*Question 8*/


/*Question 9 */
//lit le texte à partir de la ligne #Texte, ligne par ligne (vers par vers)
//Remplit la structure PieceEn Vers, commentée parce que non déclarée....
int ajouteVers(FILE* fp)//,PieceEnVers *texte,Distribution dist)
{
  int currpersid = -1;
  int lastcurrpersid = -1;

  bool fini = false;
  char* chaine2;
  Vers v;
  int taille;
  //  texte->dernvers=0; // décommentez ici !

  while (!fini) 
    {
      chaine2 = monfgets(fp); // On lit le fichier ligne par ligne 
      if (chaine2==NULL) return 1;      
      if (strcmp(chaine2,"#fin")==0) fini= true;
      else { 
	// chaine2 est le personnage, construire les vers correspondant.
	

	//Remplir ici!

      }      
    }
  return 0;
}


/*Question 10*/

/*Question 11*/



/*Main*/
int main (int argc, char *argv[])
{
  



  return 0;
}
  

