Advertisement
kennedisand

Untitled

Nov 15th, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.98 KB | None | 0 0
  1. #include <stdio.h>
  2.  
  3. struct score
  4. {
  5. float lab;
  6. float exam1;
  7. float exam2;
  8. float finalExam;
  9. float weightedScore;
  10. int letterGrade;
  11. };
  12. struct student
  13. {
  14. char name[15];
  15. int ID;
  16. char grades[10];
  17. struct score grade;
  18. };
  19.  
  20.  
  21. struct student students[10] = {
  22. { "J. Dornan", 1539, "senior"},
  23. { "C. Firth", 2591, "freshman"},
  24. { "C. Hemsworth", 3591, "freshman"},
  25. { "J. Ehle", 591, "sophomore"},
  26. { "M. Pena", 3596, "junior"},
  27. { "M. Wahlberg", 1269, "freshman"},
  28. { "S. Johansson", 1558, "sophomore"},
  29. { "B. Cumberbatch", 2691, "freshman"},
  30. { "Z. Saldana", 5353, "freshman"},
  31. { "S. Bullock", 1190, "sophomore"}
  32. };
  33.  
  34. struct score grade[10] = {
  35. {78, 83.5, 90.5, 80.5},
  36. {90, 79.0, 86.0, 75.0},
  37. {85, 89.5, 77.5, 82.5},
  38. {76, 79.5, 96.5, 76.0},
  39. {91, 88.5, 76.0, 83.5},
  40. {68, 95.5, 86.5, 95.5},
  41. {75, 90.5, 88.5, 80.5},
  42. {78, 87.5, 78.5, 90.5},
  43. {82, 88.0, 98.0, 80.5},
  44. {86, 93.5, 92.5, 74.5}
  45. };
  46.  
  47. void weightedGrade(struct student students[], struct score grade[]);
  48. void average(struct score grade[]);
  49. void lowestGrade(struct score grade[]);
  50. void highestGrade(struct score grade[]);
  51. void letterGrade(struct score grade[]);
  52.  
  53. int main (void)
  54. {
  55. int i;
  56.  
  57. Bullock\n");
  58.  
  59. weightedGrade(students, grade);
  60. average(grade);
  61. lowestGrade(grade);
  62. highestGrade(grade);
  63. letterGrade(grade);
  64.  
  65. return 0;
  66. }
  67.  
  68. void weightedGrade (struct student students[], struct score grade[])
  69. {
  70.  
  71.  
  72. for (int i = 0; i < 10; ++i)
  73. {
  74. grade[i].weightedScore = ((grade[i].lab * .3) + (grade[i].exam1 * .2) + (grade[i].exam2 * .2) + (grade[i].finalExam * .3));
  75.  
  76. if (grade[i].weightedScore >= 90)
  77. grade[i].letterGrade = 'A';
  78. else if ((grade[i].weightedScore >= 80) && (grade[i].weightedScore < 90))
  79. grade[i].letterGrade = 'B';
  80. else if ((grade[i].weightedScore >= 70) && (grade[i].weightedScore < 80))
  81. grade[i].letterGrade = 'C';
  82. else if ((grade[i].weightedScore >= 60) && (grade[i].weightedScore < 70))
  83. grade[i].letterGrade = 'D';
  84. else
  85. grade[i].letterGrade = 'F';
  86.  
  87. printf ("%.2f\n", grade[i].weightedScore);
  88. }
  89. }
  90.  
  91. void average (struct score grade[])
  92. {
  93. float average_lab = 0, average_exam1 = 0, average_exam2 = 0, average_finalExam = 0;
  94.  
  95. printf ("\n=========================");
  96. printf ("\n The average scores are: \n --------------------- \n");
  97.  
  98. for (int i = 0; i < 10; ++i)
  99. {
  100. average_lab += grade[i].lab;
  101. average_exam1 += grade[i].exam1;
  102. average_exam2 += grade[i].exam2;
  103. average_finalExam += grade[i].finalExam;
  104. }
  105.  
  106. printf (" Lab score = %.2f", average_lab/10);
  107. printf ("\n Exam 1 score = %.2f", average_exam1/10);
  108. printf ("\n Exam 2 score = %.2f", average_exam2/10);
  109. printf ("\n Final exam score = %.2f \n", average_finalExam/10);
  110. }
  111.  
  112. void lowestGrade (struct score grade[])
  113. {
  114. float minLabScore = grade[0].lab, minExamScore1 = grade[0].exam1, minExamScore2 = grade[0].exam2, minFinalExam = grade[0].finalExam;
  115.  
  116. printf ("\n=========================");
  117.  
  118. printf ("\n The lowest scores are: \n ------------------------ \n");
  119. for (int i = 1; i < 10; ++i) {
  120. if (grade[i].lab < minLabScore)
  121. minLabScore = grade[i].lab;
  122. if (grade[i].exam1 < minExamScore1)
  123. minExamScore1 = grade[i].exam1;
  124. if (grade[i].exam2 < minExamScore2)
  125. minExamScore2 = grade[i].exam2;
  126. if (grade[i].finalExam < minFinalExam)
  127. minFinalExam = grade[i].finalExam;
  128. }
  129.  
  130. printf (" Lab score = %.2f", minLabScore);
  131. printf ("\n Exam 1 score = %.2f", minExamScore1);
  132. printf ("\n Exam 2 score = %.2f", minExamScore2);
  133. printf ("\n Final exam score = %.2f \n", minFinalExam);
  134. }
  135.  
  136. void highestGrade (struct score grade[])
  137. {
  138. float maxLabScore = grade[0].lab, maxExamScore1 = grade[0].exam1, maxExamScore2 = grade[0].exam2, maxFinalExam = grade[0].finalExam;;
  139.  
  140. printf ("\n=========================");
  141. printf ("\n The highest scores are: \n -----------------------\n");
  142.  
  143. for (int i = 1; i < 10; ++i) {
  144. if (grade[i].lab > maxLabScore)
  145. maxLabScore = grade[i].lab;
  146. if (grade[i].exam1 > maxExamScore1)
  147. maxExamScore1 = grade[i].exam1;
  148. if (grade[i].exam2 > maxExamScore2)
  149. maxExamScore2 = grade[i].exam2;
  150. if (grade[i].finalExam > maxFinalExam)
  151. maxFinalExam = grade[i].finalExam;
  152. }
  153.  
  154. printf (" Lab score = %.2f", maxLabScore);
  155. printf ("\n Exam 1 score = %.2f", maxExamScore1);
  156. printf ("\n Exam 2 score = %.2f", maxExamScore2);
  157. printf ("\n Final exam score = %.2f \n", maxFinalExam);
  158. }
  159.  
  160. void letterGrade (struct score grade[])
  161. {
  162. int A = 0, B = 0, C = 0, D = 0, F = 0;
  163.  
  164. printf ("\n=========================");
  165. printf ("\n Letter Grade Count: \n -----------------\n");
  166.  
  167. for (int i = 0; i < 10; ++i)
  168. {
  169. switch (grade[i].letterGrade)
  170. {
  171. case 'A':
  172. ++A;
  173. break;
  174.  
  175. case 'B':
  176. ++B;
  177. break;
  178.  
  179. case 'C':
  180. ++C;
  181. break;
  182.  
  183. case 'D':
  184. ++D;
  185. break;
  186.  
  187. default:
  188. ++F;
  189. break;
  190. }
  191. }
  192. printf (" A's = %i", A);
  193. printf ("\n B's = %i", B);
  194. printf ("\n C's = %i", C);
  195. printf ("\n D's = %i", D);
  196. printf ("\n F's = %i", F);
  197. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement