Computerprogramma's worden vaak gebruikt om bepaalde zinvolle werk op gegevens die eraan wordt voorgelegd als input voeren Weigeren . Bijvoorbeeld kan een programma geschreven oppervlakteberekeningen uitvoeren van lengte en breedte afmetingen . Aangezien elk aantal kan worden aan het programma er de mogelijkheid dat een input te groot is om te verwerken . Dit resulteert in een overloop , die data corruptie veroorzaakt. U kunt een programmeertaal zoals C + + om gegevens die een overflow toestand zou veroorzaken verwerpen . Wat je nodig hebt C + + Integrated Development Environment ( IDE ) , zoals Eclipse CDT C + + Compiler , zo'n GCC Toon Meer Aanwijzingen Load 1 de C + + IDE door te klikken op het pictogram van het programma . Wanneer het wordt geopend , selecteert u " File /New /Project" en kies " C + + -project " om een nieuwe C + + project aan te maken . Een broncode bestand in de teksteditor gedeelte van de IDE . Dit bestand bevat een automatisch gegenereerde " main " functie, die als uitgangspunt voor uw programma dient . U zult al uw code te plaatsen binnen de accolades die direct onder de "hoofd" -functie verschijnt . Kopen van 2 Schrijf de volgende variabele declaraties tussen de accolades van de "hoofd" -functie . De eerste twee variabelen worden gebruikt om invoer van het toetsenbord vangen . De variabelen ' " lengte " en " breedte " te houden afmetingen in een datatype genaamd " Kortom , " die alleen kan opslaan waarden tot 32.767 voor overlopen . De laatste variabele wordt gebruikt om het gebied van de afmetingen opslaan , en van het soort "lang . " Char buffer [ 256 ] ; ; dit data type kan waarden char * inputString maximaal 2,147,483,647 , die twee keer de maximale waarde is mogelijk als vermenigvuldiging van twee " shorts " samen . korte lengte = 0 ; korte width = 5 ; lange gebied = 0 ; 3 Schrijf een verklaring dat aanwijzingen afgedrukt op de gebruiker om de lengtemaat in te voeren , zoals dit: printf ( " Voer de lengtemaat : \\ n " ) ; 4 Schrijf een verklaring dat de input van de gebruiker vastlegt van de toetsenbord met behulp van de variabelen " inputString " en " buffer ", zoals dit: inputString = fgets ( buffer , 256 , stdin ) ; 5 Schrijf een "if " statement dat de tests te zien of de waarde van de gebruikersinvoer groter dan kort kan hanteren . De maximale waarde van een " kort" wordt opgeslagen in de constante " SHRT_MAX . " Controleer of de waarde positief is , aangezien een overgelopen waarde negatief kunnen worden en afmetingen zijn meestal alleen positieve waarden . De volgende "als " statement controleert overloop en drukt een bericht als overflow optreedt : if ( atoi ( inputString ) > SHRT_MAX && atoi ( inputString ) > 0 ) op Twitter { printf ( "Data Afgewezen voor overvolle dimensie \\ n " ) ; } 6 Schrijf een "else " statement dat alleen loopt als de vorige "als " statement evalueert als vals . Dit gebeurt wanneer de ingevoerde waarde is binnen het juiste bereik van de waarden voor " korte " typen data . Anders { } 7 Schrijf twee verklaringen die toewijst de " inputString " naar de variabele " length" en vermenigvuldigt deze met de variabele breedte . Plaats de volgende twee uitspraken in - tussen de accolades die onmiddellijk volgen op de "else " statement : lengte = atoi ( inputString ) ; gebied = lengte * breedte ; < br > 8 Schrijf een slotverklaring dat drukt het gebied . Plaats deze onder de verklaringen geschreven in de laatste stap en in - tussen de accolades van de "else " statement : printf ( " Area : % d " , gebied) ; 9 Druk op de groene knop "Spelen" om het programma uit te voeren . Een command prompt verschijnt met een regel tekst waarin u wordt gevraagd om een nummer in te voeren . Voer in 32768 , dat is een hoger dan " SHRT_MAX , " en de volgende tekst wordt weergegeven : gegevens Afgewezen voor overvolle dimensie
|