commit d804059d4ceec67d320bb51fe3d1fd171d765770
parent ba779831c25d84c957ac5763f2cfbf32e99d829e
Author: Agastya Chandrakant <acagastya@outlook.com>
Date: Fri, 15 Sep 2017 10:19:56 +0530
another week's assignment
Diffstat:
1 file changed, 55 insertions(+), 0 deletions(-)
diff --git a/s3/oops/stud.cpp b/s3/oops/stud.cpp
@@ -0,0 +1,55 @@
+#include <iostream>
+#include <stdlib.h>
+// using namespace std;
+
+class STUDENT {
+ char name[20];
+ char USN [11];
+ int marks[3];
+ float average;
+public:
+ void input(void);
+ void output(void);
+ void calcAverage(void);
+};
+// int min(int, int);
+
+int main() {
+ int size;
+ do{
+ std::cout << "\nEnter number of students: ";
+ std::cin >> size;
+ if(size < 1)
+ std::cout << "\nInvalid size, try again.\n";
+ } while (size < 1);
+ STUDENT *s = (STUDENT*)malloc(sizeof(STUDENT) * size);
+ if(!s) {
+ std::cout << "\nInsufficient memory.\n";
+ return 0;
+ }
+ std::cout << "\nEnter the name, USN, and marks of three tests.\n";
+ for(int i = 0; i < size; i++)
+ (*(s + i)).input();
+ std::cout << "\nThe name, USN, and marks of the students are:\n";
+ for(int i = 0; i < size; i++)
+ (*(s + i)).output();
+ return 0;
+}
+
+int min (int x, int y){
+ return (x > y ? y : x);
+}
+
+void STUDENT::calcAverage(void) {
+ average = marks[0] + marks [1] + marks[2] - min(marks[0], min(marks[1], marks[2]));
+ average/=2;
+}
+
+void STUDENT::input(void) {
+ std::cin >> name >> USN >> marks[0] >> marks[1] >> marks[2];
+ calcAverage();
+}
+
+void STUDENT::output(void) {
+ std::cout << std::endl << "Name: " << name << std::endl << "USN: " << USN << std::endl << "Average: " << average << std::endl << "====================" << std::endl;
+}