Question: Write a C program using the macro definitions and structure definitions as detailed below to store data for courses offered at a department at a

Write a C program using the macro definitions and structure definitions as detailed below to store data for courses offered at a department at a university and the record of students registered to these courses. #define CLASSSIZE 35 #define STUDENTNUMBERLENGTH 10 #define NAMELENGTH 25 #define COURSENAMELENGTH 50 #define COURSECODELENGTH 10 #define COURSESREGISTERED 5 #define MIDTERMWEIGHT 30 #define FINALWEIGHT 30 #define QUIZWEIGHT 20 #define HOMEWORKWEIGHT 20

typedef struct fullName{ char *name; char *surname; }name_t; typedef struct examGrades{ double midterm; double final; double quiz; double homework; }grades_t;

typedef struct courseRegistered{ char courseName[COURSENAMELENGTH]; char courseCode[COURSECODELENGTH]; grades_t grades; char letterGrade[2]; double numericGrade; }courseReg_t;

typedef struct studentInfo{ name_t studentName; char *stNo; courseReg_t *courses[COURSESREGISTERED]; double gpa; }student_t;

typedef struct courseInfo{ char courseName[COURSENAMELENGTH]; char courseCode[COURSECODELENGTH]; student_t students[CLASSSIZE]; double courseAverage; }courses_t;

In your program perform functions to addStudent(), addCourse(), calculateStudentCourseGrade(), calculateStudentGPA(), displayStudentInfo(), displayCourseInfo(), printClass() and calculateCourseAverage().

Please remember that you are not allowed to use any global variables. All variables used must be local variables. Please detail variables as they appear in memory using a diagram. Please provide your flowcharts and technical explanations to the programs along with well documented source code files

. Inside the main() function, along with other variables you need, use the variable courses_t courseClass; to both populate the class data and student data, as well as to display them. Please note that a student cannot get a grade below 0 or a grade above 100 for any Test and your program must make sure that input given by user is within the range.

Please also note that letter grades are AA is 4.00 and awarded for a grade 100 90, BA is 3.5 and awarded for a grade 85 89, BB is 3.00 and awarded for a grade 84 80, CB is 2.50 and awarded for a grade 79 75, CC is 2.00 and awarded for a grade 74 70, DC is 1.50 and awarded for a grade 69 60, DD is 1.00 and awarded for a grade 59 50 and FF is 0.00 and awarded for a grade 49 0. The GPA must be between 0.00 to 4.00 and should always be displayed in the correct format.

Please remember you will be graded based on how well you showcase your knowledge. Feel free to add any further functionality to your program provided the given functionality is completely implemented and detailed.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!