Advertisement
framp

InserisciUtente (per la Sabri)

Jun 3rd, 2011
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.28 KB | None | 0 0
  1. rubrica InserisciUtente(rubrica rub, char*nome, char*numero){
  2.   printf("DEBUG: INSERISCI UTENTE\n");
  3.   if(!rub){
  4.     printf("DEBUG: la rubrica รจ vuota, inserisco prima\n");
  5.     return InserisciInizio(rub,nome,numero);
  6.   }else{
  7.     printf("DEBUG: rub: %s %s\n", rub->utente, rub->telefono );
  8.     int i=strcmp(rub->utente,nome);
  9.     if(i>0){
  10.       printf("DEBUG: %s>%s, inserisco prima\n", rub->utente, nome);
  11.       return InserisciInizio(rub,nome,numero);
  12.     }
  13.     if(i<0){
  14.       printf("DEBUG: %s<%s, inserisco dopo\n", rub->utente, nome);
  15.       rubrica R=InserisciUtente(rub->next,nome,numero);
  16.       printf("DEBUG: MERGE BACK.. %s\n", R->utente);
  17.       int j = strcmp(R->utente, rub->utente);
  18.       if (j==0){
  19.     nome = R->utente;
  20.     i=0;
  21.       }else if (j<0){
  22.     printf("DEBUG: %s<%s, inserisco prima\n", R->utente, rub->utente);
  23.     char*proxNome = R->utente, *proxTelefono = R->telefono;
  24.     rub->next=R->next;
  25.     R->next = rub;
  26.     return R;
  27.       }else{
  28.     printf("DEBUG: %s>%s, inserisco dopo\n", R->utente, rub->utente);
  29.     rub->next=R;
  30.     return rub;
  31.       }
  32.     }
  33.  
  34.   if(i==0){
  35.    char new[80];
  36.    printf("Utente %s giร  presente nella rubrica\n",nome);
  37.    printf("Inserisci un altro nome per il nuovo utente:");
  38.    scanf("%s",new);
  39.    return InserisciUtente(rub,new,numero);}
  40.  }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement