Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 22-04-2005, 03:02   #1
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Errore di compilazione con dev c++

Salve ragazzi
il compilatore mi da un errore nel momento in cui vado ad includere del file di definizione il file header mediante #include "studente.h" (nel momento in cui sscrivo questo mi comincia a dare errore)... da cosa può dipendere?????

Grazie ed in attesa di una risposta Vi lascio i miei saluti
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 06:58   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Che errore ?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 11:14   #3
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Il messaggio che mi appare è "In file included from studente.cpp"

Ciao
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 13:05   #4
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Questa è la dichiarazione e la definizione delle classi:
"studente.h"


class Studente

{ private:

int matricola;
string nome,cognome;
public:

map<Materia,int> mv;
Studente(int,string,string);
void insert_mat_voto(Materia,int);
int get_voto(Materia);
int Media();
};

"materia.h"

class Materia

{ private:

string nome;
public:

list<Studente> ls;
Materia();
void insert_Studente(Studente);
void setNome(string);
string getNome();
void cancellaStudente(Studente);
};

"studente.cpp"

#include "studente.h"

Studente::Studente(int a,string b,string c)
{ matricola=a;
nome=b;
cognome=c;
}
void Studente::insert_mat_voto(Materia m,int v)
{ map<Materia,int>::iterator i=mv.find(m);
if(i==mv.end())
mv[m]=v;
else
cout<< "Materia già presente." << endl;
}

int Studente::get_voto(Materia m)
{ map<Materia,int> iterator i=mv.find(m);
if (i!=mv.end())
cout<< "Il voto è:" << (*i) << endl;
}

int Studente::Media()
{
map<Materia,int> iterator i;

float totale=0;
for(i=mv.begin();i!=mv.end();i++)
totale=totale+mv[i];
float med=totale/i;
return med;
} // visto che il problema richiede di valutare lo studente con la media + alta
// la vado a gestire nel main questa situazione

"materia.cpp"

#include "materia.h"

Materia::Materia(string n)
{nome=n;
}

void Materia::insert_Studente(Studente s)
{ls.push_back(s);
}
void Materia::setNome(string n)
{nome=n;
}
string Materia::getNome()
{return nome;
}
void Materia::cancellaStudente(Studente s)
{list<Studente>::iterator i;
for(i=ls.begin();i!=ls.end();i++)
{if((*i)==s)
ls.erase(i);
}
cout<<"Lo studente nn è presente nella lista" << endl;
}


e questa la lista degli errori:

1 C:\Dev-Cpp\studente.cpp
In file included from studente.cpp
7 C:\Dev-Cpp\studente.h
syntax error before `,'
.
.
.
....
..

Ultima modifica di topspin : 22-04-2005 alle 15:39.
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 13:12   #5
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
E visto che mi ci trovo Vi riporto anche il testo dell'esercizio x eventuali incongruenze.

Si vogliono memorizzare, per ogni studente di un istituto,i voti riportati su 10 materie.
Definire la struttura dati che si ritiene più adatta a memorizzare i dati richiesti, assumendo che uno studente può essere identificato da un numero di matricola e che i voti sono interi nell'intervallo 0-10.
Realizzare una procedura che, ricevendo in ingresso una struttura dati contenente i voti riportati da ogni studente,restituisca il numero di matricola e la media dei voti dello studente che ha riportato la media + alta.

Grazie per l'aiuto......a presto.
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 15:22   #6
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
Quote:
Originariamente inviato da topspin
Il messaggio che mi appare è "In file included from studente.cpp"

Ciao
EDIT non avevo letto tutto, ora controllo

EDIT 3: nel file studente.h hai fatto #include "materia.h"?

Ultima modifica di kk3z : 22-04-2005 alle 15:26.
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 15:35   #7
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
si, ma da lo stesso errore.
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 15:41   #8
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Un altra cosa: ma gli header come string.h map.h list.h, sono presenti in tutti i compilatori???
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 18:08   #9
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
si ma string.h è per l'array di carattere del c, se vuoi usare std::string devi includere <string>, per usare list devi includere <list>, per includere map devi usare <map>

kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 22-04-2005, 19:50   #10
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
ok,per il problema precedente???
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2005, 01:15   #11
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Qui si tratta di un riferimento incrociato...

La classe studente usa la classe materia...la classe materia usa la classe studente...
Non include materia.h in studenti.h e scrivi prima della classe studenti una dichiarazione parziale della classe materia:

class Materia
{
};
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-04-2005, 19:29   #12
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Grazie...problema risolto, ma come puntualmente accade nei novelli si è presentato un altro problema,relativo ad un altro esercizio.

Allora, ho dichiarato una map<Studente,string> mv; in cui sono riportati come chiave un oggetto di tipo Studente a cui corrisponde un valore mappato che è una stringa ammesso\nnammeso.
Quando vado a definire una funzione che inserisca un nuovo oggetto Studente nella map mi dice che devo dichiarare operator[]().Ho visto come dichiarare questo operator (ma una descizione precisa nn c'è o meglio nn ò'ho trovata). Quindi la domanda è: come definire questo operator[] per manipolare la map????

La funzione che ho dichiarato è:

void Provincia::insert_Studente(Studente s,string a)
{ map<Studnte,string>::iterator i;

i=mv.find(s);

if(i!=mv.end())
cout << "Studente già presente." << endl;
else

mv[s]=a;} //L'operator[]() serve per regolare questo assegnamento???


Praticamente la classe Provincia ha una map nella quale la chiave è un oggetto Studente....
Per il riferimento ho fatto una dichiarazione parziale.

In attesa di una Vostra risposta Vi lascio i miei saluti....a presto

Ultima modifica di topspin : 23-04-2005 alle 20:13.
topspin è offline   Rispondi citando il messaggio o parte di esso
Old 24-04-2005, 12:53   #13
topspin
Junior Member
 
Iscritto dal: Sep 2004
Messaggi: 26
Cmq ho provato a passare una semplice stringa come chiave...e funziona,quindi il problema si presenta quando vado a passare l'oggetto studente. Come si effettua questo passaggio????
Grazie a presto
topspin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:05.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v