|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2002
Città: putignano(BA)
Messaggi: 1453
|
[C++]aiuto su classi e liste
ho bisogno di fare questo programma per la gestione ordini, ma ho bisogno di un aiuto umano
questo è il codice che sono riuscito a fare da solo:P : code:-------------------------------------------------------------------------------- #include <iostream> #include <cstdio> #include <cstdlib> using namespace std; int codice_auto_increment=0; struct indirizzo{ char via[80]; char tel[80]; char n_civico[80]; char citta[80]; }; class clienti{ char nome_cog[80]; indirizzo recapito; char note[80]; }; class articoli{ public: int codice; char descrizione; char prezzo; bool disponibility; crea_articoli(); show(); }; struct listadiarticoli { articoli articolocreato; struct listadiarticoli *puntalis; }; listadiarticoli *puntallalista; typedef listadiarticoli *tipochepunta; typedef tipochepunta* puntapunt; listadiarticoli *p; puntapunt inizio=&p; void crealista(puntapunt); main (){ int a; while(a) { cout << "Scegli cosa vuoi fare\n" << "1)Gestione articoli\t\t2)Gestione clienti\t\t3)Make Order\t\t4)Vedi clienti\t\t5)Vedi Articoli\t\t0)QUIT\n"; cin >> a; switch(a){ case 0: break; case 1: cout <<"Gestione articoli attivata\n"; crealista(&p); break; case 2: cout <<"Gestione clienti attivata\n"; break; case 3: cout <<"Attivazione Ordine\n"; break; case 4: cout <<"Vedi clienti\n"; break; case 5: cout <<"Vedi articoli\n"; p->articolocreato.show(); break; } } cout << "\n\nGrazie per aver usato la gay macchina dei desideri per ordini di \n Alexxio\n"; return 0; } //Creazione del database articoli::crea_articoli(){ char desc; char price; bool ceononce; cout << "codice articolo:" << codice_auto_increment; cout << "\nInserici descrizione\n"; cin >>desc; cout << "\nInserisci il prezzo\n"; cin >>price; cout << "Disponibile Si-no (0oppure1)\n"; cin >> ceononce; codice=codice_auto_increment; descrizione=desc; prezzo=price; disponibility=ceononce; cout <<"\nArticolo creato\n"; codice_auto_increment++; } articoli::show(){ //mostra gli articoli tipochepunta mario; mario=*inizio; if (mario==NULL) cout << "Non è stato creato nessun articolo\n"; else { cout << "ecco cosa sta dentro\n"; cout << "Codice articolo:"; cout << mario->articolocreato.codice; cout << "\nDescrizione:" << mario->articolocreato.descrizione; cout << "\nDisponibilità:" << mario->articolocreato.disponibility; cout << "\nPrezzo:" << mario->articolocreato.prezzo << "\n"; cout << "\ngrazie\n"; } } void crealista(puntapunt gay){ listadiarticoli *gianni; gianni=new listadiarticoli; gianni->articolocreato.crea_articoli(); gianni->puntalis=*gay; *gay=gianni; } -------------------------------------------------------------------------------- Il problema sta nel fatto che voglio creare una lista unidirezionale per gli articoli che ci metto...ma non riesco a memorizzare più di un articolo, o meglio non riesco a concatenare i vari articoli!!!! Non posso usare i comandi list del c++, devo riuscire a farla con i puntatori e con la creazione dinamica!! Si può fare? Se non con le liste come altro posso fare? Con un array di oggetti? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Re: [C++]aiuto su classi e liste
Prova così:
void crealista(puntapunt &p) e magari usa nomi di variabili un po' meno fantasiosi... |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Aug 2002
Città: putignano(BA)
Messaggi: 1453
|
nn mi è molto di aiuto....dimmi qualcosa in più sennò non capisco cosa vuoi dire
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Vuol dire che in crealista il puntatore lo devi passare per riferimento (con la &
|
|
|
|
|
|
#5 |
|
Junior Member
Iscritto dal: May 2003
Città: Napoli
Messaggi: 16
|
perdonami, ma per quello che devi fare penso che ti sia più facile utilizzare Access...il problema è che però non è portabile...nel senso che se crei un'applicazione in Access, per utilizzarla su un altro pc devi necessariamente averlo installato.
Un'altra soluzione sarebbe quella di creare tabelle relative agli ordini in Access e poi accedere ad esse tramite un applicazione realizzata in Builder C++ oppure in Java. In tal caso devi studiare un pò di SQL. |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Aug 2002
Città: putignano(BA)
Messaggi: 1453
|
già conosco sql e access...
nn voglio usare altre applicazioni che non siano c/c++... |
|
|
|
|
|
#7 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
Così a occhio:
-mancano i costruttori di default e di copia -dovresti overlodare gli operatori == > che ti servirebbero ad ordinare i record a seconda del cognome ,del prodotto etc -i dati devono essere private ed accessibili solo tramite metodi Getxxx() Setxxx() -usare la classe string della STL al posto degli array di caratteri -una gestione + sofisticata del caricamento e ouput dei dati su file -ripensare tutto in fuzione dei container STL standard: list,vector,map,etc tutto questo è impossibile spiegartelo, purtroppo devi studiartelo Lo so che ti ho dato una brutta notizia: in bocca al lupo |
|
|
|
|
|
#8 | |
|
Senior Member
Iscritto dal: Aug 2002
Città: putignano(BA)
Messaggi: 1453
|
Quote:
Ho da chiarirti un po' di cose pero: Non posso usare i comandi della STL come list,vector,map,etc... Per gli altri punti che hai scritto, penso siano cose che vengano dopo il completamento del prog (se non proprio di tutto, beh almeno della parte principale, quella che non riesco a fare...)..quindi sono cose che dovrei far dopo, come ad esempio i costruttori di copia (che per ora non so neanke perchè servirebbero, cmq se me l'hai detto forse hai ragione, sono troppo niubbo).. Hai visto dove mi sono ingrippato? Nella costruzione della lista...è lì che mi serve un aiuto...cosa posso fare per questa parte??? |
|
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Ti ho già detto che devi passare il puntatore per riferimento !!! Altrimenti il valore che gli assegni per dentro a crealista viene assegnato ad una copia locale del parametro che gli passi !!! Se non è decente questa risposta !!!
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Aug 2002
Città: putignano(BA)
Messaggi: 1453
|
ok vi sono grato ma se postasse un "pezzettino" leggero leggero di codice per farmi vedere mica mi arrabbio!!
Dai vi prego nn riesco ad andare avanti!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:55.



















