Continuo ad avere problemi, ho modificato il programma in questo modo ma nel mail mi fa inserire solo il nome la prima volta, come posso modificare tutto in modo che funzioni, grazie.
iscrizione.h
codice:
#ifndef ISCRIZIONE_H_
#define ISCRIZIONE_H_
class iscrizione{
public:
iscrizione(char n=0,char c=0,int m=000000000); //Costruttore
~iscrizione(); //Distruttore
//Funzione specifiche set
void setname(char); //Imposta il nome
void setsurname(char); //Imposta il cognome
void setmatricola(int); //Imposta la matricola
void setiscrizione(char,char,int); //Imposta Classe
//Funzioni specifiche get
char getnome() const;
char getsurname() const;
int getmatricola() const;
//Funzioni membro statiche
static int getcount(); //Contatore Iscritti
//Funzione Stampa
void print() const; //Stampa i valori
private:
char nome;
char cognome;
int matric;
static int count;
};
#endif /*ISCRIZIONE_H_*/
funzioniiscrizione.cpp
codice:
#include <iostream>
#include <cstdlib>
#include <string>
#include "iscrizione.h"
using namespace std;
//Inizializzo il contatore
int iscrizione::count=0;
//Richiamo la funzione contatore
int iscrizione::getcount(){return count;}
//Richiamo il costruttore della classe
iscrizione::iscrizione(char name,char surname,int matric){
setiscrizione(name,surname,matric);
}
//Richiamo il distruttore della classe
iscrizione::~iscrizione(){
}
//Imposta Nome, Cognome e Matricola
void iscrizione::setiscrizione(char n,char c,int m){
setname(n);
setsurname(c);
setmatricola(m);
}
//Imposta Il Nome
void iscrizione::setname(char n){
nome=n;
}
//Imposta Il Cognome
void iscrizione::setsurname(char c){
cognome=c;
}
//Imposta la Matricola
void iscrizione::setmatricola(int m){
matric=m;
}
//Restituisce Il Nome
char iscrizione::getnome() const{
return nome;
}
//Restituisce Il Cognome
char iscrizione::getsurname() const{
return cognome;
}
//Imposta la Matricola
int iscrizione::getmatricola() const{
return matric;
}
//Funzione stampa
void iscrizione::print() const{
cout<<"NOME \t COGNOME \t MATRICOLA"<<endl;
cout<<nome<<"\t"<<cognome<<"\t"<<matric<<endl;
}
mainiscrizione.cpp
codice:
#include <iostream>
#include <cstdlib>
#include "iscrizione.h"
using namespace std;
int main(){
iscrizione iscritto(0,0,000000000);
int nuovo=0;
cout<<"Inserisci il numero di iscritti da aggiungere"<<endl;
cin>>nuovo;
iscrizione *visc=new iscrizione[nuovo];
char n,c;
int m;
for(int i=1;i<=nuovo;i++){
cout<<"Inserisci il nome dell\' iscritto numero "<<i<<endl;
cin>>n;
visc[i].setname(n);
cout<<"Inserisci il cognome dell\' iscritto numero "<<i<<endl;
cin>>c;
visc[i].setsurname(c);
cout<<"Inserisci la matricola dell\' iscritto numero "<<i<<endl;
cin>>m;
visc[i].setmatricola(m);
}
delete [] visc;
return 0;
}
Grazie.