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 // SINIFKAPASITE #define STUDENTNUMBERLENGTH 10 // OGRENCINUMARAUZUNLUGU #define NAMELENGTH 25 // ADIUZUNLUCU #define COURSENAVELENGTH 50 // DERSADTUZUNLUGU #define COURSECODELENGTH 10 // DERSKODUZUNLUGU #define COURSESREGISTERED 5 /! KAYITLIDERSLER #define MIDTERMWEIGHT 30 !! VIZEAGIRLIK #define FINALWEIGHT 30 // FINALAGIRLIK #define QUTZWEIGHT 20 QUIZACIRLIK #define HOMEWORKWEICHT 20 // ODSVAGIRLIK typedef struct fullName //tam adl char *name; //adi char *surname; // soyadi inane_t; typedef struct examGrades // sinav not double midterm //vize double final; //final double quiz; //quiz double homework; //odev gradea typedef struct courseRegisteredt //kayitli Dersler char courseNaine COURSENAMELENGTH); //ders adi char courseCode [COURSECODELENGTH): //ders kodu grades_t grades; /otier char lettercrade [21; //herf notu double nuriericGrade: /umerik notu courseReg_t; typedef struct student.Info //ogrenci bilgi nane_t studert.Name; //ogrenci adi char *stNo; //ogrenci numara courseReg L *courses COURSESREGISTERED); //dersler double gpa; //ortalama student ti //ders //ders typedef struct courseinfo //ders bilgi char courseNane [COURSENAMELENGTH: adi char courseCode [COURSECODELENGTH]; kodu student t students (CLASSSIZE); //ogrenciler double courseAverage; //ders ortalama courses ti In your program perform functions to addStudent(), addCourse(), calculate StudentCourseGrade(), calculate StudentGPA(), displayStudentInfo(), displayCourseInfo(), printClass() and calculate Course Average(). 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 exam 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. If a student cannot do everything in the program they can still do partial work and that will be graded provided they can explain and detail their work both schematically and verbally in form of a document). Partial work will be partially graded. 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 // SINIFKAPASITE #define STUDENTNUMBERLENGTH 10 // OGRENCINUMARAUZUNLUGU #define NAMELENGTH 25 // ADIUZUNLUCU #define COURSENAVELENGTH 50 // DERSADTUZUNLUGU #define COURSECODELENGTH 10 // DERSKODUZUNLUGU #define COURSESREGISTERED 5 /! KAYITLIDERSLER #define MIDTERMWEIGHT 30 !! VIZEAGIRLIK #define FINALWEIGHT 30 // FINALAGIRLIK #define QUTZWEIGHT 20 QUIZACIRLIK #define HOMEWORKWEICHT 20 // ODSVAGIRLIK typedef struct fullName //tam adl char *name; //adi char *surname; // soyadi inane_t; typedef struct examGrades // sinav not double midterm //vize double final; //final double quiz; //quiz double homework; //odev gradea typedef struct courseRegisteredt //kayitli Dersler char courseNaine COURSENAMELENGTH); //ders adi char courseCode [COURSECODELENGTH): //ders kodu grades_t grades; /otier char lettercrade [21; //herf notu double nuriericGrade: /umerik notu courseReg_t; typedef struct student.Info //ogrenci bilgi nane_t studert.Name; //ogrenci adi char *stNo; //ogrenci numara courseReg L *courses COURSESREGISTERED); //dersler double gpa; //ortalama student ti //ders //ders typedef struct courseinfo //ders bilgi char courseNane [COURSENAMELENGTH: adi char courseCode [COURSECODELENGTH]; kodu student t students (CLASSSIZE); //ogrenciler double courseAverage; //ders ortalama courses ti In your program perform functions to addStudent(), addCourse(), calculate StudentCourseGrade(), calculate StudentGPA(), displayStudentInfo(), displayCourseInfo(), printClass() and calculate Course Average(). 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 exam 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. If a student cannot do everything in the program they can still do partial work and that will be graded provided they can explain and detail their work both schematically and verbally in form of a document). Partial work will be partially graded
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
