C-Programm: so stellen Sie die benutzerdefinierten integer-Bereich, streng die Begrenzung der akzeptiert Eingabe zahlen in diesem Bereich nur?

Betrachten wir einen Fall, wo ein Programm zu nehmen, eine Zahl als Eingabe vom Benutzer, die nur innerhalb einer strengen Auswahl zwischen 1 und 10,00,000,000? Ist es möglich in C? Wenn ja, wäre es nett, wenn mir jemand erklären kann, durch änderungen an folgenden Beispiel-Programm.

#include<stdio.h>
int main()
{
    unsigned long int n, e1,e2,e3;
    int counter;

    for(counter=0; counter<10; counter++)
    {

        scanf("%ld",&n); //how to restrict this between 1 to 10,000,000,000?

        e1=n/2;
        e2=n/3;
        e3=n/4;

        if(e1+e2+e3<n)
        {
            printf("%ld\n",n);
        }

        else

            printf("%ld\n",e1+e2+e3);

    }

    return 0;
}
  • Ja, es ist. Was haben Sie versucht, noch?
  • Fügen Sie einfach ein if Zustand nach der scanf zu prüfen, die Wert Eingabe durch den Benutzer.
  • Du meinst bei der Eingabe der Zeit? oder bei der Validierung Zeit? Letzteres ist eine if-else-Weg, der ehemaligen ist gonna end up being mehr Mühe als sein Wert.
InformationsquelleAutor sabergeek | 2013-01-29
Schreibe einen Kommentar