Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> C /C + + Programming >> .

Come rifiutare i dati di overflow delle dimensioni

I programmi per computer sono spesso utilizzati per eseguire alcuni lavori significativi su dati che gli vengono sottoposte come input . Per esempio, un programma può essere scritto per eseguire calcoli sulla zona di altezza e larghezza . Poiché qualsiasi numero può essere sottoposto al programma , vi è la possibilità che un ingresso è troppo grande per essere elaborato . Ciò si traduce in un overflow , che causa la corruzione dei dati . È possibile utilizzare un linguaggio di programmazione come C + + per rifiutare i dati che potrebbero causare una condizione di overflow . Cose che ti serviranno
+ ambiente di sviluppo integrato (IDE) , come ad esempio Eclipse CDT
compilatore C + + , ad un GCC
Mostra più istruzioni
1

carico C + il C + + IDE facendo clic sulla relativa icona del programma . Quando si apre, selezionare " File /Nuovo /Progetto" e scegliere " Progetto C + +" per creare un nuovo progetto C + + . Un file di codice sorgente viene visualizzato nell'editor di testo parte dell'IDE . Questo file contiene una funzione generata automaticamente "principale" , che serve come punto di ingresso per il vostro programma . Potrai inserire tutto il codice all'interno delle parentesi graffe che appaiono immediatamente sotto la funzione "principale" .
2

Scrivi le seguenti dichiarazioni di variabile tra le parentesi graffe della funzione "principale" . Le prime due variabili sono usati per catturare input dalla tastiera . "Lunghezza" le variabili " e" larghezza " detengono quote in un tipo di dati chiamato" breve ", che può memorizzare solo i valori fino a 32.767 prima di traboccare. La variabile finale viene utilizzata per memorizzare l'area delle dimensioni , ed è di tipo " lungo". Questo tipo di dati può memorizzare valori fino a 2.147.483.647 , che è il doppio del valore massimo possibile quando si moltiplicano due "corti " insieme

char * inputString ; .

Char buffer [ 256 ] ;
breve lunghezza

= 0;

breve width = 5;
zona lungo

= 0;
3

scrivere una dichiarazione che consente di stampare le indicazioni per all'utente di inserire la quota della lunghezza , come questo:

printf ( "Inserire la dimensione di lunghezza : \\ n");
4

scrivere una dichiarazione che cattura l' input dell'utente dal tastiera utilizzando le variabili " inputString " e " tampone ", in questo modo:

inputString = fgets (buffer , 256 , stdin) ;
5

Scrivi un "if" che i test se il valore della input dell'utente è più grande di quello che un corto è capace di maneggiamento . Il valore massimo di un "corto " è memorizzato nella costante " SHRT_MAX ". Verificare se il valore è positivo , dal momento che un valore di overflow può diventare negativo e le dimensioni sono in genere solo valori positivi . Il seguente " se " controlli economico per troppo pieno e stampa un messaggio se si verifica un overflow :

if ( atoi ( inputString ) > SHRT_MAX && atoi ( inputString ) > 0 ) { printf

( "Dati rifiutate per dimensione traboccante \\ n" );}
6

Scrivi una dichiarazione " altro " che viene eseguito solo se il "se " istruzione precedente valuta come falsa . Ciò si verifica quando l'ingresso valore rientra il diritto intervallo di valori per i tipi di dati "corte" .

Altro

{ }
7

Scrivi due affermazioni che assegna il " inputString " alla variabile "lunghezza" e moltiplica con la variabile larghezza. Posizionare le seguenti due affermazioni in-tra le parentesi graffe che seguono immediatamente l'affermazione " altro " :
lunghezza

= atoi ( inputString ) ;
zona

= lunghezza * larghezza ;

8

Scrivi una dichiarazione finale che stampa l'area . Posizionare questo qui sotto le dichiarazioni scritte nell'ultimo passaggio e in-tra le parentesi graffe della dichiarazione " altro " :

printf (" Area: % d" , area) ;
9

Premere il tasto verde "Play" per eseguire il programma . Un prompt dei comandi viene visualizzato con una riga di testo che chiede di inserire un numero. Invio in 32.768 , che è uno superiore " SHRT_MAX ", e il testo seguente è uscita :

dati respinti per traboccante dimensione

 

Programmazione © www.354353.com