Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6
In occasione del proprio Snapdragon Summit Qualcomm annuncia i due nuovi chip per dispositivi mobile di fascia alta che entreranno nel mercato nel corso del 2027: tanta potenza a disposizione per elaborazioni di intelligenza artificiale sempre più complesse
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole!
Hogwarts arriva in fascia media grazie a realme, con una special edition che unisce la Quadra Light-Sensing Color-changing Tech, un baule in stile Hogwarts Express pieno di collezionabili e una scheda tecnica sostanzialmente identica al 16 Pro di partenza: ecco cosa cambia davvero, come si comporta nell'uso quotidiano e quanto vale in base al prezzo di 699,99 euro
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce
REDMI Note 17 Pro porta in fascia media una batteria da 8.340 mAh con ricarica HyperCharge a 67W, un display AMOLED da 6,83 pollici capace di picchi di luminosità molto elevati e una struttura certificata TÜV SÜD contro cadute e infiltrazioni d'acqua, il tutto racchiuso in una scocca da 223 grammi. Lo abbiamo provato per diversi giorni tra fotocamera, prestazioni, autonomia e prezzo sul mercato italiano
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-03-2007, 16:22   #1
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
Mi aiutate con questo esercizio ? C/C++

Ragazzi, ho questo esercizio di informatica ( programmazione c/c++) che non riesco a risolvere. Premetto che sto faticando non poco a prendere dimestichezza con la programmazione, ma tant'è mi tocca e spero possiate aiutarmi.
Il testo è:
Quote:
Dal 1990 l'azienda X produce 20 tipi di vino differenti. Ogni prodotto è identificato da:
- un codice (1-20)
- anno di produzione ( 1990-2007)
oltre che da altre info come nome, tipo ( vino bianco, rosso, spumante etc.. ), provenienza, quantità di bottiglie disponibili.
La vendita è gestita tramite una tabella codice x anni di produzione ( 20x15) contenente i prodotti disponibili. Ogni cliente può effettuare ordini specificando codice, anno di produzione, quantità di bottiglie desiderate.

L'esercizio richiede di:

1) definire la struttura dati
2) dato il codice prodotto, stampare a video la quantità di bottiglie disponibili per ogni anno di produzione, omettendo gli anni dove non ci sono bottiglie disponibili
3) data la richiesta di un utente, verificare la disponibilità del prodotto richiesto. se si può soddisfare la richiesta, si decrementa la disponibilità in tabella e si inserisce la richiesta in una coda FIFO. altrimenti si scarta la richiesta.
4) scrivere su file tutti i prodotti disponibli in ordine di anno.
Non so da dove metter mani, perchè prese ad una ad una, le funzioni del c++ le ho capite, ho capito gli array, le stringhe, le strutture, ma non riesco a "unirle " per creare ad esempio un programma come richiesto dall'esercizio

Please non scrivete i soliti insulti come spesso capita con richieste del genere; se non volete aiutarmi non scrivete, non importa, ma almeno evitate gli insulti.

melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 16:33   #2
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
Quote:
Originariamente inviato da Antonio23 Guarda i messaggi
eh si ti sembrerà strano, ma mi è capitato solo una volta di chiedere un help quì sul forum su un argomento di studio, e invece di aiutarmi m'hanno riempito d'insulti
stessa cosa ad altre persone prima e dopo di me..
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 17:18   #3
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
melomanu: magari perché chiedevi/chiedevano la risoluzione per intero di un esercizio, ma una mano a risolvere un problema la diamo sempre

Cosa puoi usare ? La template library del C++ l puoi usare (vector, string e compagnia bella)?
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 17:25   #4
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
Quote:
Originariamente inviato da cionci Guarda i messaggi
melomanu: magari perché chiedevi/chiedevano la risoluzione per intero di un esercizio, ma una mano a risolvere un problema la diamo sempre

Cosa puoi usare ? La template library del C++ l puoi usare (vector, string e compagnia bella)?
no avevo chiesto un'altra cosa in un'altra sezione ( materiale per laser, optoelettronica etc )

ad ogni modo, posso usare stringhe, array, vettori etc classici del c++.

