Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++] Caricamento file, creazione e stampa di una lista ADT/pila

    Il programma è molto semplice sto modificando un programma già caricato su questo forum per migliorarlo e esercitarmi sulle pile però non va e non capisco cosa sbaglio

    Questo è il mio file txt

    rossi
    3321
    lorenzo
    3345
    ferrante
    2134
    lorenzo
    3345

    Questo è la mia libreria :



    codice:
    #include <iostream>
    #include <cstdlib>
    #include <fstream>
    #include <cstring>
    
    
    using namespace std;
    
    
    #define N 100
    
    
    typedef char Stringa [N];
    
    
    typedef struct {
        
        Stringa Nome;
        int Numero;
        
    }Lista;
    
    
    typedef Lista *Nodo;
    
    
    void crea_lista(Nodo &L);
    void crea_nodo(Nodo , int, Stringa);
    void append(Nodo , int, Stringa );
    void stampa_lista(Nodo L);
    Queste sono le mie funzioni:

    codice:
    #include "ordinamento.h"
    
    void crea_lista(Nodo &L){
        
        fstream file;
        Stringa nome_file, Nome;
        int num;
        cin.getline(nome_file, N-1, '\n');
        file.open(Nome, ios::in);
        if(!file){
            
            cout<<"Inserimento nome file non trovato \n";
            exit(1);
            
        }else{
            
            file>>Nome;
            file>>num;
            crea_nodo(L, Nome, num);
            
            while(!file.eof()){
                
                file>>Nome;
                file>>num;
                append(L, Nome, num)
                
            }
            
        }
        
    }
    
    
    
    
    void crea_nodo(Nodo &Temp, Stringa professore, int n){
        
        Temp= new Lista;
        Temp->Nome=professore;
        Temp->Numero=n;
        Temp->next=NULL;
        
    }
    
    
    void append(Nodo &Testalista, int val, Stringa N){
        
        Nodo prec, corr;
        
        if(Testalista==NULL){
            
            crea_nodo(Testalista,N, val);
            
        }else{
            
            corr=Testalista;
            prec=NULL;
            
            while(corr!NULL){
                
            prec=corr
            corr=corr->next;
            
            }
            
        crea_nodo(prec->next, N, val);
        
        }
        
    }
    
    
    void stampa_lista(Nodo L){
        
        while(L!=NULL){
            
            cout<<" \n"<<L->Nome;
            cout<<" \n"<<L->Numero;
            L=L->next=NULL;
            
        }
        
    }




    Questo e il mio main

    codice:
     #include "ordinamento.h"
    
    int main{
        
        Nodo L1;
        crea_lista(L1);
        stampa_lista(L1);
        
    }

    Questi sono gli errori :

    Immagine.jpg

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Fai attenzione ... hai scritto

    void crea_nodo(Nodo, int, Stringa);

    poi chiami

    crea_nodo(L, Nome, num);

    e la funzione è

    void crea_nodo(Nodo &Temp, Stringa professore, int n) {

    Non noti nulla?

    E questo è solo l'inizio ... ad esempio questo

    Temp->Nome = professore;

    che non è possibile. ...
    Ultima modifica di oregon; 11-07-2018 a 19:56
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.