All pastes #985193 Raw Edit

index.c

public text v1 · immutable
·published 2008-04-14 20:58 UTC
rendered paste body

/* 
   gestion d'index telephonique (pour etre Client RPC)
          L. Perroton - ESIEE - 1998
*/

#include <stdio.h>

#include "index.h"

menu(){
  printf ( "\n       Menu:\n");
  printf ( "1) Rechercher un nom\n");
  printf ( "2) Ajouter un nom\n");
  printf ( "3) Faire afficher au srv\n");
  printf ( "4) lister les noms\n");
  printf ( "5) Terminer le serveur\n");
  printf ( "6) Recherche avec callback\n");
  printf ( "7) Connecter a un autre srv \n");
  printf ( "8) Quiter\n\n");
  printf ( "Faites votre choix + Enter: ");
}

main (int argc, char ** argv) {
  char *chaine = (char *)malloc(256), telephone[256];
  ligne *resultat, nouvelle;
	
  printf("test\n");
  CLIENT* clnt = clnt_create(argv[1], INDEX_PROG, INDEX_PROG_V1, "udp");
  printf("test\n");
  menu();
  while ( gets(chaine) ) {
    switch ( chaine[0] ) {
    case '1': /* recherche une entree dans l'index */
      printf ( "Recherche nom : "); gets(chaine);
      resultat = recherche_1_1 ( &chaine, clnt );
      printf ( "Nom : %s \t tel : %d\n", resultat -> nom, resultat -> tel );
      break;
    case '2': /* ajoute une entree  */
      printf ( "Ajout Nom : "); gets(chaine); nouvelle.nom = chaine;
      printf ("Tel : "); scanf ("%d", &nouvelle.tel ); getchar();
      printf ("Ajout: %d \n", (ajout_1_1( &nouvelle, clnt )) );
      break;
    case '3': /* affiche... */
      printf ( "Afficher : "); gets(chaine);
      printf ("%s\n", chaine);
      break;
    case '4': /*listage*/
      printf("Listage des noms :\n");
      void *truc;
      liste_ligne *lst_lig = listing_1_1(truc, clnt);
      liste_ligne *lst_tmp = lst_lig;
		printf("listing_1_1 = %p, lst_lig = %p",listing_1_1(truc, clnt), lst_lig);
      while(lst_tmp!=NULL){
			printf("Nom : %s, tel : %d\n",lst_tmp->lig.nom, lst_tmp->lig.tel);
			lst_tmp=lst_tmp->ptr_lig;
      }
		//clnt_freeres(clnt, (xdrproc_t) xdr_liste_ligne, (void*)lst_lig);
	break;
    case '8': /* quitter le client */
      exit(0);
      break;
    default: 
      printf ("Option non (encore) implémenté...");
    }
    menu();
  }

}