Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1. #include <iostream>
- 2. #include <stdio.h>
- 3. #include <string>
- 4. #include <string>
- 5. #include <string.h>
- 6.
- 7.
- 8. using namespace std;
- 9. struct student {
- 10. char name[30];
- 11. char referenceNum[10];
- 12. int grades[6] = {};
- 13. int gradesSum;
- 14. bool gradesSumBool = 0;
- 15.
- 16. };
- 17.
- 18. int gradesSumCounter = 0;
- 19.
- 20.
- 21.
- 22. int main()
- 23. {
- 24.
- 25. setlocale(LC_ALL, "Bulgarian");
- 26.
- 27. int k; // Брой на студентите
- 28. int check = 0;
- 29. printf("Въведете брой на студентите:\n");
- 30. while(scanf("%d",&k) <= 0){
- 31. scanf("%*s");
- 32. printf("Моля, въведете цяло число.\n");
- 33. }
- 34.
- 35. student* stud;
- 36. stud = new(nothrow) student[k];
- 37. // Инициализиране на динамичен масив stud от структурата student
- 38.
- 39.
- 40. for(int i =0; i<k; i++)
- 41. {
- 42. printf("Въведете името на студента (индекс %d): \n", i);
- 43. int flag = 1;
- 44. while(flag){
- 45. scanf("%30s", stud[i].name);
- 46. int arraySize = sizeof(sizeof(stud[i].name)/sizeof(*stud[i].name));
- 47. flag = 0;
- 48. for(int j =0; j<=arraySize; j++)
- 49. {
- 50. int currentChar = stud[i].name[j];
- 51. if( (currentChar>=48) && (currentChar<=57))
- 52. {
- 53. printf("Моля, въведете името отново. \n");
- 54. flag = 1;
- 55. break;
- 56.
- 57. }
- 58. }
- 59. }
- 60. printf("Моля въведете входящия номер на студента (индекс %d): \n", i);
- 61. flag = 1;
- 62. while(flag) {
- 63. scanf("%30s", stud[i].referenceNum);
- 64. int arraySize = sizeof(sizeof(stud[i].referenceNum)/sizeof(*stud[i].referenceNum));
- 65. flag = 0;
- 66. for(int j =0; j<=arraySize; j++)
- 67. {
- 68. int currentChar = stud[i].referenceNum[j];
- 69. if(!(currentChar<57) && (currentChar>48))
- 70. {
- 71. printf("Моля, въведете входящия номер отново. \n");
- 72. flag = 1;
- 73. break;
- 74. }
- 75. }
- 76. }
- 77. printf("Въведете оценките на студента. \n", i);
- 78. for(int j =0; j<5; j++)
- 79. {
- 80. printf("Въведете оценка номер %d: \n", j+1);
- 81. while(scanf("%d",stud[i].grades+j) <= 0){
- 82. scanf("%*s");
- 83. printf("Моля, въведете цяло число. \n");
- 84. }
- 85. }
- 86. }
- 87.
- 88.
- 89.
- 90. for(int i =0; i<k; i++)
- 91. {
- 92. int gradesSum = 0;
- 93. for(int j =0; j<5; j++)
- 94. {
- 95. gradesSum += stud[i].grades[j];
- 96. }
- 97. stud[i].gradesSum = gradesSum;
- 98. if(stud[i].gradesSum < 12)
- 99. {
- 100. stud[i].gradesSumBool =1;
- 101. gradesSumCounter++;
- 102. }
- 103. }
- 104.
- 105. delete [] stud; // Освобождаване на паметта
- 106.
- 107. printf("---------------------\n");
- 108. printf("Студентите със сума от оценките под 12 са: \n");
- 109. for(int i =0; i<=gradesSumCounter; i++)
- 110. {
- 111. if(stud[i].gradesSumBool)
- 112. {
- 113. printf("%s ", stud[i].referenceNum);
- 114. printf("%s ",stud[i].name);
- 115.
- 116. }
- 117. printf("\n");
- 118. }
- 119.
- 120. return 0;
- 121.
- 122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement