C ++ Sprawdź, czy wejście jest int

C ++ Sprawdź, czy wejście jest int
C ++ jest bardzo wszechstronnym językiem, jeśli chodzi o funkcje i narzędzia. Powiedzmy, że chcesz sprawdzić wartość, jeśli jest to liczba całkowita, czy nie. Możesz to znaleźć więcej niż 1 metodę, aby to znaleźć. Dlatego przyjrzymy się tym metodom w tym artykule, aby sprawdzić, czy określona wartość przez użytkownika jest liczbą całkowitą, czy nie.

Pamiętaj, aby mieć już skonfigurowany kompilator „G ++” dla języka C ++.04 system operacyjny Linux. Zacznijmy od uruchomienia terminalu Ubuntu za pomocą „Ctrl+Alt+T”. Utwórz plik C ++ za pomocą prostej instrukcji „dotyk” i uruchom go w ramach edytora „Nano” naszego Ubuntu 20.04 System jak poniżej.

Przykład 01:

Rozpoczniemy nasz kod C ++ w tym pliku z biblioteką nagłówka „iostream” i standardową przestrzenią nazw, i.mi., „STD” do wykorzystania instrukcji wejściowych i wyjściowych kodu, i.mi., Cout i Cin. Wykonanie kodu C ++ zawsze zaczyna się od jego funkcji Main (.

Najpierw omówmy funkcję Main (). Funkcja main () została zdefiniowana za pomocą typu „int” po boolean return typu zdefiniowanego przez użytkownika funkcję „sprawdź”. Ciąg „v” został zdefiniowany bez żadnej wartości. Instrukcja „cout” jest tutaj, aby poprosić użytkownika o wartość, ja.mi., liczba całkowita lub ciąg. Instrukcja „CIN” jest tutaj, aby zapisać wartość wprowadzoną przez użytkownika w zmiennej „V”.

Instrukcja „IF-ELSE” została wykorzystana do sprawdzenia, czy wartość wprowadzona przez użytkownika jest liczbą całkowitą, czy nie. W części „If” nazywamy funkcją logiczną „Check ()” przekazywaną zmienną „V” jako argumentem. Kontrola trafia do funkcji „sprawdź”. Z funkcją „sprawdź” pętla „for” została użyta do iteracji wartości wprowadzonej przez użytkownika dla każdej litery/znaku do końca zmiennej.

Pętla „dla” ma ponownie instrukcję „If”, aby użyć funkcji „isdigit ()” na każdym znaku wartości „V” wprowadzonej przez użytkownika. Funkcja „isdigit ()” zwraca w zamian prawdziwie lub fałsz. Jeśli zwróci „prawdziwe”, oznacza to, że konkretna postać to liczba. Zatem instrukcja „powrotu” zwróci „True” do metody main (). W przeciwnym razie zwróci „fałszywe”.

Kontrola wróciła do funkcji Main () po zakończeniu pętli „for”. Jeśli wartość logiczna zwrócona przez funkcję „Sprawdź” jest „prawdziwa”, instrukcja „Jeśli” zostanie wykonana. W przeciwnym razie zostanie wykonana instrukcja części „else”.

#włączać
za pomocą przestrzeni nazw Std;
Bool Check (String V)
dla (int i = 0; iif (isdigit (v [i]) == true)
zwrócić true;
zwrócić fałsz;

int main ()
String v;
Cout<<"Please enter some value: ";
cin >> v;
if (Check (v))
Cout<<"The value "<w przeciwnym razie
Cout<<"The value "<

Użyjmy kompilatora G ++, aby skompilować kod i uruchomić „./A.OUT ”polecenie. Użytkownik wprowadza „Witaj” i otrzymuje wiadomość „Wartość nie jest liczbą całkowitą”. Użytkownik wprowadził „140” jako wartość drugiego wykonywania i otrzymał komunikat „Wartość to liczba całkowita”.

Przykład 02:

Funkcję isdigit () można wykorzystać w inny sposób w kodzie, aby sprawdzić wartość, czy jest to liczba całkowita, czy nie. W przypadku tej ilustracji nie będziemy korzystać z funkcji zdefiniowanej przez użytkownika (). Całe prace będą zarządzane w funkcji Main ().

W ramach metody main () zainicjowaliśmy zmienną „liczbę” do „0” po deklaracji zmiennej ciągu „v”. Instrukcja Cout została następnie użyta, aby poprosić użytkownika o wartość wejściową. Instrukcja CIN jest tutaj, aby zapisać wartość wprowadzoną przez użytkownika w zmiennej „V”. Pętla „for” jest używana w metodzie Main (), tak jak wcześniej używaliśmy go w funkcji Check (. Będzie iterować wartość wprowadzoną przez użytkownika do długości.

Oświadczenie „jeśli” jest tutaj, aby wykorzystać funkcję „isdigit”. Jeśli wartość isdigit () równa się „true”, zmienna liczby zostanie zwiększona. Po pętli „dla” kolejna instrukcja „If” jest tutaj, aby sprawdzić wartość „liczby” i reagować zgodnie z tym. Jeśli wartość cout wynosi 0 i równa „długości ciągu”, wyświetli się, że wartość jest liczbą całkowitą za pośrednictwem instrukcji Cout. W przeciwnym razie instrukcja „else” zostanie wykonana, pokazując, że wartością nie jest liczba całkowita.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
String v;
int count = 0;
Cout<<"Please enter some value: ";
cin >> v;
dla (int i = 0; iif (isdigit (v [i]) == true)
count ++;

if (liczba> 0)
Cout<<"The value "<<;v<<" is Integer"<w przeciwnym razie
Cout<<"The value "<

Po kompilacji i wykonywaniu tego kodu najpierw wprowadziliśmy wartość „piekła” i stwierdziliśmy, że nie jest to wartość liczb całkowita. Wprowadziliśmy „42” jako wartość drugiego wykonywania i wyświetla to, że „42” jest wartością liczb całkowitych.

Przykład 03:

Funkcja „Find_first_not_of ()” jest wbudowaną funkcją C++. Zmienna „V” została sprawdzona za pośrednictwem funkcji „Find_first_not_of ()”. Mówi, że jeśli jakikolwiek znak z wartości „V” jest inny niż „0123456789” do końca zmiennej, zwróci „String :: NPO”, co oznacza „nie dopasowany”.

Jeśli wartość zwracana funkcja jest równa „prawdziwej” i nie znalezionej do tej pory ciąg znaków.mi., Pierwsza instrukcja Cout wyświetli się, że wartość jest liczbą całkowitą. W przeciwnym razie, jeśli którekolwiek z wartości zostanie dopasowane, wyświetli się, że wartość nie jest liczbą całkowitą i.mi. może być ciągiem.

#włączać
za pomocą przestrzeni nazw Std;
int main ()
String v;
Cout<<"Please enter some value: ";
cin >> v;
if (v.find_first_not_of ("0123456789") == String :: npos) = true)
Cout<<"The value "<w przeciwnym razie
Cout<<"The value "<

Po wykonaniu użytkownik dodał „C ++”, a wyjście pokazuje, że wartość nie jest liczbą całkowitą. Po innym wykonaniu użytkownik dodał 9808 i stwierdził, że jest to wartość całkowitą.

Wniosek:

Ten artykuł obejmował niektóre wbudowane narzędzia w C ++, aby sprawdzić, czy wartość wejściowa jest pewna liczba całkowita, czy nie. Używane obejmują funkcję isdigit (), narzędzie Count, wartości boolean i funkcja FINK_FIRST_NOT_OF () wraz z String :: NPOS. Wszystko jest dobrze wyjaśnione; Dlatego będzie dość łatwe do zrozumienia.