Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia)
Abbiamo provato per una settimana intera la Can-Am Origin, la Dual Sport elettrica del gruppo canadese BRP: ecco com'è andata tra città, autostrada e un primo assaggio di sterrato
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco
Nelle ultime settimane abbiamo provato il mouse Logitech G305, la tastiera G316 X 98 e le cuffie G325. Si tratta del setup entry-level di Logitech che ormai, di "entry-level" ha ben poco. Tastiera e mouse offrono prestazioni di livello competitivo con quasi nessuna rinuncia e un livello di personalizzazione estremamente elevato. Le cuffie, invece, hanno mostrato qualche debolezza, ma propongono un ventaglio di funzionalità completo che consente di abbandonare completamente i cavi
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio
POCO F9 Pro arriva sul mercato con l'obiettivo di portare prestazioni da smartphone top di gamma in una fascia di prezzo "più aggressiva", senza rinunciare a un comparto fotografico finalmente all'altezza. Dopo averlo testato sul campo, emerge uno smartphone molto più completo rispetto alla generazione precedente, ma anche con alcuni piccoli compromessi che diventano difficili da ignorare quando il prezzo di listino sfiora i 1.000 euro.
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


Test ride Can-Am Origin: la moto elettrica che fa dimenticare il motore a scoppio (ma occhio all'autonomia) Test ride Can-Am Origin: la moto elettrica che f...
Logitech G325, G305 e G316 X: il tris per chi non vuole rinunciare a nulla, spendendo poco Logitech G325, G305 e G316 X: il tris per chi no...
Recensione POCO F9 pro: potenza da vero top di gamma, display da 185 Hz e finalmente una fotocamera da prendere sul serio Recensione POCO F9 pro: potenza da vero top di g...
Tra audio e AI: la ricetta di Qualcomm per l'agentic AI Tra audio e AI: la ricetta di Qualcomm per l'age...
Qualcomm annuncia la nuova generazione di SoC Snapdragon 8 Elite Gen 6 Qualcomm annuncia la nuova generazione di SoC Sn...
L'ESA risponde alle critiche di Jared Is...
La NASA annuncia il nuovo telescopio spa...
HONOR pubblica The Sea Between Us, un co...
L'Olanda punta su NixOS e open source pe...
OPPO Find X10 Pro Max, il flagship con t...
Gli smartphone Samsung potrebbero avere ...
GeForce Now arriverà sui Googlebo...
Opus 5.5 e GPT-6 Sol nello stesso pomeri...
Weekend Amazon, le prime 5 offerte sono ...
Mini Compressore a 21,84€: gonfia le gom...
Gemini si aggiorna, ora può conne...
Da 32 a 65 pollici: ecco le TV più...
Xiaomi Redmi Note 17 a 269€: ecco perch&...
ASUS avverte i clienti: accesso non auto...
Già record di vendite su Amazon p...
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:40.


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