Advertisement
johnmarkthegreat

i love ryle laurente

May 17th, 2024 (edited)
572
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.42 KB | Source Code | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <conio.h>
  5. #include "MYTOOLS.h"
  6.  
  7. #define MAX_SUBJECTS 10
  8. #define MAX_NAME_LENGTH 50
  9. #define MAX_COURSE_LENGTH 10
  10.  
  11. struct name {
  12.     char firstName[MAX_NAME_LENGTH];
  13.     char middleName[MAX_NAME_LENGTH];
  14.     char lastName[MAX_NAME_LENGTH];
  15. };
  16.  
  17. struct birth {
  18.     char month[MAX_NAME_LENGTH];
  19.     int day;
  20.     long year;
  21. };
  22.  
  23. struct mysubject {
  24.     char subject[MAX_NAME_LENGTH];
  25.     float unit_per_subject;
  26.     float finalGrade_per_subject;
  27. };
  28.  
  29. struct studentRec {
  30.     long idnumber;
  31.     struct name students_name;
  32.     char gender;
  33.     struct birth birthdate;
  34.     char courseYear[MAX_COURSE_LENGTH];
  35.     int numberOfSubjectsEnrolled;
  36.     struct mysubject subjects[MAX_SUBJECTS];
  37. };
  38.  
  39. void clearInputBuffer() {
  40.     int c;
  41.     while ((c = getchar()) != '\n' && c != EOF);
  42. }
  43.  
  44. int main() {
  45.     int choice;
  46.     int i;
  47.     struct studentRec student;
  48.     gotoxy(34,34);
  49.     do {
  50.         clrscr();
  51.         drawDBox(3,1,65,28);
  52.         //Tung Menu Thing
  53.         gotoxy(10, 3); printf("CEBU INSTITUTE OF UNIVERSITY");
  54.         gotoxy(10, 4); printf("Bacalso Avenue, Cebu City");
  55.        
  56.         //Akoang Actual Code
  57.         gotoxy(10, 6); printf("I.D. number : ");
  58.         scanf("%ld", &student.idnumber);
  59.         clearInputBuffer();  
  60.  
  61.         gotoxy(10, 7); printf("N A M E : ");
  62.         scanf("%s %s %s", student.students_name.firstName, student.students_name.middleName, student.students_name.lastName);
  63.         clearInputBuffer();
  64.  
  65.  
  66.         gotoxy(10, 8); printf("GENDER[M/F] : ");
  67.         scanf(" %c", &student.gender);
  68.         clearInputBuffer();
  69.  
  70.  
  71.         gotoxy(10, 9); printf("BIRTHDATE : ");
  72.         scanf("%s %d %ld", student.birthdate.month, &student.birthdate.day, &student.birthdate.year);
  73.         clearInputBuffer();  
  74.  
  75.  
  76.         gotoxy(10, 10); printf("COURSE & YR : ");
  77.         fgets(student.courseYear, MAX_COURSE_LENGTH, stdin);
  78.         student.courseYear[strcspn(student.courseYear, "\n")] = 0;
  79.  
  80.         gotoxy(20, 12); printf("Total no. of subjects: ");
  81.         scanf("%d", &student.numberOfSubjectsEnrolled);
  82.         clearInputBuffer();
  83.        
  84.         gotoxy(10, 14); printf("[SUBJECT]");
  85.         gotoxy(30, 14); printf("[UNIT]");
  86.         gotoxy(50, 14); printf("[GRADE]");
  87.  
  88.  
  89.         for (i = 0; i < student.numberOfSubjectsEnrolled; i++) {
  90.             gotoxy(10, 15 + i); fgets(student.subjects[i].subject, MAX_NAME_LENGTH, stdin);
  91.             student.subjects[i].subject[strcspn(student.subjects[i].subject, "\n")] = 0;
  92.  
  93.             gotoxy(30, 15 + i); scanf("%f", &student.subjects[i].unit_per_subject);
  94.             clearInputBuffer();  
  95.  
  96.             gotoxy(50, 15 + i); scanf("%f", &student.subjects[i].finalGrade_per_subject);
  97.             clearInputBuffer();
  98.         }
  99.  
  100.  
  101.         float sumProduct = 0;
  102.         float total_units = 0;
  103.         for (i = 0; i < student.numberOfSubjectsEnrolled; i++) {
  104.             sumProduct += (student.subjects[i].unit_per_subject * student.subjects[i].finalGrade_per_subject);
  105.             total_units += student.subjects[i].unit_per_subject;
  106.         }
  107.         float gpa = sumProduct / total_units;
  108.  
  109.         gotoxy(10, 16 + student.numberOfSubjectsEnrolled); printf("GPA : %.2f\n", gpa);
  110.         gotoxy(10, 18 + student.numberOfSubjectsEnrolled); printf("Press 1 to continue or 0 to exit... ");
  111.         scanf("%d", &choice);
  112.  
  113.     } while (choice == 1);
  114.  
  115.     return 0;
  116. }
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement