Dataprogram används ofta för att utföra något meningsfullt arbete på uppgifter som lämnas till den som indata . Till exempel kan ett program skrivas för att utföra areaberäkningar på höjd och bredd mått . Eftersom varje nummer kan lämnas in till programmet , finns det möjlighet att en ingång är för stor för att behandlas . Detta resulterar i ett överflöd , vilket gör data korruption. Du kan använda ett programmeringsspråk som C + + för att avvisa uppgifter som skulle orsaka en spilltillstånd . Saker du behöver
C + + Integrated Development Environment ( IDE ) , t.ex. Eclipse CDT
C + + kompilator , en sådan GCC
Visa mer Instruktioner
1
Ladda C + + IDE genom att klicka på dess programikon . När det öppnas , välj " Arkiv /Nytt /Project " och välj " C + +-projekt " för att skapa en ny C + + projektet . En källkod fil visas i textredigeraren delen av IDE . Denna fil innehåller ett automatiskt genererat " main " -funktion , som fungerar som en inkörsport för dina program . Du kommer att placera all kod inom klamrarna som visas direkt nedanför " main " -funktion .
2
Skriv följande variabeldeklarationer mellan klammerparenteser i " main " -funktion . De första två variablerna används för att fånga inmatningar från tangentbordet . Variablerna ' " längd " och " bredd " håller måtten på en datatyp som kallas " kort , " som bara kan lagra värden upp till 32767 innan överfyllda . Den slutliga variabel används för att lagra en area av dimensionerna , och är av typen " lång . " Denna datatyp kan lagra värden upp till 2147483647 , vilket är dubbelt det maximala värdet möjligt när multiplicera två "shorts " tillsammans
char * inputString , .
Char buffer [ 256 ] ;
korta längd = 0 ;
kort width = 5;
långt område = 0;
3
Skriv ett uttalande som skriver ut vägbeskrivning till användaren att ange längden dimensionen , som den här :
printf ( " Ange längden dimensionen : \\ n " ) ;
4
Skriv ett uttalande som fångar användarens input från tangentbordet med variablerna " inputString " och " buffert ", som den här :
inputString = fgets ( buffert , 256 , stdin ) ;
5
Skriv ett "om " uttalande om att tester för att se om värdet användarinmatningen är större än vad en kort är klarar av. Det maximala värdet för en "kort " lagras i det ständiga " SHRT_MAX . " Kontrollera om värdet är positivt , eftersom ett överflödigt värde kan bli negativ och dimensioner är typiskt enbart positiva värden . Följande " om " -sats kontrollerar för spill och skriver ut ett meddelande om spill inträffar:
p Om ( atoi ( inputString ) > SHRT_MAX && atoi ( inputString ) > 0 ) katalog
{ printf ( " Data avvisas överfyllda dimension \\ n " ) ;}
6
Skriv ett " annat " uttalande som bara körs om föregående " om " uttalande utvärderas som falskt . Detta inträffar när värdet ingången ligger inom rätt intervall med värden för "korta" datatyper .
Annat
{ }
7
Skriv två uttalanden som tilldelar den " inputString " till den "längd" variabel och multiplicerar den med bredden variabel. Placera följande två uttalanden i - mellan klamrarna som omedelbart följer " annars " uttalande :
längd = atoi ( inputString ) ;
area = längd * bredd ,
8
Skriv en slutavräkning som skriver ut området . Placera detta nedan uttalanden skrivna i det sista steget och i - mellan klammerparenteser av " annat" uttalande :
printf ( " Område : % d " , area ) ;
9
Tryck på den gröna knappen "Spela" för att köra programmet . En kommandotolk visas med en textrad där du uppmanas att ange ett nummer . Ange i 32768 , vilket är ett högre än " SHRT_MAX , " och följande text är utdata :
Data avvisas överfyllda dimension