Annotation of freem/examples/libfreem/grades/grades.c, revision 1.1.1.1

1.1       snw         1: #include <stdio.h>
                      2: #include <string.h>
                      3: #include <stdlib.h>
                      4: 
                      5: #include <freem.h>
                      6: 
                      7: int main(int argc, char **argv)
                      8: {
                      9:     char buf[256];
                     10:     double student_grade;
                     11:     int student_count;
                     12: 
                     13:     freem_ref_t *ref;
                     14: 
                     15:     /* initialize libfreem; use the USER namespace */
                     16:     freem_init ("USER");
                     17: 
                     18:     if ((ref = (freem_ref_t *) malloc (sizeof (freem_ref_t))) == NULL) {
                     19:         fprintf (stderr, "Memory allocation error.\n");
                     20: 
                     21:         exit (1);
                     22:     }
                     23: 
                     24:     ref->reftype = MREF_RT_GLOBAL;
                     25:     strcpy (ref->name, "grades");
                     26: 
                     27:     while (ref->subscript_count < 256) {
                     28: 
                     29:         ref->subscript_count = 0;
                     30: 
                     31:         fprintf (stdout, "Enter student name, or \"exit\" to quit:  ");
                     32:         fgets (buf, 255, stdin);
                     33: 
                     34:         buf[strcspn(buf, "\n")] = 0;
                     35: 
                     36:         if (strcmp (buf, "exit") == 0) break;
                     37: 
                     38:         student_count++;
                     39: 
                     40:         strncpy (ref->subscripts[ref->subscript_count++], buf, 254);
                     41: 
                     42:         fprintf (stdout, "\nEnter student grade:  ");
                     43:         fgets (buf, 255, stdin);
                     44: 
                     45:         buf[strcspn(buf, "\n")] = 0;
                     46: 
                     47:         printf("buf = '%s'\n", buf);
                     48: 
                     49:         strncpy (ref->value, buf, 254);
                     50: 
                     51:         printf("ref->value = '%s'\n", ref->value);
                     52: 
                     53:         freem_set (ref);
                     54: 
                     55:     }
                     56: 
                     57:     fprintf (stdout, "\nYou have entered %d student grades:\n\n", student_count);
                     58: 
                     59: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>