Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.99 KB | None | 0 0
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. using namespace std;
  5.  
  6. class student{
  7. private:
  8. int fnum;
  9. char name[40];
  10. double grade;
  11. public:
  12.  
  13. student(){fnum = 0; grade = 0; name[0] = 0;};
  14. student(int FacNum, const char *nName, double gGrade);
  15. student(student &p);
  16. ~student();
  17. void setFNum(int fNum);
  18. int getFNum();
  19. void setName(const char *Name);
  20. char* getName();
  21. void setGrade(double Grade);
  22. double getGrade();
  23. void changeSt();
  24. void print();
  25. };
  26.  
  27. student::student(int FacNum, const char *nName, double gGrade){
  28. fnum = FacNum;
  29. strcpy(name, nName);
  30. grade = gGrade;
  31. }
  32.  
  33. student::student(student &p){
  34. fnum = p.fnum;
  35. strcpy(name, p.name);
  36. grade = p.grade;
  37. }
  38.  
  39. student::~student(){}
  40.  
  41. void student::setFNum(int fNum){
  42. fnum = fNum;
  43. }
  44.  
  45. int student::getFNum(){
  46. return fnum;
  47. }
  48.  
  49.  
  50.  
  51. void student::setName(const char *Name){
  52. strcpy(name, Name);
  53. }
  54.  
  55. char* student::getName(){
  56. return name;
  57. }
  58.  
  59.  
  60.  
  61. void student::setGrade(double Grade){
  62. grade = Grade;
  63. }
  64.  
  65. double student::getGrade(){
  66. return grade;
  67. }
  68.  
  69.  
  70.  
  71. void student::changeSt(){
  72. int fNum = 0;
  73. int nName = 1;
  74. int gGrade = 2;
  75. int command;
  76.  
  77. do{
  78. cout << "Change: fnum - 0, name - 1, grade - 2, exit - 3" << endl;
  79. cin >> command;
  80.  
  81. if(command == fNum){
  82. cout << "Enter fnum: ";
  83. cin >> fnum;
  84.  
  85. }
  86. if(command == nName){
  87. cout << "Enter a name: ";
  88. cin >> name;
  89. }
  90. if(command == gGrade){
  91. cout << "Enter a grade: ";
  92. cin >> grade;
  93. }
  94.  
  95. }while(command != 3);
  96.  
  97. }
  98.  
  99. void student::print(){
  100. cout << fnum << endl;
  101. cout << name << endl;
  102. cout << grade << endl;
  103. }
  104.  
  105. class group{
  106. private:
  107. student stud[30];
  108.  
  109. public:
  110. void maxGradeStud(int studNum);
  111. void minGradeStud(int studNum);
  112. void avgGrade(int studNum);
  113. void printStudByFnum(int fNum, int studNum);
  114. void sortByFNum(int studNum);
  115. void sortByGrade(int studNum);
  116. void printAllStud(int studNum);
  117. void setGroup(int studNum);
  118.  
  119.  
  120. };
  121.  
  122.  
  123.  
  124. void group::setGroup(int studNum){
  125. int fNum;
  126. char nName[40];
  127. double gGrade;
  128.  
  129.  
  130. for(int i = 0; i < studNum; i++){
  131. cout << "Enter student parameters: " << endl;
  132. cin >> fNum >> nName >> gGrade;
  133. stud[i] = student(fNum, nName, gGrade);
  134. }
  135. }
  136.  
  137. void group::avgGrade(int studNum){
  138. double avg;
  139. double sum = 0;
  140.  
  141. for(int i = 0; i < studNum; i++){
  142. sum += stud[i].getGrade();
  143. }
  144. avg = sum / studNum;
  145.  
  146. cout.precision(3);
  147. cout << "The average grade of the group is: " << avg << endl;
  148. }
  149.  
  150. void group::minGradeStud(int studNum){
  151. int storeMinInd;
  152. double minGrade = INT_MAX;
  153. for(int i = 0; i < studNum; i++){
  154.  
  155. if(stud[i].getGrade() < minGrade){
  156. minGrade = stud[i].getGrade();
  157. storeMinInd = i;
  158.  
  159. }
  160. }
  161.  
  162. cout.precision(3);
  163. cout << "The student with the lowest grade is: ";
  164. stud[storeMinInd].print();
  165.  
  166. }
  167.  
  168. void group::maxGradeStud(int studNum){
  169. int storeMaxInd;
  170. double maxGrade = INT_MIN;
  171. for(int i = 0; i < studNum; i++){
  172.  
  173. if(stud[i].getGrade() > maxGrade){
  174. maxGrade = stud[i].getGrade();
  175. storeMaxInd = i;
  176.  
  177. }
  178. }
  179.  
  180. cout.precision(3);
  181. cout << "The student with the highest grade is: ";
  182. stud[storeMaxInd].print();
  183.  
  184. }
  185.  
  186. void group::printStudByFnum(int fNum, int studNum){
  187. int storeFNum;
  188. for(int i = 0; i < studNum; i++){
  189. if(stud[i].getFNum() == fNum){
  190. storeFNum = i;
  191. }
  192. }
  193. cout << stud[storeFNum].getName() << endl;
  194.  
  195. }
  196.  
  197. void group::sortByFNum(int studNum){
  198. student temp;
  199. for(int i = 0; i < studNum; i++){
  200. for(int j = 0; j < studNum-1; j++){
  201. if(stud[j].getFNum() > stud[j+1].getFNum()){
  202. temp = stud[j];
  203. stud[j] = stud[j+1];
  204. stud[j+1] = temp;
  205. }
  206. }
  207. }
  208. cout << "List of the group sorted by fnum: " << endl;
  209. for(int i = 0; i < studNum; i++){
  210. stud[i].print();
  211. }
  212. }
  213.  
  214. void group::sortByGrade(int studNum){
  215. student temp;
  216. for(int i = 0; i < studNum; i++){
  217. for(int j = 0; j < studNum-1; j++){
  218. if(stud[j].getGrade() > stud[j+1].getGrade()){
  219. temp = stud[j];
  220. stud[j] = stud[j+1];
  221. stud[j+1] = temp;
  222. }
  223. }
  224. }
  225. cout << "List of the group sorted by grade: " << endl;
  226. for(int i = 0; i < studNum; i++){
  227. stud[i].print();
  228. }
  229. }
  230.  
  231. void group::printAllStud(int studNum){
  232. for(int i = 0; i < studNum; i++){
  233. stud[i].print();
  234. }
  235. }
  236.  
  237.  
  238.  
  239.  
  240. int main()
  241. {
  242. int numStud = 3;
  243. student st;
  244. group stud;
  245. stud.setGroup(numStud);
  246. stud.avgGrade(numStud);
  247. stud.maxGradeStud(numStud);
  248. stud.sortByFNum(numStud);
  249.  
  250.  
  251.  
  252.  
  253. return 0;
  254. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement