|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 30
|
[C++] Errore digitazione e reinserimento dati.
Ragazzi ho questo programma:
#include <iostream> using namespace std; int main() { double next; double highest; cout << "Please enter the temperature values:\n"; if (cin >> next) highest = next; else { cout << "No data!\n"; return 1; } while (cin >> next) { if (next > highest) highest = next; } cout << "The highest temperature is " << highest << "\n"; return 0; } chiede di inserire delle temperature e poi se si preme una lettera ti dice quella piu alta, però se all'inizio premi subito la lettera di dice no data! e si chiude il programma. come posso modificare il programma per far si che se alla prima scelta mettendo la lettera invece di chiudersi il programma dopo il no data mi richieda di reinserire la temperatura di nuovo? so che si fa con i cicli while (penso) ma come? non ci riesco, ci giro in torno ma niente, vorrei che teoricamente all'inifinito se io alla prima richiesta scrivessi sempre lettere il programma all'infinito mi avverte che ho sbagliato e mi richieda di reinserire la temperatura. grazie mille a chi mi saprà aiutare! |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Mar 2007
Città: Milano Beach
Messaggi: 1696
|
Edit: ho detto na cazzata... vado a prendere il caffè.
__________________
~ Cthulhu: MacBookPro 13.3" ~ Azathoth: D510MO |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Dec 2005
Città: Provincia di Vicenza
Messaggi: 174
|
Ciao,
come hai detto tu devi utilizzare un ciclo 'while'. Devi inserire questo pezzo di codice in un ciclo 'while', appunto. Codice:
cout << "Please enter the temperature values:\n";
if (cin >> next)
highest = next;
else
{
cout << "No data!\n";
return 1;
}
Spero di essere stato abbastanza chiaro. ciao ciao |
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 30
|
si infatti è proprio la descrizione mentale che mi ero fatto ma questo procedimento non riesco a tradurlo in codice, potresti aiutarmi?
grazie mille. edit: ho provato cosi ma se digito il carattere mi va in loop invece di chiedermelo una votla sola perchè? #include <iostream> #include <stdio.h> using namespace std; int main() { double next; double highest; bool more = true; while (more) { cout << "Please enter the temperature values:\n"; if (cin >> next) { highest = next; more = false; } else { cout << "No data!\n"; } } while (cin >> next) { if (next > highest) highest = next; } cout << "The highest temperature is " << highest << "\n"; getchar(); return 0; } Ultima modifica di DarkAnsem : 06-04-2011 alle 13:41. |
|
|
|
|
|
#5 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 30
|
up
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:17.



















