Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> C /C + + -programmering >> Content

    Hur man gör Input Endast ett heltal i C + +

    tvinga in i en C + + -program att vara ett heltal är till hjälp när du begär en person att ange ett nummer , exempelvis hans ålder , och du vill ignorera ogiltiga indata , t.ex. "$ 2 , " " 18,5 " eller " nej . " Det finns inget enkelt sätt att begränsa indata till en viss typ , som I /O-funktioner typiskt bearbeta input helt enkelt som ett tecken eller en sträng . Att tvinga heltal ingång , manuellt slinga genom ingången och kontrollera att varje tecken är ett giltigt heltal . Instruktioner
    1

    Öppna din C + + -filen i en editor som Microsoft Visual Studio Express .
    2

    Inkludera de nödvändiga biblioteken att använda funktionerna genom att lägga till följande kod på toppen av din fil :

    # include //isdigit

    # include //atoi

    # include < string . h > //strlen

    # include //printf , fgets , stdin , BUFSIZ
    3

    deklarera variabler som krävs för att mata in ett heltal genom att lägga till följande kod på toppen av din funktion :

    int antal ;

    unsigned n;

    char buffer [ BUFSIZ ] ;

    bool found_nondigit , giltig ;
    4

    Be användaren att ange ett heltal . Kontrollera om det är giltigt input och , om inte , fortsätt att begära inmatning tills användaren anger endast ett heltal genom att lägga till följande kod :

    giltigt = false;

    medan {

    printf ( " Ange ett heltal : " ) ;

    if ( ! fgets ( buffert , sizeof buffert , stdin ) = null ) {

    buffert [ strlen ( buffert ) -1 ] = ' \\ 0 ' ;

    found_nondigit = false;

    if ( strlen ( buffert ) == 0 ) katalog

    found_nondigit = true;

    för ( n = 0 , n < strlen ( buffert ) , n + + ) katalog p Om

    found_nondigit = true ( isdigit ( buffer [ n ] ) ! ) ,

    if ( ! found_nondigit ) {

    number = atoi ( buffert ) ,

    printf ( " % d \\ n " , antal ) ;

    giltig = true ;

    }

    annat

    printf ( " Fel : Ogiltig indata \\ n " ) ;

    }

    }

    input såsom " 5f , " " x6 " och " 8.4 " detekteras som ogiltiga indata . De " för" loop kontrollerar om varje inmatade tecknet är en siffra från 0 till 9. Den "Om ( strlen ( buffert ) == 0) " linje kontrollerar om användaren tryckte på " Enter" utan att ange någon input . Den " atoi " funktionen omvandlar input till ett heltal när det väl har validerats .
    5

    Rädda C + + -fil , kompilera och köra programmet för att samla heltal input från användaren .

    Addera

    Tidigare:

    nästa:
    relaterade artiklar
    ·Visual Basic . NET Vs . Visual C # NET
    ·Hur man skapar en textfil med C + +
    ·Hur korrekt att stänga en WCF Channel
    ·Hur man kompilerar C -kod som ett bibliotek
    ·Vad är syntax i C + +
    ·Hur man använder funktioner i C + +
    ·Så här ställer du Isolation Level i ODBC
    ·Vad är skillnaden mellan privat och offentlig medlemss…
    ·Hur Direktuppspelning av video i XCode
    ·Hur hittar resten på C
    Utvalda artiklarna
    ·Hur man gör ett spel i QBasic
    ·Vad är en Actionservlet i Struts
    ·Hur får man Längd på en lista i Python
    ·Inaktivera bort i ett kalkylblad i VBA
    ·Hur Ange GridView Datakey i Code
    ·Hur man gör en LUA -fil för koordinater
    ·Har Joomla använder mycket RAM
    ·Hur förstå Pekare i C
    ·Vad är meningen med miljösanering
    ·Hur man bestämma kompatibiliteten med Python
    Copyright © Dator Kunskap http://www.dator.xyz