Visualizzazione dei risultati da 1 a 7 su 7

Visualizzazione discussione

  1. #5
    Utente di HTML.it L'avatar di ggd94
    Registrato dal
    Aug 2014
    residenza
    Rome
    Messaggi
    15
    ok grazie e scusate...posto di seguito nuovamente tutto il codice ...
    Questo è il mio FILE HEADER:
    codice:
    struct persona{
        char nome[50];
        char cognome[50];
    };
    typedef struct persona Persona;
    
    struct elemSCL{
        Persona elemento;
        struct elemSCL* next;
    };
    typedef struct elemSCL nodoFilaSCL;
    typedef nodoFilaSCL* filaSCL;
    
    void creaFila(filaSCL* fila,int n);
    
    filaSCL aggiungi(filaSCL fila,Persona p);
    
    void stampa(filaSCL fila);
    
    filaSCL raccomanda(filaSCL fila, Persona p, const int n);
    
    int lunghezza(filaSCL fila);
    FILE-MAIN.C:
    codice:
    int main(){
        filaSCL fila3=NULL;
        creaFila(&fila3,3);
        const int n=2;
        Persona p1={"Giulia","G"};
    raccomanda(fila3,p1,n);
        stampa(fila4);
        printf("\n");
        return 0;
    }
    FILE.C:
    codice:
    void creaFila(filaSCL* fila,int n){
        if(n!=0){
            Persona c;
            filaSCL temp=(nodoFilaSCL*)malloc(sizeof(nodoFilaSCL));
            printf("inserisci nome:");
            scanf("%s",c.nome);
            printf("inserisci cognome:");
            scanf("%s",c.cognome);
            temp->elemento=c;
            temp->next=*fila;
            *fila=temp;
            creaFila(fila,n-1);
        }
    
    filaSCL aggiungi(filaSCL fila,Persona p){
        filaSCL temp=(nodoFilaSCL*)malloc(sizeof(nodoFilaSCL));
        temp->elemento=p;
        temp->next=NULL;
        filaSCL ultimo=fila;
        while(ultimo->next!=NULL){
            ultimo=ultimo->next;
        }
        ultimo->next=temp;
        filaSCL temp1=fila;
        return temp1;
    }
    
    filaSCL raccomanda(filaSCL fila, Persona p, const int n){
        int len=lunghezza(fila);
        if(n>len){
            return aggiungi(fila,p);
        }
        else{
            int num=n;
            filaSCL ultimo=fila;
            while(num!=1){
                ultimo=ultimo->next;
                num--;
            }
            filaSCL temp=(nodoFilaSCL*)malloc(sizeof(nodoFilaSCL));
            filaSCL temp1=ultimo;
            temp->elemento=p;
            temp->next=temp1;
            ultimo=temp;
            filaSCL fila2=fila;
            return fila2;
        }
    }
                
            
    
    int lunghezza(filaSCL fila){
        if(fila!=NULL){
            return 1+lunghezza(fila->next);
        }
        return 0;
    }
    
    void stampa(filaSCL fila){
        if(fila!=NULL){
            printf("%s %s ",fila->elemento.nome,fila->elemento.cognome);
            stampa(fila->next);
        }
    }
    Ultima modifica di ggd94; 06-09-2014 a 11:12

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.