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

    [C++] Programma non compila

    Sfruttando il principio dell'ereditariet�, implementare un applicativo che implementi la classe persona e la sua derivata classe studente mostrando:
    - una sola funzione virtuale con chiamata per polimorfismo a run-time;
    - la allocazione a run-time (e relativa deallocazione) di un vettore di interi che contenga i voti riportati da uno studente nella sua carriera;
    - overloading di un costruttore di copia passando per valore un oggetto di classe studente ad una funzione che calcoli la media dei voti riportati nella carriera;
    - gestione di file di testo;
    - architettura modulare.


    codice:
    #include <iostream>
    using namespace std;
    #define SIZE 100
    
    
    class persona                          // classe base, persona
    { public:
              char nome[SIZE];
              char cognome[SIZE];
              int eta[10];
              void inserisci_nome();
              void inserisci_cognome();
              void inserisci_eta();
        };
    
    
    class studente: public persona           // classe derivata, studente
    { public:
              int matricola[10];
              void inserisci_matricola();
        };
    
    
    // inizio ad implementare le funzioni
    
    
    void persona::inserisci_nome() {
              cout<<"Inserire il nome: ";
              cin>> nome;
              cout<< endl; }
    
    
    void persona::inserisci_cognome() {
              cout<<"Inserire il cognome: ";
              cin>> cognome;
              cout<< endl; }
    
    
    void persona::inserisci_eta() {
              cout<<"Inserire l'eta': ";
              cin>> eta;
              cout<< endl; }
    
    
    void studente::inserisci_matricola() {
              cout <<"Inserire il numero di matricola: ";
              cin>> matricola;
              cout<< endl; }
    
    
    main () {
    persona p;
    studente s;
    p.inserisci_nome();
    p.inserisci_cognome();
    p.inserisci_eta();
    s.inserisci_matricola();
    cout << "Lo studente in esame e': ";
    cout << p.nome;
    cout << p.cognome;
    cout << p.eta;
    cout << s.matricola;
    cout << endl;
    }

    NON COMPILA!
    So che ci sono diversi errori, spero qualcuno abbia la pazienza di aiutarmi nel correggere questo codice e anche nell'implementare le altre richieste.
    Ve ne sarei immensamente grata.
    Ultima modifica di LeleFT; 19-05-2016 a 13:04 Motivo: Aggiunti i tag CODE

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,304
    Manca il titolo della discussione, fondamentale per capire di cosa si sta parlando, senza essere costretti ad entrare nella discussione.

    Aggiungo io un titolo.

    PS: il codice va postato all'interno degli appositi tag [CODE] .. [/CODE] per mantenerne indentazione e formattazione... correggo anche questo.

    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,465
    Gli errori di compilazione li elimini se metti

    int main()

    e

    return 0;

    nel main

    E poi devi usare degli interi per id e matricola, non degli array. Quindi

    int id;

    int matricola;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Grazie mille! Adesso funziona!

    Puoi darmi un'idea di come implementare i punti due e tre? Ti ringrazio!

  5. #5
    Nessuno che mi aiuti?

Tag per questa discussione

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.