Guest User

Untitled

a guest
Feb 26th, 2020
118
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <stdio.h>
  2. #include <locale.h>
  3. #include <math.h>
  4.  
  5. //Переменные для хранения оценок.
  6. //Переменные для 1-го студента.
  7. float math_1,algebra_1,amp_1;
  8. //Переменные для 2-го студента.
  9. float math_2,algebra_2,amp_2;
  10. //Переменные для 3-го студента.
  11. float math_3,algebra_3,amp_3;
  12.  
  13. //Переменные требуемые для расчета стипендии.
  14. float summa_1, // Сумма оценок 1-го студента.
  15. step_1; // Размер стипендии 1-го студента.
  16. float summa_2, // Сумма оценок 2-го студента.
  17. step_2; // Размер стипендии 2-го студента.
  18. float summa_3, // Сумма оценок 3-го студента
  19. step_3; // Размер стипендии 3-го студента
  20.  
  21. //Массив для хранения качества сдачи экзаменов выше 3.
  22. float quality[3];
  23. //Массив для хранения качества сдачи экзаменов выше 4.
  24. float quality_1[3];
  25.  
  26. void InputData() // Функция для ввода данных.
  27. {
  28. //Переменные для 1-го студента.
  29. extern float math_1,algebra_1,amp_1;
  30. //Переменные для 2-го студента.
  31. extern float math_2,algebra_2,amp_2;
  32. //Переменные для 3-го студента.
  33. extern float math_3,algebra_3,amp_3;
  34.  
  35. // math_x - оценка по мат.анализу
  36. // algebra_x - оценка по алгебре
  37. // amp_x - оценка по ЯМП
  38.  
  39. printf("Введите оценку 1-го студента по мат.анализу: ");
  40. scanf("%f",&math_1);
  41.  
  42. printf("Введите оценку 1-го студента по алгебре: ");
  43. scanf("%f",&algebra_1);
  44.  
  45. printf("Введите оценку 1-го студента по ЯМП: ");
  46. scanf("%f",&amp_1);
  47.  
  48. printf("Введите оценку 2-го студента по мат.анализу: ");
  49. scanf("%f",&math_2);
  50.  
  51. printf("Введите оценку 2-го студента по алгебре: ");
  52. scanf("%f",&algebra_2);
  53.  
  54. printf("Введите оценку 2-го студента по ЯМП: ");
  55. scanf("%f",&amp_2);
  56.  
  57. printf("Введите оценку 3-го студента по мат.анализу: ");
  58. scanf("%f",&math_3);
  59.  
  60. printf("Введите оценку 3-го студента по алгебре: ");
  61. scanf("%f",&algebra_3);
  62.  
  63. printf("Введите оценку 3-го студента по ЯМП: ");
  64. scanf("%f",&amp_3);
  65.  
  66. system("cls");
  67.  
  68. }
  69. void calculateScholarship() //Функция расчета стипендии.
  70. {
  71. //Переменные для 1-го студента.
  72. extern float math_1,algebra_1,amp_1;
  73. //Переменные для 2-го студента.
  74. extern float math_2,algebra_2,amp_2;
  75. //Переменные для 3-го студента.
  76. extern float math_3,algebra_3,amp_3;
  77.  
  78. // math_x - оценка по мат.анализу
  79. // algebra_x - оценка по алгебре
  80. // amp_x - оценка по ЯМП
  81.  
  82. extern float summa_1, // Сумма оценок 1-го студента.
  83. step_1; // Размер стипендии 1-го студента.
  84.  
  85. summa_1 = math_1 + algebra_1 + amp_1;
  86.  
  87. if (summa_1 > 8)
  88. {
  89. if ((math_1 == 3 ) || (algebra_1 == 3) || (amp_1 == 3))
  90. {
  91. step_1 = summa_1 * 250;
  92. }
  93. if ((math_1 == 4) && (algebra_1 == 4) && (amp_1 == 4))
  94. {
  95. step_1 = summa_1 * 250;
  96. step_1 = step_1 + (step_1 / 100 * 25);
  97. }
  98. if ((math_1 == 5) && (algebra_1 == 5) && (amp_1 == 5))
  99. {
  100. step_1 = summa_1 * 250;
  101. step_1 = step_1 + (step_1 / 100 * 50);
  102. }
  103. } else step_1 = 0;
  104.  
  105. extern float summa_2, // Сумма оценок 2-го студента.
  106. step_2; // Размер стипендии 2-го студента.
  107.  
  108. summa_2 = math_2 + algebra_2 + amp_2;
  109.  
  110. if (summa_2 > 8)
  111. {
  112. if ((math_2 == 3 ) || (algebra_2 == 3) || (amp_2 == 3))
  113. {
  114. step_2 = summa_2 * 250;
  115. }
  116. if ((math_2 == 4) && (algebra_2 == 4) && (amp_2 == 4))
  117. {
  118. step_2 = summa_2 * 250;
  119. step_2 = step_2 + (step_2 / 100 * 25);
  120. }
  121. if ((math_2 == 5) && (algebra_2 == 5) && (amp_2 == 5))
  122. {
  123. step_2 = summa_2 * 250;
  124. step_2 = step_2 + (step_2 / 100 * 50);
  125. }
  126. } else step_1 = 0;
  127.  
  128. extern float summa_3, // Сумма оценок 3-го студента.
  129. step_3; // Размер стипендии 3-го студента.
  130.  
  131. summa_3 = math_3 + algebra_3 + amp_3;
  132.  
  133.  
  134. if (summa_3 > 8)
  135. {
  136. if ((math_3 == 3 ) || (algebra_3 == 3) || (amp_3 == 3))
  137. {
  138. step_3 = summa_3 * 250;
  139. }
  140. if ((math_3 == 4) && (algebra_3 == 4) && (amp_3 == 4))
  141. {
  142. step_3 = summa_3 * 250;
  143. step_3 = step_3 + (step_3 / 100 * 25);
  144. }
  145. if ((math_3 == 5) && (algebra_3 == 5) && (amp_3 == 5))
  146. {
  147. step_3 = summa_3 * 250;
  148. step_3 = step_3 + (step_3 / 100 * 50);
  149. }
  150. } else step_3 = 0;
  151. }
  152.  
  153. void calculateQuantitivePerformance() // Функция для определения качества сдачи экзамена не ниже 3.
  154. {
  155. //Переменные хранящие оценки.
  156. //Переменные для 1-го студента.
  157. extern float math_1,algebra_1,amp_1;
  158.  
  159. //Переменные для 2-го студента.
  160. extern float math_2,algebra_2,amp_2;
  161.  
  162. //Переменные для 3-го студента.
  163. extern float math_3,algebra_3,amp_3;
  164.  
  165. //Массив для хранения качества сдачи экзаменов выше 3.
  166. extern float quality[3];
  167. //Массив для хранения качества сдачи экзаменов выше 4.
  168. extern float quality_1[3];
  169.  
  170. for (int i=1;i<=3;i++)
  171. {
  172. quality[i]=0;
  173. quality_1[i]=0;
  174. }
  175.  
  176. if(math_1 >= 3) quality[0] += 1;
  177. if(math_2 >= 3) quality[0] += 1;
  178. if(math_3 >= 3) quality[0] += 1;
  179.  
  180. quality[0] = quality[0] / 3 * 100;
  181.  
  182. if(algebra_1 >= 3) quality[1] += 1;
  183. if(algebra_2 >= 3) quality[1] += 1;
  184. if(algebra_3 >= 3) quality[1] += 1;
  185.  
  186. quality[1] = quality[1] / 3 * 100;
  187.  
  188. if(amp_1 >= 3) quality[2] += 1;
  189. if(amp_2 >= 3) quality[2] += 1;
  190. if(amp_3 >= 3) quality[2] += 1;
  191.  
  192. quality[2] = quality[2] / 3 * 100;
  193. }
  194. void calculateQualitativePerformance1()// Функция для определения качества сдачи экзамена не ниже 4.
  195. {
  196. if(math_1 >= 3) quality_1[0] += 1;
  197. if(math_2 >= 3) quality_1[0] += 1;
  198. if(math_3 >= 3) quality_1[0] += 1;
  199.  
  200. quality_1[0] /= 3 * 100;
  201.  
  202. if(algebra_1 >= 3) quality_1[1] += 1;
  203. if(algebra_2 >= 3) quality_1[1] += 1;
  204. if(algebra_3 >= 3) quality_1[1] += 1;
  205.  
  206. quality_1[1] /= 3 * 100;
  207.  
  208. if(amp_1 >= 3) quality_1[2] += 1;
  209. if(amp_2 >= 3) quality_1[2] += 1;
  210. if(amp_3 >= 3) quality_1[2] += 1;
  211.  
  212. quality_1[2] /= 3 * 100;
  213. }
  214. void PrintTable() //Функция для вывода результата.
  215. {
  216. //Переменные хранящие оценки.
  217. //Переменные для 1-го студента.
  218. extern float math_1,algebra_1,amp_1;
  219. //Переменные для 2-го студента.
  220. extern float math_2,algebra_2,amp_2;
  221. //Переменные для 3-го студента.
  222. extern float math_3,algebra_3,amp_3;
  223.  
  224. //Переменные требуемые для расчета стипендии.
  225. extern float step_1; // Размер стипендии 1-го студента.
  226. extern float step_2; // Размер стипендии 2-го студента.
  227. extern float step_3; // Размер стипендии 3-го студента
  228.  
  229. setlocale(LC_ALL, "russian");
  230.  
  231. printf("№ студента Алгебра Мат.анализ ЯМП Стипендия, руб\n");
  232. printf("\n");
  233. printf("1 %1.0f %1.0f %1.0f %7.2f\n",math_1,algebra_1,amp_1,step_1);
  234. printf("\n");
  235. printf("2 %1.0f %1.0f %1.0f %7.2f\n",math_2,algebra_2,amp_2,step_2);
  236. printf("\n");
  237. printf("3 %1.0f %1.0f %1.0f %7.2f\n",math_3,algebra_3,amp_3,step_3);
  238. printf("\n");
  239. printf("Кол.усп %4.1f %4.1f %4.1f\n",quality[0],quality[1],quality[2]);
  240. printf("\n");
  241. printf("Кач.усп %4.1f %4.1f %4.1f\n",quality_1[0],quality_1[1],quality_1[2]);
  242. }
  243. void main()
  244. {
  245.  
  246. InputData();
  247. calculateScholarship();
  248. calculateQuantitivePerformance();
  249. calculateQualitativePerformance1();
  250. PrintTable();
  251. }
RAW Paste Data