Annotation of 43BSDTahoe/usr.lib/learn/C/L12.1b, revision 1.1.1.1

1.1       root        1: #print
                      2: The function getnum actually returns -1 when it
                      3: encounters end of file. (The source is in getnum.c
                      4: if you're interested.)
                      5: Write, compile and run a program that
                      6: reads numbers one per line with getnum
                      7: and, for each, prints:
                      8: 
                      9: small  if the number is >0 and <=100
                     10: big    if the number is >100 and <=1000
                     11: huge   if the number is >1000.
                     12: 
                     13: Type "ready" when you're done.
                     14: #once cp %s/getnum.o .
                     15: #once cp %s/getnum.c .
                     16: #once #create Ref
                     17: 1001
                     18: 1000
                     19: 999
                     20: 101
                     21: 100
                     22: 1
                     23: #once #create Ref1
                     24: huge
                     25: big
                     26: big
                     27: big
                     28: small
                     29: small
                     30: #user
                     31: a.out <Ref >test
                     32: #cmp Ref1 test
                     33: #succeed
                     34: /* One way:*/
                     35: 
                     36: main() {
                     37:        int n;
                     38: 
                     39:        while ((n = getnum()) >= 0)
                     40:                if (n > 0 && n <= 100)
                     41:                        printf("small\n");
                     42:                else if (n > 100 && n <= 1000)
                     43:                        printf("big\n");
                     44:                else if (n > 1000)
                     45:                        printf("huge\n");
                     46: }
                     47: 
                     48: /*     Notice that in principle n could be negative,
                     49:        so we need the last case to say
                     50:                else if (n > 1000)
                     51:        instead of just falling into it with a bare
                     52:                else
                     53: 
                     54:        Also it's a good idea to indent the else-if's
                     55:        exactly the way they are here; otherwise
                     56:        you'll lose track of what's going on.
                     57: **/
                     58: #log
                     59: #next
                     60: 13.1a 10

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.