Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * faculty.h - header for faculty.c
- #ifndef _FACULTY_H
- #define _FACULTY_H
- #include <errno.h>
- #include <limits.h>
- #include <math.h>
- #include <stdalign.h>
- #include <stdarg.h>
- #include <stdbool.h>
- #include <stddef.h>
- #include <stdint.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdnoreturn.h>
- #include <strings.h>
- #include <unistd.h>
- #define FACULTY_NUM 4096
- #define STUDENT_NUM 4096
- #define TEACHER_NUM 4096
- #define CLASSES_NUM 4096
- enum stdn_grades {
- STDN_ATTENDACE, STDN_READING,
- STDN_LEVEL, STDN_WRITING,
- STDN_PARTICAPATION, STDN_IQ,
- STDN_CLEANLINESS, STDN_LEADERSHIP,
- STDN_OTHER,
- /* used for array sizing only */
- _STDN_SENTINEL,
- };
- enum tchr_grades {
- TCHR_ATTENDACE, TCHR_TEACHING,
- TCHR_PREPARATION, TCHR_INTERACTION,
- TCHR_TECHSKILL, TCHR_TECHUSE,
- TCHR_DEMEANOR, TCHR_LEADERSHIP,
- TCHR_OTHER,
- /* used for array sizing only */
- _TCHR_SENTINEL,
- };
- enum gender {
- MALE, FEMALE,
- };
- enum clss_levels {
- KG1, KG2, KG3,
- };
- /* main structures */
- struct _student;
- struct _teacher;
- struct _class;
- /* complete faculty */
- struct _faculty;
- /*
- * 1. Register all information related to students like:
- * name, age, gender, address, telephone no, and fees's payment.
- * (Register for 10 students at least).
- *
- * 5. Register all info related to student's assessment: like attendace_level,Reading
- * Level, Writing Level, Particapation Level,IQ_result, cleaning_skills, leadership_skills
- * and other notes.
- */
- struct _student {
- char *id, *ed_level, *uni, *spec_addr;
- enum gender sex;
- struct {
- unsigned area_code, number;
- } phone;
- struct {
- unsigned yr, mon, day;
- } dob;
- unsigned stdn_grades[_STDN_SENTINEL];
- };
- /*
- * 2. Register all info related to teachers like: name, Date of Birth, Gender,
- * educational-level, University, Specialist address, telephone no.
- *
- * 4. Register all info related to teacher assessment like: attendance, teaching
- * skills, preparation for class, good interaction with students, using technology
- * in teaching, and other notes.
- */
- struct _teacher {
- char *id, *ed_level, *uni, *spec_addr;
- enum gender sex;
- struct {
- unsigned area_code, number;
- } phone;
- struct {
- unsigned yr, mon, day;
- } dob;
- unsigned tchr_grades[_TCHR_SENTINEL];
- };
- /*
- * 3. Register all info related to class: each class should have level which can
- * be: kg1, kg2, kg3: each class has a teacher, location and number of students.
- */
- struct _class {
- char *id, *location;
- enum clss_levels level;
- /* always one teacher */
- unsigned tchr_idx;
- /* array of indexes into student table */
- unsigned stdn_idx[STUDENT_NUM];
- };
- struct _faculty {
- struct _student students[STUDENT_NUM];
- struct _teacher teachers[TEACHER_NUM];
- struct _class classes[CLASSES_NUM];
- } faculty[FACULTY_NUM];
- /*
- * 6. The system users are:
- *
- * · Administrator: has username and password and can do the following:
- * o add, modify, delete any of the data objects above (deletion must fill the
- * data with any arbitrary symbol like &, *, or!)
- * o search for students or teachers by name
- * o print the assessment’s report of any teacher or student.
- * o Print the payment info of any student.
- */
- int dummy(void);
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement