Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [C++] Programma con lista di oggetti

    Salve a tutti, vi chiedo un aiuto/qualche suggerimento sullo sviluppo di questo programma:

    Si realizzi in C++ una gerarchia Manoscritto, Lettera. la classe Manoscritto è rappresenta un documento in formato elettronico, e può essere specializzato in una lettera. La classe Manoscritto contiene le seguenti variabili membro: - Codice, identificativo numerico (intero) - Autore (stringa allocata dinamicamente) - numpag, numero intero, numero di pagine - Formato, stringa allocata dinamicamente, formato del file La classe Lettera aggiunge le variabili membro: - Mittente, stringa allocata dinamicamente - Destinatario, stringa allocata dinamicamente Le classi devono prevedere gli opportuni costruttori, e devono gestire correttamente l’estensione dinamica fornendo le opportune funzionalità. Devono inoltre fornire le funzioni visualizza_dati e memorizza_dati. Si vuole un comportamento polimorfo. Si realizzi quindi una classe Elenco di manoscritti. La sessione di scrittura su file viene gestita dall’elenco mediante una sua opportuna funzione membro che definisce la variabile di tipo stream. La funzione memorizza_dati si limita a riceverla come parametro di ingresso. L'Elenco è realizzato ricorrendo ad un vettore allocato staticamente. La funzione di inserimento inserisce un manoscritto in ordine (rispetto al codice) e lancia una eccezione nel caso il codice sia già presente nell'elenco, la funzione di eliminazione elimina effettuando una ricerca per codice. L'eccezione è di tipo Duplicato, classe fornita dallo studente. Si strutturi il codice secondo le appropriate tecniche di programmazione modulare
    Fino al punto in cui viene chiesto che le classi siano polimorfe, ho svolto il quesito.
    Avrei realizzato anche il vettore statico che rappresenta l'elenco di Manoscritti, ma qui cominciano dei dubbi.
    Nella compilazione, in corrispondenza della linea "ofstream outfile(a, ios:ut);", mi viene dato l'errore "variable `std:fstream outfile' has initializer but incomplete type ". Non riesco a capire a cosa si riferisca.
    Questa linea, come vedete, fa parte dell'implementazione della funzione di scrittura su file che ho provato a realizzare.
    Per l'ultima parte, non ho neppure provato a realizzare l'eccezione in quanto non capisco come posso realizzare una funzione di inserimento che metta i manoscritti in ordine.
    Devo utilizzare un algoritmo di riordinamento che viene usato dopo ogni inserimento? Ed in che senso memorizza_dati si limita a riceverla come parametro in ingresso? Sta parlando della funzione delle due classi o devo definire una memorizza_dati anche per l'elenco?

    Vi posto il mio codice:

    manoscritto.h : http://pastebin.com/Ji3Nq35z
    manoscritto.cpp : http://pastebin.com/4i9z59r6
    lettera.h : http://pastebin.com/njq6xBnb
    lettera.cpp : http://pastebin.com/jxhaGYdF
    ElencoManoscritti.h : http://pastebin.com/Cmp8PfxC
    ElencoManoscritti.cpp : http://pastebin.com/8P8egdGA

    Vi ho messo tutto il codice, ma quello di maggior interesse è ElencoManoscritti.
    Grazie mille in anticipo!

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Hai fatto l'include di fstream ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    No, in effetti... ma il programma la scrittura su file non mi funziona... c'è qualcosa di sbagliato nella funzione scrivi?

    Per testarla farei una cosa del genere:
    char a[21];
    cout << "Scrivi il nome del file da creare: \n";
    cin.getline(a,20);
    scrivi(a);

    Ma già ho un problema... il getline viene completamente ignorato!

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Pheromoth
    No, in effetti...
    Hai incluso quel file o no? Non ho capito ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    si, scusami, ho scritto da cani xD
    Intendevo dire, no, non l'avevo incluso. Ora l'ho incluso, però adesso ho questo problema

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ma quel codice con la getline in quale contesto è inserito ? Cosa c'è prima ?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Niente, è solo un codice che inserisco nel main per testare la funzione che mi dovrebbe scrivere il manoscritto su un file di testo. Il char sarebbe il nome del file che si vuole creare

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Dato che dici che la getline viene ignorata e a me non succede, prova a mostrare tutto il codice che compili, comprese le include e il main ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  9. #9
    Ci sono tutti gli include, ho messo i link di pastebin:3

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Originariamente inviato da Pheromoth
    Ci sono tutti gli include, ho messo i link di pastebin:3
    Sì, ma questa

    cin.getline(a,20);

    dove sta?

    E comunque, non c'è un link unico per scaricare tutto il progetto sorgente?
    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.