Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente
Google Pixel Watch 5 ha affinato una formula già convincente con hardware più veloce, Gemini offline e nuovi strumenti per sport e benessere. Abbiamo provato la versione LTE da 41 mm, comoda anche di notte e ben proporzionata sui polsi piccoli. Il design resta un punto di forza, ma l'autonomia premia ancora il 45 mm e alcune funzioni AI non sono disponibili in Italia: ecco che cosa cambia rispetto a Watch 4 e quale formato conviene scegliere oggi
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo
Politica, accademia e industria a confronto su mercato unico, sicurezza e competitività. Nei laboratori di Vimercate, Nokia ha mostrato le nuove generazioni di chip ottici e i test che ogni prodotto deve superare prima di arrivare sul mercato
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-01-2009, 15:34   #1
robs05
Member
 
Iscritto dal: Jan 2007
Messaggi: 112
[C++]: Problema switch

Dato il seguente codice....

Codice:
char scelta;
 while(true)
    {
        cout << " \n1) funzione 1 ";
        cout << " \n2) funzione 2 ";
        cout << " \n3) funzione 3 ";
        cout << " \n4) Esci\n" << endl;

        cout << "Scegli: ";
        cin >> scelta;

        switch(scelta)
        {
            case '1':
                d->funzione1();
                break;

            case '2':
                d->funzione2();
                break;

            case '3':
                d->funzione3();
                break;

            case '4':
                exit(0);
                break;

            default:
                cout << "Scelta non consentita" << endl;
                break;
        }
}
se al posto di inserire un numero inserisco una sequenza di caratteri, esempio: "asdfsd"

mi ripete per 6 volte (in questo caso dato che sono sei caratteri) l'elenco delle opzioni. Ovviamente perchè dallo standard di input legge 6 char....

come posso risovere questo problema?
in effetti se l'utente sbaglia ad inserire dati ed al posto del numero inserisce una stringa il programma dovrebbe ripetere una sola volta l'elenco delle opzioni....

saluti
robs05 è offline   Rispondi citando il messaggio o parte di esso
Old 04-01-2009, 18:43   #2
darkestsky
Member
 
Iscritto dal: Aug 2006
Messaggi: 90
Se a te interessa solo il primo carattere, al posto di switch(scelta) potresti mettere switch(scelta[0])
__________________
A day without laughter is a day wasted
darkestsky è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 08:26   #3
robs05
Member
 
Iscritto dal: Jan 2007
Messaggi: 112
Già ho provato, mi da errore dicendo :
error: switch quantity not an integer
robs05 è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 09:57   #4
darkestsky
Member
 
Iscritto dal: Aug 2006
Messaggi: 90
Giusto... forse potresti definire scelta come array di caratteri: per esempio char scelta[50] e poi fare lo switch su scelta[0]...
__________________
A day without laughter is a day wasted
darkestsky è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 11:10   #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
In ogni caso ci sarebbe il pericolo del buffer overflow.
Svuota lo stdin dopo la lettura di scelta:

string temp;
getline(cin, temp);

oppure

string scelta;
getline(cin, scelta);

switch(scelta.at(0))
{
....
}
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 05-01-2009, 11:41   #6
robs05
Member
 
Iscritto dal: Jan 2007
Messaggi: 112
grazie mille cionci, ho risolto
robs05 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
In sella alla Fiido Nomads Pro: e-bike con motore centrale da 100 Nm per il divertimento a 360 gradi In sella alla Fiido Nomads Pro: e-bike con motor...
ASUS Zenbook 14 (UX3480AA): tanta autonomia con uno chassis bello e robusto ASUS Zenbook 14 (UX3480AA): tanta autonomia con ...
Amazon, offerte da non perdere oggi: Mac...
1.500 km con una ricarica: CATL e Changa...
Rockstar Games punta a ridurre i tempi d...
Accessori auto su Amazon da 22€: aspirab...
Oltre 436 km senza ricaricare: questa mo...
Samsung Health si aggiorna: il coaching ...
XBOX Nano Controller: il nuovo gamepad c...
MSI diversifica il suo business: con EVS...
AirPods Pro 3 crollano a 199€ su Amazon:...
Epic Games Store: il nuovo launcher per ...
LG Mini RGB 55 pollici crolla a 587,99€:...
TSMC macina profitti grazie all'IA: il f...
MacBook Pro con chip M5 Pro e Max, 3 mod...
Xiaomi distrugge l'ansia da batteria e v...
La Commissione europea vuole usare l'IA ...
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: 10:08.


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