Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 16-07-2010, 14:01   #1
amandina
Junior Member
 
Iscritto dal: Jul 2010
Messaggi: 12
[C++] problema grosso con esercizio

Ciao ragazzi sono nuova del forum..e ho un grosso problema:il professore di informatica dopo non aver tenuto il corso per 'sciopero' si è presentato e ci ha dato il programma da fare come elaborato per poter accedere all'esame. premesso che il C lo so usare questo programma per me è davvero impossibile. sono stata a impazzire quasi un mese per studiarmi da sola tutte le cose k non ha spiegato su classi e file ma a malapena comprendo le cose base. Qui vuole che usiamo liste concatenate e quant'altro,in pratica vuole in C++ un programma che faccia:

1)creazione di un database
2)inserimento dei record(accodamento)
3)ricerca/stampa di record(anke su più campi in modo dicotomico mediante file-index)
4)modifica/aggiornamento di record
5)eliminazione di record

e inoltre poi dobbiamo implementare il metodo grafico preferibilmente con qtcreator !questo è matto e mi manca questo esame che mi blocca altri essendo propedeutico :8...per caso qualcuno ha qualche dritta o programmi simili in modo da aiutarmi un po'?ve ne sarei immensamente grata grazie 1000
amandina è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 19:20   #2
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
WTF?!? ma siamo matti, gestione di database a dei ragazzi che stanno imparando il C++ per la prima volta???

e tramite cosa dovreste accedere ad un database?
ed inoltre di quale database si tratta?

comunque confermo pienamente, il tuo professore é folle
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 19:21   #3
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
tra l'altro vorrei capire cosa piffero c'entrano i database col C++.
questo corso é di C++ o di database?? io questa domanda gliela farei al professore.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 21:14   #4
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
no be', se non ho capito male, quello che deve fare è una linked list generica e metodi per aggiungere, ricercare, eliminare
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 23:10   #5
amandina
Junior Member
 
Iscritto dal: Jul 2010
Messaggi: 12
allora quelle sono le specifiche ke ci ha dato quel matto ma penso k ad esempio bisogna gestire un magazzino k so di biscotti ocarne o una libreria o cose del genere per cui a ogni elemento si deve fare inserimento di nome codice,scadenza se c'è,prezzo e tutto ciò k serve...poi eventuale modifica (ricercando in modo dicotomico anke se nn vedo l'utilità) cancellazione e quant'altro ...il problema è ke cmq si devono usare liste concatenate strutture classi e tutte le altre belle cose(per nn parlare del metodo grafico che non ha mai spiegato e dice ke lo dovremmo sapere fare :'( )....dannato esame e tutto ciò per 3 crediti sono disperata se avete idee o suggerimenti ben vengano...nel frattempo grazie a tutti quelli che hanno risposto almeno condividono la mia idea sul prof e mi tirano un pò su di morale
amandina è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 23:28   #6
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
3 crediti?!? o_o'
e devi fare un intero gestionale!! :|

no seriamente, non prendiamoci in giro: dev'essere una forma di protesta dovuta ai recenti disagi accademici (per caso sei di Roma?), vi ha dato apposta un progetto troppo difficile che sicuramente non siete in grado di fare. i progetti degli anni passati come erano? piu semplici?

comunque ribadisco, puoi darci qualche dettaglio ulteriore sulla specifica? che database devi usare, e come devi accederci? o c'é libertá totale?
non possiamo aiutarti se non ci dici queste cose.

anzi, un aiuto te lo do giá da ora: controlla se esiste la possibilitá di fare questo esame con un altro professore e con altre modalitá.
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 23:46   #7
WarDuck
Senior Member
 
L'Avatar di WarDuck
 
Iscritto dal: May 2001
Messaggi: 12945
Se puoi scrivi esattamente cosa ti chiede.

Sicuramente non deve implementare un dbms ma semplicemente "simularlo".

Se hai già imparato le classi non è difficilissimo, le liste collegate anche non sono difficili da fare (ammesso che ti chieda di farle e non di usare le classi già pronte, cosa che credo).

Ultima modifica di WarDuck : 16-07-2010 alle 23:50.
WarDuck è offline   Rispondi citando il messaggio o parte di esso
Old 16-07-2010, 23:56   #8
Albi89
Senior Member
 
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
Sì, in effetti... è un problema grosso
Anche a me sembra che la questione si inquadri nella situazione di protesta generalizzata, un compito del genere è di sicuro non banale per studenti alle prime esperienze di programmazione (dato che gli argomenti sono basilari, es. liste concatenate, mi permetto di credere che sia un progetto del I/II anno).

