Dataprogrammer ofte brukes til å utføre noen meningsfylt arbeid på data som er sendt til det som input . For eksempel kan et program være skrevet for å utføre beregninger som på høyde og bredde dimensjoner. Siden så mange kan sendes til programmet , er det muligheter for at en inngang er for store til å bli behandlet. Dette resulterer i et overløp , noe som fører til ødelagte data . Du kan bruke et programmeringsspråk som C + + til å avvise data som ville føre til en overflow tilstand . Du trenger
C + + Integrated Development Environment ( IDE ), for eksempel Eclipse CDT
C + + Compiler , slik GCC
Vis flere Instruksjoner
en
Load den C + + IDE ved å klikke på programmets ikon. Når den åpnes, velger du "Fil /Ny /Project" og velg " C + + Project" for å opprette en ny C + + prosjekt . En kildekoden filen vises i teksteditoren delen av IDE . Denne filen inneholder en automatisk generert "main "-funksjonen , som fungerer som en inngangsport for programmet. Du vil plassere all koden i klammeparentesene som vises rett under "main "-funksjonen .
2
Skriv følgende variabeldeklarasjoner mellom klammeparenteser av " main" -funksjonen. De første to variabler er brukt for å fange inn fra tastaturet . Variablene ' "lengde " og " bredde" holder mål i en datatype som kalles "short ", som bare kan lagre verdier opp til 32.767 før overfylte. Den endelige variabel brukes til å lagre området av dimensjonene , og er av typen " lang ". Denne datatypen kan lagre verdier opp til 2147483647 , som er det dobbelte av maksimal mulig verdi når multiplisere to " shorts " sammen
røye * inputString ; .
Røye buffer [ 256 ];
kort lengde = 0;
kort width = 5;
lang areal = 0;
3
Skriv en uttalelse som skriver ut anvisninger til brukeren til å oppgi lengden dimensjon , som dette : en
printf ("Skriv inn lengden dimensjon: \\ n ");
4
Skriv en uttalelse som fanger brukerens input fra tastaturet ved hjelp av variablene " inputString " og " buffer ", som dette : en
inputString = fgets (buffer , 256 , stdin ) ;
5
Skriv en " hvis " statement som tester for å se om verdien brukerinngangsinformasjonen er større enn hva et kort er i stand til håndtering. Den maksimale verdi av et "kort" er lagret i konstant " SHRT_MAX . " Sjekk for å se om verdien er positiv , siden en oversvømmet verdi kan bli negativ og dimensjonene er vanligvis bare positive verdier. Følgende " hvis " statement sjekker for overløp og skriver ut en melding om overflow oppstår :
if ( atoi ( inputString ) > SHRT_MAX && atoi ( inputString ) > 0 )
{ printf ( "Data Avviste for overfylte dimensjon \\ n "); }
6
Skriv en " annet " statement som kun kjører dersom foregående " hvis " statement evalueres som usant. Dette skjer når verdien inngangen er innenfor riktig område av verdier for "korte" datatyper .
Annet
{ }
7
Skriv to uttalelser som tildeler de " inputString " til " lengde " variable og multipliserer den med den variable bredde . Plasser følgende to uttalelser i mellom klammeparentesene som umiddelbart følger " annet " statement :
lengde = atoi ( inputString ) ;
areal = lengde * bredde;
8
Skriv en endelig uttalelse som skriver ut området . Plasser denne under utsagn skrevet i det siste trinnet og i mellom klammeparentesene av " annet " statement : en
printf ( "Area :% d" , areal) ;
9 < p> Trykk på den grønne « Play »-knappen for å utføre programmet . En ledetekst vises med en tekstlinje ber deg om å taste inn et nummer . Tast inn 32768 , som er ett høyere enn " SHRT_MAX ", og følgende tekst er utgang:
data Avvist for overfylte dimensjon