Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza
Motorola edge 70 porta il concetto di smartphone ultrasottile su un terreno più concreto e accessibile: abbina uno spessore sotto i 6 mm a una batteria di capacità relativamente elevata, un display pOLED da 6,7 pollici e un comparto fotografico triplo da 50 MP. Non punta ai record di potenza, ma si configura come alternativa più pragmatica rispetto ai modelli sottili più costosi di Samsung e Apple
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026
Sono molte le novità che ASUS ha scelto di presentare al CES 2026 di Las Vegas, partendo da una gamma di soluzioni NUC con varie opzioni di processore passando sino agli schermi gaming con tecnologia OLED. Il tutto senza dimenticare le periferiche di input della gamma ROG e le soluzioni legate alla connettività domestica
Le novità ASUS per il 2026 nel settore dei PC desktop
Le novità ASUS per il 2026 nel settore dei PC desktop
Molte le novità anticipate da ASUS per il 2026 al CES di Las Vegas: da schede madri per processori AMD Ryzen top di gamma a chassis e ventole, passando per i kit di raffreddamento all in one integrati sino a una nuova scheda video GeForce RTX 5090. In sottofondo il tema dell'intelligenza artificiale con una workstation molto potente per installazioni non in datacenter
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 07-04-2005, 17:07   #1
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
[C++] immissione dati

salve a tutti, avrei una domandina probabilmente abb stupida.... riguarda l'immissione di dati da parte dell'utente.

allora, se il mio programma sta aspettando un input di tipo int e l'utente inserisce un decimale o altro, il programma ovviamente sballa. come "forzare" l'immissione dei dati giusti? io ci ho pensato un po', e nella mia niubbiaggine ho pensato che gli operatori di cast potrebbero risolvere (in parte) il problema... ma mi chiedevo qual'era l'espediente usato in questi casi dai "pro" thx
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 19:52   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Con cosa stai facendo la lettura dei dati?
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 19:53   #3
pela
Member
 
Iscritto dal: Jul 2003
Città: pisa
Messaggi: 141
prova se così funge:
Codice:
#include <iostream>
using namespace std;

int main(){
        int i;
        while(1) {
            cout<<"Inserisci un numero: ";
            cin>>i;
            if(cin)
                    break;
            cin.clear();
            cin.ignore(1000,'\n');
        };
        cout<<"Hai inserito "<<i<<endl;
        return 0;
}
pela è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 20:10   #4
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
Quote:
Originariamente inviato da DanieleC88
Con cosa stai facendo la lettura dei dati?

da console al momento
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 20:14   #5
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da Dr_Kranz
da console al momento
Si, vabbe', ma intendevo dire: "Cosa chiami per ricevere dati?" Forse "cin >> i", come suggeriva pela? Prova con "fscanf(stdio, "%d", &variabile_intera);". È molto da C, piuttosto che da C++, ma dovrebbe andare bene.

Bye!
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 20:17   #6
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
Quote:
Originariamente inviato da pela
prova se così funge:
Codice:
#include <iostream>
using namespace std;

int main(){
        int i;
        while(1) {
            cout<<"Inserisci un numero: ";
            cin>>i;
            if(cin)
                    break;
            cin.clear();
            cin.ignore(1000,'\n');
        };
        cout<<"Hai inserito "<<i<<endl;
        return 0;
}
allora, vediamo se riesco a capire

in pratica tu finchè nn inserisci un dato accettabile rimane nel while. ad ogni iterazione, se non si è verificata la corretta immissione del dato, ignori quello che è stato immesso e ripeti il ciclo. non riesco a capire quel cin.ignore(1000,'\n'); però...

mi è venuta in mente una cosa: un throw funzionerebbe? qualcosa tipo

Codice:
try{
int x;
cin>>x;
if (!cin)
throw (x);
}
catch(double x) {
cout<<"il dato"<<x<<"non è accettabile"<<endl;
}
funzionerebbe?
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 20:19   #7
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
Quote:
Originariamente inviato da DanieleC88
Si, vabbe', ma intendevo dire: "Cosa chiami per ricevere dati?" Forse "cin >> i", come suggeriva pela? Prova con "fscanf(stdio, "%d", &variabile_intera);". È molto da C, piuttosto che da C++, ma dovrebbe andare bene.

Bye!