Molto dipende da quanta libertà vi è stata data, ma dato che leggo di liste concatenate va a farsi friggere ogni suggerimento di SQLite + QTableView + QSqlTableModel (mi sembra di capire che i dati vadano in un'unica "tabella", dunque non dovrebbe esserci bisogno di gestire vincoli relazionali).

Che ci sia da utilizzare una lista dunque è scontato. Puoi utilizzare std::list o devi implementarla?
Altra questione: che tipo di dati devi conservare? Mi sembra di capire che i tuoi record possono avere un qualsiasi numero di campi, con un qualsiasi nome.
Probabilmente la strategia migliore è una struttura "campo" composta da nome e valore, ed una struttura record che contenga un certo numero di campi. La specifica non parla dei tipi dei valori: puoi semplificare molto usando semplici stringhe.

Il 90% delle operazioni si tradurrebbe in semplici operazioni su una lista di strutture di tipo record. Non capisco invece la ricerca "dicotomica": su una lista concatenata come si può gestire l'accesso casuale, necessario per una ricerca binaria?!
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.
--Gerald Weinberg
Albi89 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 00:56   #9
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da WarDuck Guarda i messaggi
Se puoi scrivi esattamente cosa ti chiede.
senza k magari anche :E

a informatica alla sapienza si fanno progetti di quella complessità per avere i 9 crediti del secondo esame di programmazione, mi sembra strano onestamente

posta le specifiche se puoi
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 10:14   #10
amandina
Junior Member
 
Iscritto dal: Jul 2010
Messaggi: 12
sì è un esame del I anno e tra parentesi è esame di laboratorio ovvero 3 crediti :s...cmq ha affisso alla porta un foglio con scritto precisamente:

<<
PER IL LABORATORIO DI INFORMATICA:PROGRAMMA IN C++

Importante che dopo aver scelto l'applicazione si fornisca:
1-definizione delle specifiche dell'applicazione
2-progetto:flow-chart complessivo e dei vari moduli da implementare(la ricerca dicotomica deve essere parte essenziale del processo)
3-sviluppo:codice sorgente del programma(con GUI) e dei vari moduli(ben commentati)
4-collaudo:definizione delle classi di equivalenza di input utilizzabili per la verifica di correttezza e il test dei moduli(seguire il metodo delle coperture)

PASSI RICHIESTI DAL PROGRAMMA:
1)creazione di un database
2)inserimento dei record(accodamento)
3)ricerca/stampa di record(anke su più campi in modo dicotomico mediante file-index)
4)modifica/aggiornamento di record
5)eliminazione di record
>>

ora non credo sia una maniera di protesta poichè ci avevano già tolto gli appelli fino a metà luglio :s..e questo professore è conosciuto per la sua ''stranezza'' anke se al mio corso è il primo anno k c'è...k sfortuna..

