Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship
Google Pixel 11 Pro XL debutta in Italia con il nuovo Tensor G6, lo Zoom Pro fino a 120x, il display Super Actua da 3600 nit e la new entry HiLight riservata ai modelli Pro: lo abbiamo provato in anteprima per diversi giorni prima del lancio commerciale, tra fotocamera generativa, ricarica ancora indietro rispetto ai rivali e un prezzo che parte da 1399 euro
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti
Con un semplice dialogo in linguaggio naturale e la potenza di una scheda video di fascia alta è possibile costruire software funzionante da zero, senza scrivere una riga di codice e senza inviare un solo byte dei propri dati a server esterni
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto
Samsung rinnova la serie pieghevole di punta con Galaxy Z Fold8 Ultra: pannello interno da 8 pollici quasi senza piega, cerniera Flex Titanium, Snapdragon 8 Elite Gen 5 for Galaxy e batteria finalmente da 5.000 mAh. Prezzo italiano da 2.299 a 2.899 euro. Tra colorimetro, benchmark reali e giorni di uso quotidiano, ecco dove questo pieghevole convince e dove il nome Ultra fatica ancora a trovare piena giustificazione
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


Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Recensione Samsung Galaxy Z Fold8 Ultra: il pieghevole più famoso diventa quasi perfetto Recensione Samsung Galaxy Z Fold8 Ultra: il pieg...
Insta360 X6: Dolby Vision, 8K e montaggio "Zero Editing" Insta360 X6: Dolby Vision, 8K e montaggio "...
Due settimane con Dacia Spring 2026: novità, consumi, autonomia reale e test bagagli Due settimane con Dacia Spring 2026: novit&agrav...
Sigma brevetta un 400-1500mm, ma a f/18 ...
Amazon Echo Hub a 129,99€: il pannello t...
Apple Magic Keyboard a 91€: la tastiera ...
IBM collega con successo due moduli quan...
La Luxeed RX è progettata da un e...
Un pacemaker senza batteria ha stimolato...
La Protezione Antifrode non sarà più un'...
GAC Aion ci prova: Ray 7 è la riv...
ChatGPT Ads arriva in Italia: la pubblic...
Capture One Mobile 4.0 porta quattro str...
Oggi le offerte imperdibili su Amazon so...
Aggiornare il PC costa meno del previsto...
Spunta su Amazon l'offerta su portatile ...
Doom gira su una Canon EOS 550D del 2010...
Nvidia H200: dopo otto mesi ByteDance e ...
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: 10:53.


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