ho provato ad impostare una base per la struttura, del tipo

struct vino {
int codice[20];
int anno_prod[18];
char nome;
char tipo;
int bott_disp;
};

ma poi mi perdo perhcè non riesco a capire come inizializzare e dimensionare le stringhe per nome, tipo, percè non hanno una dimensione definita, ma potrebbero variare a seconda della lunghezza del termine inserito.
per la creazione dl menù, ci sono quasi ( uso la funzione void con dei cicli while if etc ), ma poi mi perdo...
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 17:31   #5
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
Perchè il codice l'hai fato di venti elementi ?

Comunque dovresti limitare la dimensione delle stringhe (ad esempio 100 nell'esempio sotto) oppure usare l'allocazione dinamica...la struttura migliore credo che sia questa:

struct vino {
int codice;
int anno_prod;
char nome[100];
char tipo[100];
char provenienza[100];
int bott_disp;
};
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 17:44   #6
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
Quote:
Originariamente inviato da cionci Guarda i messaggi
Perchè il codice l'hai fato di venti elementi ?

Comunque dovresti limitare la dimensione delle stringhe (ad esempio 100 nell'esempio sotto) oppure usare l'allocazione dinamica...la struttura migliore credo che sia questa:

struct vino {
int codice;
int anno_prod;
char nome[100];
char tipo[100];
char provenienza[100];
int bott_disp;
};
Ho pensato fosse utile per codice e anno di produzione creare due array di 20 elementi per il primo (1-20) e 18 il secondo ( 1990-2007)...
sul dimensionare in maniera arbitraria le stringhe di nome, tipo provenienza ci avevo pensato, dando ad esempio un valore come il tuo di 100 caratteri, ma non sapevo se era giusto.
pensi dimensionarlo dinamicamente sia più corretto? ( non saprei come fare, però.... )..

per il menù, ho pensato ad una cosa del genere:

Quote:
void main()
{
int scelta = MENU;
while(scelta!=OUT) {
switch(scelta) {
case MENU:
scelta = men_vin();
if(scelta == MENU)
scelta = OUT;
break;
.
.
.
.
.
.
}
}
dove definisco le funzioni che mi serve avviare per il menù.
quì invece ci sarebbero le voci del menù vero e proprio:

int men_vin(void)
{
int scelta;
char invio;
int true = 1;
while(true){
printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t GESTIONE VINI");
.
.
.
.
.
.
.
.
.
printf("\n\n\n\n\n\n\n\n\n\n\nn\n\\n\n\n\nn\n\n\n\n\n");
switch(scelta) {
.
.
.
.
..
.
.
return(scelta);
default:
break;
}
}
return(0);
}
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 18:19   #7
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
Quella che ti ho scritto io è la struttura per un solo tipo di vino.
Se hai 10 vini dovrai creare una struttura di 10 elementi, ad esempio un lista o un array statico o dinamico.

Conosci le liste ? Questa è un'ottima situazione in cui applicarle...
Codice:
struct elem_lista {
   struct vino info;
   struct elem_lista *next;
};
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 23-03-2007, 18:21   #8
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
Quote:
Originariamente inviato da cionci Guarda i messaggi
Quella che ti ho scritto io è la struttura per un solo tipo di vino.
Se hai 10 vini dovrai creare una struttura di 10 elementi, ad esempio un lista o un array statico o dinamico.

Conosci le liste ? Questa è un'ottima situazione in cui applicarle...
Codice:
struct elem_lista {
   struct vino info;
   struct elem_lista *next;
};

vedrò di lavorarci su, poi mi dirai se ciò che ho partorito è ok
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 24-03-2007, 21:06   #9
Furla
Senior Member
 
Iscritto dal: Feb 2004
Messaggi: 1454
io eviterei la lista per quanto riguarda la "base di dati" dei vini, basta un'array 20*15 (o 18, non so perché il testo dica 15 se gli anni sono 18...) in cui ogni elemento è una struttura fatta così:

struct vino {
char nome[100];
char tipo[100];
char provenienza[100];
int bott_disp;
};

la posizione all'interno dell'array (determinata dai due indici) discrimina i vini per anno e per codice.
volendo fare qualcosa di più sofisticato, si può fare una classe in modo da ottimizzare lo spazio utilizzato tramite l'allocazione dinamica delle stringhe.


le richieste che si possono soddisfare sono strutture di questo tipo:

struct richiesta {
int codice; //volendo si può dichiarare come char per risparmiare memoria
int anno; //volendo si può dichiarare come char per risparmiare memoria
int nbott;
richiesta* next;
};

qui ovviamente il metodo più semplice per implementare la coda FIFO è una lista.

Ultima modifica di Furla : 24-03-2007 alle 21:09.
Furla è offline   Rispondi citando il messaggio o parte di esso
Old 25-03-2007, 12:21   #10
melomanu
Bannato
 
L'Avatar di melomanu
 
Iscritto dal: Apr 2002
Città: Messina
Messaggi: 6002
raga, ma per svolgere il punto due, non si potrebbe:
-creare un array con 18 colonne (anni) x 20 righe ( codice prodotto )
-fare in modo che inserendo il codice, venga stampata la relativa riga

???
melomanu è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2008, 09:50   #11
Lord|DaNg3R
Senior Member
 
L'Avatar di Lord|DaNg3R
 
Iscritto dal: Apr 2004
Città: Matrix.Digital.Pixel.World
Messaggi: 386
secondo il mio modesto parere dovresti sfatare prima il problema di questa tabella...xkè 20*15 invece che 20*18. in + devi capire se vuole che ci sia cmq una tabella statica di fondo oppure diciamo una base + dinamica xkè nel primo caso la fai cn un array bi-dimensionale,che se si può, io farei di puntatori; altrimenti ri costruisci 15 (o 18) liste in base all'anno del vino!

io la struct la farei così cmq:

struct vino
{
int codice;
int anno_prod;
char*nome;
char*tipo;
char*provienienza;
int disp;
};

volendo ti fai 2 csotruttori...uno di default e uno a 6 parametri! se char * non ti piace fai un typedef char* stringa oppure usa direttamente string dalla libreria #include <string> fa sapere!
Lord|DaNg3R è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2008, 11:44   #12
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
OT
Quote:
Originariamente inviato da melomanu Guarda i messaggi
eh si ti sembrerà strano, ma mi è capitato solo una volta di chiedere un help quì sul forum su un argomento di studio, e invece di aiutarmi m'hanno riempito d'insulti
per curiosità, link

e adesso si scopre che ero io che facevo il nerd...
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2008, 12:30   #13
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Ma dopo un anno e mezzo spero che l'esercizio l'abbia risolto.
A costo di usare un block notes al posto di un computer...
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 05-07-2008, 14:00   #14
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
oddio non avevo visto la data
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 07-07-2008, 11:12   #15
Lord|DaNg3R
Senior Member
 
L'Avatar di Lord|DaNg3R
 
Iscritto dal: Apr 2004
Città: Matrix.Digital.Pixel.World
Messaggi: 386
LOL manco io :P :P :P
Lord|DaNg3R è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
realme 16 Pro Harry Potter Edition: il nuovo midrange ha uno stemma di Hogwarts che cambia colore al sole! realme 16 Pro Harry Potter Edition: il nuovo mid...
Recensione REDMI Note 17 Pro: il midrange con batteria da 8.340 mAh e ricarica veloce Recensione REDMI Note 17 Pro: il midrange con ba...
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
ESA e Mistral hanno stretto un accordo p...
AstroForge presenta Autonomy-1: un satel...
Neutralizzata da Microsoft EvilTokens, l...
Porsche mette alla prova i Tesla Superch...
Roborock Saros 20 Flow Complete arriva i...
Basta un comando digitato nel terminale ...
La corsa alla superintelligenza è...
Le memorie cinesi sfidano sé stes...
Dash cam 4K con doppia telecamera, GPS, ...
Qwen 4: Alibaba conferma l'addestramento...
Super El Niño, allarme globale: 451.000 ...
Toyota, 400.000 robot in fabbrica senza ...
Hanno bucato l'FBI e ora dettano le cond...
Standard sì, licenze no: la linea di Ope...
Guida all'acquisto: quale smartphone HON...
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: 21:42.


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