cmq x quello ke abbiamo capito con le altre persone si dovrebbe fare un programma in modo che gestisca un magazzino,ora provo a fare un esempio con i biscotti: quindi ogni elemento deve avere diversi campi(io avevo pensato a 1 struttura) con ad esempio nome(es gocciole),codice(con questo avevo pensato di fare la ricerca dicotomica per ricercare l'elemento e modificare ecc se serve....sempre se è quello k vuole con quella ricerca XD),prezzo,quantità,iva,scadenza,e tante belle cose che si possono mettere..e poi fare in modo k si possano aggiungere nuovo elementi(con tutti i rispettivi campi) modificare8tutti o alcuni campi in base alla necessità) o cancellare elementi esistenti,ecc...non so se sono riuscita a spiegarmi un pò di più...cmq alla fine penso k se il programma funziona e fa queste cose non gli importerà se è fatto solo con classi,liste,strutture puntatori e simili..il problema è k sinceramente on le conoscenze base di C ke abbiamo(if,for ecc) e quelle in C++ base come costruttore lista,apertura e chiusura file mi diventa un pò difficile riuscire a fare quello richiesto...che dite qualcuno ha una soluzione?

Ultima modifica di amandina : 17-07-2010 alle 10:19.
amandina è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 10:20   #11
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
Conosco poco il c++ ma ho provato a buttarti giù una traccia.
L'ho scritta in pochi minuti ed è solo una traccia, non escludo ci siano bug, però credo che possa aiutarti.
Codice:
#include <cstdlib>
#include <iostream>
#include <string>
#include <list>
using namespace std;

struct campi{
string nome;
string cognome;
};
string nome;
string cognome;

int main (){
list<campi> miodatabase;
list<campi>::iterator i;

while(true) {
cout << "1 per inserire nuovo record\n";
cout << "2 per cancellare record\n";
cout << "3 per cercare\n";
cout << "0 per uscire\n";
int numero=0;
cin >> numero;

while (!cin >> numero) {
cout << "Inserimento non valido\n";
cin.clear();
string c;
cin >> c;
cin >> numero;
}
while ((numero < 0 ) ||(numero > 4 )) {
cout << "Inserimento non valido\n";
cin >> numero;    
}
if (numero==1) {
    campi campo;
    cout << "Nome?\n";
    cin >> nome;
    campo.nome=nome;
    cout << "Cognome?\n";
    cin >> cognome;
    campo.cognome=cognome;
    miodatabase.push_back(campo);
}
if (numero==3) {
 cout << "Nome da cercare?\n";
 cin >> nome;
 bool trovato;
 trovato=false;
 int a=0;
 for (i = miodatabase.begin(); i != miodatabase.end(); ++i) {
    if ((*i).nome==nome) {
        cout << "Trovato, il cognome di " << nome << " è " << (*i).cognome << endl;
        cout << "Record numero " << a << endl;
        trovato=true;
    }
    a++;
    }
    if (!trovato) {
        cout << "Non trovato\n";
    }
}

if (numero==2) {
if (miodatabase.size()>0){
cout << "numero di record presenti ";
cout <<miodatabase.size() << "\n";
cout << "Numero record da eliminare?\n";
int numrecord=0;
cin >> numrecord;
while (!cin >> numrecord) {
cout << "Inserimento non valido\n";
cin.clear();
string c;
cin >> c;
cin >> numrecord;}
while ((numrecord < 0 ) ||(numrecord > miodatabase.size() )) {
cout << "Numero record inesistente\n";
cin >> numrecord;    
}
i=miodatabase.begin();
advance(i,numrecord);
cout << (*i).nome << "  " << (*i).cognome << " cancellato" << endl;
miodatabase.erase(i);
} else { cout << "Nessun record da cancellare\n\n"; }
}

if (numero==0){
 
    miodatabase.clear();
    miodatabase.~list<campi>();
    system("PAUSE");
    return EXIT_SUCCESS;}
}
}
L'ho provata con wxDev-C++ ma dovrebbe essere compatibile con qualsiasi compilatore.
Usa le liste concatenate(già implementate nella STL), crea record, ricerca e cancella.
Non usa la programmazione strutturata ma nel caso ti fosse richiesta dimmelo che te lo modifico.
Non so che cosa sia il metodo grafico ma credo che il professore non ti richieda una cosa molto più complicata di questa per soli 3 crediti.

Ciao

Ultima modifica di das : 17-07-2010 alle 10:35.
das è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 11:36   #12
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
anke su più campi in modo dicotomico mediante file-index

Per favore non usare le "k"
E' un po' strana questa richiesta: l'uso di file indice implica che la ricerca binaria dopo al massimo la puoi fare su un gruppo ristretto.

Quello che non capisco è se per "Creazione del database" intende che l'utente possa creare un database come meglio vuole o che il database con campi fissi venga creato alla prima esecuzione del programma.
Nel prima caso la cosa diventa tutt'altro che semplice.

Il consiglio che ti posso dare è farti tutto da shell e dopo implementarti l'interfaccia grafica. Con l'interfaccia grafica alla fine si tratterà solamente di utilizzare le funzioni che hai implementato senza interfaccia. Quindi è importante separare le parti del codice che fanno input e output da quelle che lavorano veramente sul database.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 11:49   #13
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
Quote:
Originariamente inviato da cionci Guarda i messaggi
anke su più campi in modo dicotomico mediante file-index

Per favore non usare le "k"
E' un po' strana questa richiesta: l'uso di file indice implica che la ricerca binaria dopo al massimo la puoi fare su un gruppo ristretto.

Quello che non capisco è se per "Creazione del database" intende che l'utente possa creare un database come meglio vuole o che il database con campi fissi venga creato alla prima esecuzione del programma.
Nel prima caso la cosa diventa tutt'altro che semplice.

Il consiglio che ti posso dare è farti tutto da shell e dopo implementarti l'interfaccia grafica. Con l'interfaccia grafica alla fine si tratterà solamente di utilizzare le funzioni che hai implementato senza interfaccia. Quindi è importante separare le parti del codice che fanno input e output da quelle che lavorano veramente sul database.
Mi era sfuggito il discorso della ricerca dicotomica, allora l'algoritmo che ho messo sopra non va più bene.
Ma per metodo grafico si intende semplicemente 'con interfaccia grafica?'
In tal caso conviene usare un ambiente RAD come wxdev
das è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 11:51   #14
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
Suppongo si intenda "tramite interfaccia grafica".
Quote:
Originariamente inviato da das Guarda i messaggi
In tal caso conviene usare un ambiente RAD come wxdev
Se provi QtCreator (quello che devono usare loro), wxDev lo butti nella discarica dopo meno di 10 minuti
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:02   #15
das
Senior Member
 
Iscritto dal: Jan 2001
Città: Livorno
Messaggi: 1385
Quote:
Originariamente inviato da cionci Guarda i messaggi
Suppongo si intenda "tramite interfaccia grafica".

Se provi QtCreator (quello che devono usare loro), wxDev lo butti nella discarica dopo meno di 10 minuti
E' la mia solita mania di leggere i thread al volo, mi sono perso la ricerca dicotomica e l'uso di QTCreator.

Mai utilizzato, è parecchio migliore ?
Le QT le ho sempre un po' snobbate per il loro 'background commerciale' però se semplificano la vita...
das è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:04   #16
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
Quote:
Originariamente inviato da das Guarda i messaggi
Le QT le ho sempre un po' snobbate per il loro 'background commerciale' però se semplificano la vita...
Ora sono GPL e LGPL anche su Windows
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:11   #17
amandina
Junior Member
 
Iscritto dal: Jul 2010
Messaggi: 12
ringrazio per le risposte ..il problema è che oltre alla ricerca dicotomica che io abbia capito dobbiamo fare in modo che il tutto venga salvato su un file così una volta chiuso il programma a posteriori si possa risalire ai dati inseriti e nel caso cancellare modificare ecc(e forse per questo funge la ricerca dicotomica poichè se assegniamo un codice a posteriori sappiamo a cosa corrisponde ma non so se è giusta la mia idea) e in questo caso le cose si complicano parecchio
amandina è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:18   #18
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
QtCreator è clamorosamente facile, veloce e comodo
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:25   #19
Albi89
Senior Member
 
Iscritto dal: May 2004
Città: Napoli
Messaggi: 773
Quote:
Originariamente inviato da amandina Guarda i messaggi
ringrazio per le risposte ..il problema è che oltre alla ricerca dicotomica che io abbia capito dobbiamo fare in modo che il tutto venga salvato su un file così una volta chiuso il programma a posteriori si possa risalire ai dati inseriti e nel caso cancellare modificare ecc(e forse per questo funge la ricerca dicotomica poichè se assegniamo un codice a posteriori sappiamo a cosa corrisponde ma non so se è giusta la mia idea) e in questo caso le cose si complicano parecchio
Per quanto riguarda Qt + QtCreator dai un occhio al libro che ho postato nel topic sui migliori libri di programmazione.
Sulla ricerca dicotomica mi appello a qualcuno più esperto: ha senso implementarla su una lista concatenata?
__________________
If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.
--Gerald Weinberg
Albi89 è offline   Rispondi citando il messaggio o parte di esso
Old 17-07-2010, 12:26   #20
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
Quote:
Originariamente inviato da Albi89 Guarda i messaggi
Per quanto riguarda Qt + QtCreator dai un occhio al libro che ho postato nel topic sui migliori libri di programmazione.
Sulla ricerca dicotomica mi appello a qualcuno più esperto: ha senso implementarla su una lista concatenata?
non si può proprio
tuccio` è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Paramount non molla: Netflix è pr...
Missione Artemis II diretta verso la Lun...
Toy Story 5 arriva al cinema: è l...
Intel cambia rotta su Linux? Nuove assun...
Samsung aggiorna Bixby con One UI 8.5: p...
L'Etiopia vieta le auto a combustione: a...
Pirateria audiovisiva: la Guardia di Fin...
Ubisoft conferma due nuovi Far Cry in sv...
Chi vincerà il Festival di Sanrem...
G42 e Cerebras portano in India un super...
Offerte aggiornate del weekend Amazon: 7...
4 MacBook Air in offerta e scende a 939€...
Chrome cambia il tuo modo di lavorare: o...
Minimo storico iPhone 17 su Amazon: 909€...
USA, incriminati tre ingegneri della Sil...
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: 08:25.


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