Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta
DLSS 4.5 introduce Dynamic Multi Frame Generation e MFG 6X, permettendo fino a cinque frame generati per ogni frame renderizzato. I test su Cyberpunk 2077 e 007 First Light mostrano forti incrementi di FPS e riduzione della latenza su RTX 5090 Laptop. Migliorano fluidità, stabilità e qualità visiva.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 05-02-2011, 12:55   #1
lcpreben
Senior Member
 
L'Avatar di lcpreben
 
Iscritto dal: Nov 2008
Città: Verona
Messaggi: 779
[C++] enum casuale

Salve a tutti.
Devo fare un programma in C++ che è composto da strutture di cui una contenente una variabile di tipo enum, così composta:
Codice:
enum {Ricevitore, Satellite} Header;
Bene, orail testo chiede di creare una funzione che restituisce la struttura; per il dato Header, dice:
Quote:
Header numero casuale tra 0 ed 1 [0=Ricevitore; 1=Satellite]
Il punto è questo. Come generare un numero casuale tra 0 e 1 del tipo enum?

Ho provato a creare una funzione random ed applicarla, ma il compilatore restituisce un errore:
Codice:
int random(int min, int max) {
    srand(time(0));
    int r=rand()%((max-min)+1)+min;
    return r;
}

Header=random(0,1);
__________________
CASE: Cooler Master CM690; POWER SUPPLY: Corsair TX650W; MOTHERBOARD: Asus P5Q Pro; CPU: Core 2 Quad Q6600 @ 3.0Ghz + AC Freezer 7 PRO; VGA: Sapphire HD 7850 1GB OC; HD: Seagate Barracuda 500GB; RAM: Corsair DDR2 800Mhz 2X2GB MONITOR: Samsung T200
lcpreben è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 13:07   #2
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
che errore? non è che ti sei solo dimenticato di scrivere typedef prima di enum?
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 13:14   #3
lcpreben
Senior Member
 
L'Avatar di lcpreben
 
Iscritto dal: Nov 2008
Città: Verona
Messaggi: 779
Quote:
Originariamente inviato da tuccio` Guarda i messaggi
che errore? non è che ti sei solo dimenticato di scrivere typedef prima di enum?
la variabile enum è all'interno di una struttura (typedef struct TipoMessaggio{.......}), non dovrebbero esserci errori.
L'errore dice
Quote:
invalid conversion from `int' to `TipoMessaggio::<anonymous enum>'
__________________
CASE: Cooler Master CM690; POWER SUPPLY: Corsair TX650W; MOTHERBOARD: Asus P5Q Pro; CPU: Core 2 Quad Q6600 @ 3.0Ghz + AC Freezer 7 PRO; VGA: Sapphire HD 7850 1GB OC; HD: Seagate Barracuda 500GB; RAM: Corsair DDR2 800Mhz 2X2GB MONITOR: Samsung T200

Ultima modifica di lcpreben : 05-02-2011 alle 13:17.
lcpreben è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 13:29   #4
tuccio`
Senior Member
 
Iscritto dal: Apr 2010
Città: Frosinone
Messaggi: 416
ho capito ora che è c++ e non c

e scopro sempre ora che in c++ le regole dell'enum sono diverse e quella conversione, che in c è legale, non si può fare

empiricamente pare che così vada:

Codice:
enum TipoMessaggio::Header h = TipoMessaggio::Header(random(0 , 1));
ma non chiedermi spiegazioni
tuccio` è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2011, 13:37   #5
lcpreben
Senior Member
 
L'Avatar di lcpreben
 
Iscritto dal: Nov 2008
Città: Verona
Messaggi: 779
Quote:
Originariamente inviato da tuccio` Guarda i messaggi
ho capito ora che è c++ e non c

e scopro sempre ora che in c++ le regole dell'enum sono diverse e quella conversione, che in c è legale, non si può fare

empiricamente pare che così vada:

Codice:
enum TipoMessaggio::Header h = TipoMessaggio::Header(random(0 , 1));
ma non chiedermi spiegazioni
Adesso provo, grazie intanto.
__________________
CASE: Cooler Master CM690; POWER SUPPLY: Corsair TX650W; MOTHERBOARD: Asus P5Q Pro; CPU: Core 2 Quad Q6600 @ 3.0Ghz + AC Freezer 7 PRO; VGA: Sapphire HD 7850 1GB OC; HD: Seagate Barracuda 500GB; RAM: Corsair DDR2 800Mhz 2X2GB MONITOR: Samsung T200
lcpreben è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
Redmi Watch 6 in prova: lo smartwatch con ampio display da 2000 nit a meno di 100 euro Redmi Watch 6 in prova: lo smartwatch con ampio ...
La corsa ai datacenter passa dalla stamp...
La Tangenziale di Napoli è la pri...
Steam Machine potrebbe essere dietro l'a...
Come l'Edge AI sta ridefinendo l'operati...
macOS 27 Golden Gate manda in crisi Asah...
Il Messico lancia il primo EV nazionale:...
Via libera in 17 Paesi europei alle sper...
Apple aggiorna le regole dell'App Store:...
I dipendenti Amazon non ci stanno: basta...
EssilorLuxottica produrrà occhial...
Al Museo Diocesano Carlo Maria Martini d...
AMD non teme NVIDIA: nei suoi test EPYC ...
I Mondiali 2026 saranno sorvegliati da c...
Stop agli sprechi di tempo: LLM Checker ...
L'Unione Europea ha ordinato a Meta di r...
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: 13:56.


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