Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - funzione cancellazione lista lineare
Forum - C/C++ - funzione cancellazione lista lineare

Avatar
matteog (Normal User)
Pro


Messaggi: 149
Iscritto: 10/04/2009

Segnala al moderatore
Postato alle 13:44
Domenica, 24/05/2009
ciao a tutti potete aiutarmi a scrivere la funzione di cancellazione di un contatto????
nn sò come fare !!!!!!!!!!!!!!!!


#include "stdafx.h"
#include <iostream>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include "windows.h"
using namespace std;
typedef char stringa[40];
struct membro{
     stringa nome;
     stringa cognome;
     stringa citta;
     stringa numero_casa;
     stringa cellulare;
     stringa email;
     membro * succ;
};
membro * lista=NULL;
membro * first=NULL;
membro * prev;
membro * next;
void cornice(void);
void aggiungi(void);
void ricerca(void);
void modifica(void);
void cancella();
int scelta, termina=0, nomu=0;

int main(){
     cornice();
    do{
     cin>>scelta;
     switch(scelta)
     {
         case 1:
         aggiungi();
         break;
         case 2:
         modifica();
         break;
         case 4:
         ricerca();
         break;
         case 3:
         cancella();
         break;
     }
    }
while(termina==0);
return 0;
}
void aggiungi(void){
     int i=1, num_membri=3, ins=0;
    
     nomu=0;
     do
     {
     nomu=1;
     lista=new(membro);
     cout<<"AGGIUNTA DI UN MEMBRO ALLA RUBRICA";
     cout<<"Inserisci il NOME : ";
     cin>>lista->nome;
     cout<<"Inserisci il COGNOME : ";
     cin>> lista->cognome;
     cout<<"Inserisci la CITTA' : ";
     cin>> lista->citta;
     cout<<"Inserisci il NUMERO DI CELLULARE : ";
     cin>>lista->cellulare;
     cout<<"Inserisci il NUMERO DI CASA : ";
     cin>>lista->numero_casa;
     cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
     cin>>lista->email;
     lista->succ=NULL;
     first=lista;
     i=i+1;
     cout<<i<<"     ";
     }
     while(i<=num_membri);
     nomu=0;
     cornice();
}

void ricerca(void){
     int trovato=0;
     stringa nomet;
     nomu=1;
     cornice();
     lista=first;
     cout<<"Inserisci il nome del membro da trovare : ";
     cin>>nomet;
     while((trovato==0)&&(lista!=NULL)){
      if(strcmp(lista->nome,nomet)==0)
      {
          trovato=1;
      }
      if (trovato=1)
      {
          cout<<"Ecco i dati del membro di nome " <<nomet <<" :";
    
        cout<<"Nome: "<<lista->nome;
      
      cout<<"Cognome: "<<lista->cognome;
    
      cout<<"Citta': "<<lista->citta;
    
      cout<<"Numero del cellulare: "<<lista->cellulare;
    
      cout<<"Numero di casa: "<<lista->numero_casa;
    
      cout<<"Indirizzo email: "<<lista->email;
      }
      else
      {
      lista=lista->succ;
     }
     if(trovato==0)
     {
       cout<<"Il membro di nome " <<nomet <<" non e' presente in rubrica.";
     }
      nomu=0;
     cornice();
     }
}
void modifica(void)
{
     int trovato=0;
     stringa nomet;
     nomu=1;
     cornice();
     lista=first;
     cout<<"Inserisci il nome del membro da trovare : ";
     cin>>nomet;
     while((trovato==0)&&(lista!=NULL))
     {
      if(strcmp(lista->nome,nomet)==0)
      {
          trovato=1;
          if(trovato=1)    
          {
          cout<<"Inserisci il NOME : ";
          cin>>lista->nome;
          cout<<"Inserisci il COGNOME : ";
          cin>> lista->cognome;
          cout<<"Inserisci la CITTA' : ";
          cin>> lista->citta;
          cout<<"Inserisci il NUMERO DI CELLULARE : ";
          cin>>lista->cellulare;
          cout<<"Inserisci il NUMERO DI CASA : ";
          cin>>lista->numero_casa;
          cout<<"Inserisci l'INDIRIZZO DI POSTA ELETTRONICA : ";
          cin>>lista->email;
      }
      }
    
     }
}
void cancella(void)
{

     int trovato=0;
     stringa nomet;
     nomu=1;
     cornice();
     lista=first;
     cout<<"Inserisci il nome del membro da trovare : ";
     cin>>nomet;
     while((trovato==0)&&(lista!=NULL))
     {
        if(strcmp(lista->nome,nomet)==0)
        {
           trovato=1;
          
        }    
        
     }
cornice();
}  

void cornice(void)
{
       if(nomu==0)
       {
          
       cout<<"1. Aggiungi numero"<<endl;
      
       cout<<"2. Modifica numero"<<endl;
      
       cout<<"3. Cancella numero"<<endl;
      
       cout<<"4. Ricerca  numero"<<endl;
      
       cout<<"5. Visualizza cognomi della rubrica"<<endl;
      
       cout<<"6. Esci dalla rubrica"<<endl;
      
       cout<<"FAI LA TUA SCELTA >>> Inserisci un valore : "<<endl;
     }
}
Codice sorgente - presumibilmente Plain Text

  1.  

Codice sorgente - presumibilmente Plain Text

  1.  

Codice sorgente - presumibilmente Plain Text

  1.  

Codice sorgente - presumibilmente Plain Text

  1.  

Codice sorgente - presumibilmente Plain Text

  1.  


PM Quote