Данас ћемо проучавати једну од важних функција заокруживања целобројне вредности у програмском језику Ц++. Научићемо како ћемо применити овај метод заокруживања. Али, пре тога, хајде да на брзину погледамо основе Ц++-а тако да корисник не размишља о томе.
Ц++ је процедурални и лако разумљив објектно оријентисани језик програмирања који нуди програмима јасну структуру која омогућава процену кода у оквиру истог програма. Али понекад постоји сложен проблем који желимо да решимо. За то користимо више функција у Ц++-у да поделимо сложени проблем на мање делове, а то су функције које смо користили у нашем програму. А данас проучавамо једну од важних функција, а то је функција ринт() у Ц++.
Увод
У Ц++, функција ринт() је унапред дефинисана функција која заокружује вредност на најближу целобројну вредност. Да бисмо заокружили улазну вредност, користимо тренутни режим заокруживања, а то је режим фесетроунд(). Да бисмо разумели и јасније научили о функцији ринт(), хајде да копамо дубоко и видимо како ћемо имплементирати ову функцију у Ц++.
Синтакса
Хајде да разумемо стил писања и имплементацију функције ринт() у Ц++. Прво ћемо написати тип враћања функције ринт(). У заградама функције ринт() уписаћемо тип података улазне променљиве и у њу проследити улазни параметар тако да уносну вредност добијемо у заокружени целобројни тип.
Параметар
Инпут_вариабле: може бити било које име променљиве које садржи било коју вредност. На пример, имамо параметар к који желимо да заокружимо.
Грешке и изузеци
Ако проследимо параметар 0 и параметар бесконачан, заузврат, добићемо оригиналну улазну вредност. А ако је излаз функције изван прихватљивих параметара за тип враћања, могла је доћи до грешке у домену.
Повратна вредност
Заузврат, добићемо заокружену вредност типа целог броја улазне вредности.
Пример 01
Почнимо да имплементирамо наш први и најједноставнији пример функције ринт(), коју ћемо написати у Ц++. Потребан нам је Ц++ компајлер за имплементацију функције ринт(). Отворите компајлер и почните да пишете код.
У Ц++ програм прво укључујемо основне библиотеке везане за наш програм. Ове библиотеке су унапред дефинисане библиотеке Ц++-а. Морамо да напишемо само један ред кода да бисмо укључили ове библиотеке уместо да пишемо стотине редова да бисмо направили библиотеку. Да бисмо укључили датотеку, прво пишемо знак „#“ који обавештава компајлер да учита датотеку заглавља, термин „инцлуде“ се састоји од датотеке заглавља у програм, а „иостреам“ означава пријем података од корисника и приказивање то кориснику.
Такође смо уградили другу датотеку заглавља са префиксом „#инцлуде <цматх>” тако да можемо да извршимо функцију заокруживања јер је то математичка функција. Зато смо користили библиотеку „цматх“. Да бисмо спречили да класе, функције и варијабле користе исти контекст у целом програму, затим смо користили директиву „усинг намеспаце стд“.
#инцлуде <иостреам>#инцлуде <цматх>
користећи простор имена стд;
инт маин ( )
{
флоат Кс = 9.1 , и = 0.9 ;
цоут << 'Вредност Кс након заокруживања: ' << трчи ( Икс ) << ендл;
цоут << 'Вредност И након заокруживања: ' << трчи ( И ) ;
повратак 0 ;
}
Затим ћемо почети да пишемо маин() функцију јер овде. Написаћемо стварну линију кода или имплементирати функцију коју желимо да имплементирамо. У заградама функције маин() декларисали смо две променљиве под називом „Кс и И“ типа флоат и доделили им различите вредности. Затим ћемо позвати функцију заокруживања коју желимо да извршимо, а то је функција ринт(). Функцију позивамо тако што прво напишемо име функције, што је функција ринт(), а затим у њој улазну променљиву „Кс“. А онда ћемо их одштампати писањем методе цоут() и прослеђивањем функције. Урадили смо исто за променљиву „И,“. И на крају ћемо вратити 0 функцији маин() и затворити заграду.
Овде имамо жељени излаз, а то је вредност „Кс“ је 9, а вредност „И“ је 1 у целобројном типу.
Пример 02
Сада, пређимо на други пример функције ринт() у језику Ц++. У овом примеру смо користили метод текућег режима, а то је режим фесетроунд(). Метода фесетроунд() креира „тренутни правац заокруживања“ у функцији ринт() која усмерава улазну вредност нагоре, надоле, на најближи и ка нултом правцу.
#инцлуде <иостреам>#инцлуде<цматх>
#инцлуде <цфенв>
користећи простор имена стд;
инт маин ( )
{
доубле Кс;
цоут << 'Унесите улазну вредност Кс је: ' ;
једење >> ИКС;
цоут << ' \н Заокруживање на најближи цео број од Кс(' << Икс << '): ' << трчи ( Икс ) << ендл;
фесетроунд ( ФЕ_УПВАРД ) ;
цоут << 'Заокруживање Кс(' << Икс << ') нагоре: ' << трчи ( Икс ) << ендл;
фесетроунд ( ФЕ_ДОВНВАРД ) ;
цоут << 'Заокруживање Кс(' << Икс << ') надоле: ' << трчи ( Икс ) << ендл;
повратак 0 ;
}
Укључили смо неке основне библиотеке везане за функције које ћемо имплементирати у програм. Прва датотека заглавља је „#инцлуде <иостреам>” за унос и излаз података. Друга датотека заглавља је “#инцлуде <цматх>” јер је функција ринт() математичка функција, а трећа датотека заглавља је “#инцлуде <цфенв>” тако да можемо користити функцију фесетроунд() у нашем програму. Затим смо укључили директиву препроцесора „намеспаце стд“.
Затим позивамо функцију маин() и почињемо да пишемо стварну линију кода. Прво ћемо декларисати променљиву „Кс“ типа доубле, а затим ћемо добити вредност од корисника коришћењем цин() методе Ц++-а, а затим је одштампати помоћу методе цоут(). Затим ћемо позвати функцију ринт() да одштампамо најближу заокружену вредност „Кс“ помоћу методе цоут().
Сада смо користили метод фесетроунд() за штампање вредности у смеру навише и наниже. За то позовите функцију фесетроунд() и напишите “ФЕ_УПВАРД” великим словима у заградама функције и одштампајте га пропуштањем функције ринт() у методу цоут(). Затим штампамо вредности у правцу надоле, тако да напишемо метод фесетроунд() и проследимо „ФЕ_ДОВНВАРД“ великим словима и напишемо функцију ринт() у методу цоут(). И на крају, вратите 0 у функцију маин() и затворите заграде.
Погледајмо резултат претходног примера:
Закључак
У овом чланку смо научили о улози функција у Ц++-у и покрили нашу главну тему, а то је функција ринт() у Ц++-у. Научили смо како функција ринт() ради у Ц++-у и како добијамо заокружену целобројну вредност коришћењем методе фесетроунд(). Такође смо имплементирали неке примере у детаљно објашњење сваке линије кода тако да корисник може лако да разуме примере.