ah sì, scusa, ovviamente è il cin>>i

purtroppo nn ho familiarità con i comandi C, almeno è da molto tempo che nn li uso più... scanf %d ok, ma &variabile_intera?
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 07-04-2005, 23:55   #8
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quella serve solo a dire a fscanf che deve inserire il valore numerico appena letto nella variabile puntata da "variabile_intera", dove "variabile_intera" è il nome della variabile di tipo int.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 08:14   #9
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
ah ok, purtroppo come ho detto ho poca familiarità coi comandi c, ho sempre lavorato con l'iostream (o con fstream)... in pratica a scanf gli passi gli argomenti come fosse una funzione?
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 09:10   #10
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
fscanf risolverebe il problema ? Non mi sembra...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 09:40   #11
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
ma il throw-catch funzionerebbe o come penso sballerebbe uguale perchè è legato al tipo int? (throw int -> catch int e non catch double)
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 09:57   #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
if (!cin)
throw (x);
}

Una cosa del genere funziona comunque se ci sono stati problemi di lettura...
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 10:05   #13
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
si ma la questione è, catch(x), deve/può essere catch(double x) o deve essere catch(int x)? perchè in quest'ultimo caso sballerebbe cmq
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 12:42   #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
Gli puoi far lanciare l'eccezione che ti pare...

Ad esempio:

if (!cin)
throw (string("Errore nell'immissione dei dati"));
...
catch(string &e)
{
cerr << e << endl;
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 13:17   #15
Dr_Kranz
Senior Member
 
L'Avatar di Dr_Kranz
 
Iscritto dal: Sep 2004
Città: Perdition
Messaggi: 504
aaaah avevo capito che throw(x) dovesse essere legato alla variabile che causava l'eccezione
__________________
Transazioni ok: ciop71, j0hn, cala_l_asso, abc3d, joden, elessar, crivel, FLINKO, kingvisc, hiroshi976, raxxo, royal, vkbms, franx1508, robibo68, nonsenso
Dr_Kranz è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 17:17   #16
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da cionci
fscanf risolverebe il problema ? Non mi sembra...
Potrebbe, credo: se il problema è un numero decimale, passando "%d" a fscanf lo forzerebbe a leggere un intero (verrebbe convertito, no?).
...o forse sbaglio? Andavo a memoria, e fscanf non lo uso da parecchio (non interagisco molto conl'utente, io )(anche perché l'unico utente dei miei programmi sono proprio io ).

Anyway... perdonatemi, il fatto è che non sono molto esperto di C++.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 17:31   #17
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
Certo...ma passagli delle lettere
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-04-2005, 17:46   #18
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da cionci
Certo...ma passagli delle lettere
E vabbe', mo vuoi troppo
Bye bye (e scusa, Dr_Kranz, ti stavo facendo sbagliare , ma non lo sapevo)!
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola edge 70: lo smartphone ultrasottile che non rinuncia a batteria e concretezza Motorola edge 70: lo smartphone ultrasottile che...
Display, mini PC, periferiche e networking: le novità ASUS al CES 2026 Display, mini PC, periferiche e networking: le n...
Le novità ASUS per il 2026 nel settore dei PC desktop Le novità ASUS per il 2026 nel settore de...
Le novità MSI del 2026 per i videogiocatori Le novità MSI del 2026 per i videogiocato...
I nuovi schermi QD-OLED di quinta generazione di MSI, per i gamers I nuovi schermi QD-OLED di quinta generazione di...
NVIDIA ed Eli Lilly: un laboratorio AI c...
Un PC da gaming costa troppo? Con questa...
Non solo iPhone: è questa la vera...
Rigenerazione territoriale: Huawei trasf...
Batteria e-bike a rischio incendio? L'in...
Assetto Corsa Evo: i dintorni del Nordsc...
HP pronta a introdurre memorie cinesi in...
Apple supera Samsung e conquista la lead...
L'UE vuole il nostro feedback sull'open ...
Polestar chiude in crescita il 2025, nuo...
Stranger Things sbarca sui device Samsun...
Grok finisce sotto indagine nel Regno Un...
Arriva in Italia il nuovo marchio iCAUR,...
Obiettivo raggiunto: mille tablet OPPO c...
Nintendo nega l'uso dell'intelligenza ar...
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: 07:00.


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