File:
[Coherent Logic Development] /
freem /
examples /
libfreem /
grades /
grades.c
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs
Sun Jan 19 02:04:04 2025 UTC (6 months, 2 weeks ago) by
snw
Branches:
MAIN,
CoherentLogicDevelopment
CVS tags:
v0-63-1-rc1,
v0-63-0-rc1,
v0-63-0,
v0-62-3,
v0-62-2,
v0-62-1,
v0-62-0,
start,
HEAD
FreeM
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>