Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako na Odmietnuť údajov , ktoré pretečeniu Rozmery

Počítačové programy sú často používané na vykonávanie nejakej zmysluplnej práci na dáta, ktoré sú mu boli predložené , ako vstup . Napríklad , môže byť program napísaný vykonávať výpočty plochu na výšku a šírku rozmery . Vzhľadom k tomu , ľubovoľný počet môže byť predložená do programu , je tu možnosť , že vstup je príliš veľká na spracovanie. To má za následok pretečenie , ktorý spôsobuje poškodenie dát . Môžete použiť programovací jazyk podobný C + + odmietnuť údaje , ktoré by spôsobili podmienku pretečeniu . Veci , ktoré budete potrebovať
C + + integrované vývojové prostredie ( IDE ) , ako je napríklad Eclipse CDT
C + + Compiler , ako GCC
Zobraziť ďalšie inštrukcie Cestuj 1

Založte C + + IDE kliknutím na jeho ikonu programu . Keď sa otvorí , vyberte " File /New /Project " a vyberte " C + + " vytvoriť nový C + + projektu . Súbor zdrojový kód sa zobrazí v textovom editore časti IDE . Tento súbor obsahuje automaticky generované " hlavné" funkciu , ktorá slúži ako vstupný bod pre váš program . Budete umiestniť všetky svoje kód vnútri zložených zátvoriek , ktoré sa objavia ihneď pod " hlavné " funkcie .
2

Napíšte nasledujúce deklarácie premenných medzi zloženými zátvorkami na " hlavné " funkcie . Prvé dva ukazovatele sa používajú na zachytenie vstup z klávesnice . Premennej " " dĺžka " a " šírka " Hold rozmery v dátový typ nazvaný " krátky " , ktorý môže len ukladať hodnoty do 32.767 pred pretekaniu . Záverečná premenná sa používa na ukladanie oblasť rozmerov , a je typu " long " . Tento typ dát môže obsahovať hodnoty až 2147483647 , čo je dvojnásobok maximálnej hodnota možné pri násobení dvoch " šortky " spolu

char * inputString ; .

Char bufferu [ 256 ] ;

krátka dĺžka = 0 ;

krátke width = 5 ;

dlhá plocha = 0 ;
3

Napíšte príkaz , ktorý vytlačí pokyny k užívateľ zadať dĺžkový rozmer , ako je toto :

printf ( " Zadajte dĺžkový rozmer : \\ n" ) ;
4

Napíšte príkaz , ktorý zachytáva vstup užívateľa z klávesnice pomocou premennej " inputString " a " vyrovnávacej pamäti " , ako je toto :

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

Napíšte " ak " Tvrdenie , že testy či je hodnota vstup užívateľa je väčšia ako to , čo krátky je schopný zvládnuť . Maximálna hodnota " krátky " je uložená v konštantná " SHRT_MAX . " Skontrolujte , či je hodnota kladná , pretože vyliala hodnota môže byť záporná a rozmery sú zvyčajne len kladné hodnoty . Nasledujúce " , pokiaľ " Vyhlásenia kontroluje pretečeniu a vytlačí správu, ak dôjde k pretečeniu :

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

( " Data Zamietnuté pre preplnená rozmer \\ n" ) ; }
6

Napíšte " iného " vyhlásenie , že funguje iba v prípade , že predchádzajúce " , pokiaľ " vyhlásenie vyhodnotený ako false . K tomu dochádza , keď je vstupná hodnota je v pravom rozmedzí hodnôt pre " krátke " dátových typov .

Iného

{ }
7

Napíšte dve vyhlásenia , ktorá priraďuje " inputString " k " dĺžke " premenné a násobí ju s šírkou premenné . Vložte nasledujúce dva príkazy v - medzi zloženými zátvorkami , ktoré bezprostredne nasledujú " iného " vyhlásenie :

dĺžka = atoi ( inputString ) ;

plocha = šírka dĺžka * ;

8

Napíšte záverečné vyhlásenie , že vypíše oblasť . Umiestnite tento pod napísaných v poslednom kroku , a v - medzi zloženými zátvorkami z " iného " vyhlásenie vyhlásenie :

printf ( " Oblasť : % d " , oblasť ) ;
9

Stlačte zelené tlačidlo " Play " pre spustenie programu . Príkazového riadku sa objaví sa riadok textu s výzvou na zadanie čísla . Zadajte do 32.768 , čo je jeden vyššia ako " SHRT_MAX , " a nasledujúci text je výstup :

dát Zamietnuté pre preplnená rozmer

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené