Visualizzazione dei risultati da 1 a 10 su 15

Visualizzazione discussione

  1. #10
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Manca la cin.ignore() dopo la cin>>size

    Elimina la cin.ignore() dopo la cin.getline

    La funzione read_list deve accettare il parametro size per riferimento

    void read_list(List &L, int &size)

    Nel main devi passare il valore size

    int size;


    read_list(Mylist, size);
    write_list(Mylist, size);
    Gli passavo int size come int List_size in size era l'alias che usavo all'interno delle funzioni, comunque grazio mi scordo sempre di svuotare il buffer, comunque non so con che cosa sbaglio ma mi da errori.

    main:
    codice:
    #include "VettStruct_lib.h"
    
    int main(){
        
        List Mylist;
        Element MyElement;
        int size;
        
        read_list(Mylist, size);
        write_list(Mylist, size);
        
    }
    funzioni array struct:

    codice:
    #include "VettStruct_lib.h"
    
    void read_list(List &L, int &size){
        
        cout<<" Inserisci il numero degli elementi della lista: ";
        cin>>size;
        cin.ignore();
        for(int i=0; i<size; i++){
            read_element(L[i]);
            create_element(L[i]);
        }    
    
    
    }
    
    
    void write_list(List &L,const int size){
            
        cout<<"Stampo gli elementi della lista : \n";
        for(int i=0; i<size; i++){
            cout<<(i+1)<<") ";
            write_element(L[i]);
            
        }
        
    }
    Libreria array struct:

    codice:
    #include "Struct_lib.h"
    
    #define L_DIM 100
    
    
    typedef Element E;
    typedef E List[L_DIM];
    
    
    void read_list(List &, int &);
    void write_list(List &,const int );
    Funzioni elementi struct:

    codice:
    #include "Struct_lib.h"
    
    void read_element(Element &E){
        
        E.info=0;
        E.key=0;
        
    }
    
    
    void create_element(Element &E){
    
    
            String name;
            
            cout<<"\n Iserisci la chiave dell'elemento :";
            cin>>E.key;
            cin.ignore();
            cout<<"\n Iserisci la descrizione dell'elemento :";
            cin.getline(name, N-1, '\n');
            if(E.info) delete[] E.info;
            E.info=new char [strlen(name)+1];
            strcpy(E.info, name);
            
    }
    
    
    void write_element(Element &E){
        
        cout<<E.info<<"  "<<E.key<<endl;
        
    }

    Libreria elementi struct:

    codice:
    #include <iostream>#include <cstring>
    #include <cstdlib>
    
    
    using namespace std;
    
    
    #define N 100
    
    
    struct Element{
        
        char *info;
        int key;
        
    };
    
    
    typedef char String [N];
    
    
    void read_element(Element &);
    void create_element(Element &);
    void write_element(Element &);

    Questi sono gli errori:

    Immagine.jpg
    Ultima modifica di TheBlackWolf; 28-07-2018 a 18:51

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.