Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib> // Standard General Utilities Library
- #include <cstdio> // Input/Output operations (C)
- #include <iostream> // Input/Output stream objects
- #include <iomanip> // Input/Output manipulators
- #include <fstream> // File input and output
- #include <ctime> // Date and time information
- #include <cmath> // Mathematical operations and transformations
- using namespace std;
- #define CMax 100
- // Classes
- class student {
- protected:
- int ID;
- double m1, m2, m3;
- public:
- void addStudent();
- double average();
- int giveID();
- void printShortInfo();
- void printFullInfo();
- student();
- student(int, double, double, double);
- };
- void student::addStudent() {
- cout << "Iveskite studento ID: "; cin >> ID;
- cout << "Iveskite studento triju egzaminu rezultatus" << endl;
- cin >> m1 >> m2 >> m3;
- }
- double student::average() {
- return (m1 + m2 + m3) / 3;
- }
- int student::giveID() {
- return ID;
- }
- void student::printShortInfo() {
- cout << "ID: " << ID;
- cout << " Vidurkis: " << average() << endl << endl;
- }
- void student::printFullInfo() {
- cout << "Studento ID: " << ID << endl;
- cout << "Egzaminu pazymiai: " << m1 << " " << m2 << " " << m3 << endl;
- cout << "Vidurkis: " << average() << endl << endl;
- }
- //Student constructors
- student::student(){
- ID = 0;
- m1 = 0;
- m2 = 0;
- m3 = 0;
- }
- // Nepanaudota. : (
- student::student(int varID, double var1, double var2, double var3) {
- ID = varID;
- m1 = var1;
- m2 = var2;
- m3 = var3;
- }
- class course {
- public:
- student students[CMax];
- student tempStudents[1];
- int size;
- public:
- void addStudent();
- void deleteStudent(int);
- void courseAverage();
- void print();
- void printByID(int);
- void sortStudents();
- course() {size = 0;}
- };
- void course::addStudent() {
- students[size].addStudent();
- size++;
- }
- void course::deleteStudent(int deleteID) {
- int counter = 0;
- for (int i = 0; i < size; i++)
- {
- if (students[i].giveID() == deleteID)
- {
- counter++;
- for (int j = i; j < size; j++)
- students[j] = students[j+1];
- }
- }
- size -= counter;
- }
- void course::courseAverage() {
- double sum;
- for (int i = 0; i < size; i++)
- {
- sum += students[i].average();
- }
- cout << "Kurso vidurkis yra: " << sum / size << endl;
- }
- void course::print() {
- for (int i = 0; i < size; i++)
- students[i].printShortInfo();
- }
- void course::printByID(int printID) {
- for (int i = 0; i < size; i++)
- {
- if (students[i].giveID() == printID)
- students[i].printFullInfo();
- }
- }
- void course::sortStudents() {
- for (int i = 0; i < size-1; i++)
- {
- for (int j = i; j < size; j++)
- {
- if (students[j].average() > students[i].average())
- {
- tempStudents[0] = students[i];
- students[i] = students[j];
- students[j] = tempStudents[0];
- }
- }
- }
- }
- // Main program
- int main(int argc, char *argv[]) {
- course S;
- int n = 0;
- int userInput;
- do {
- system("CLS");
- cout << "1 - Ivesti nauja studenta." << endl;
- cout << "2 - Atspauzdinti visu kurso studentu duomenis" << endl;
- cout << "3 - Atspausdinti pilna studento informacija pagal ID" << endl;
- cout << "4 - Suskaiciuoti kurso bendra studentu vidurki" << endl;
- cout << "5 - Rikiuoti sutentus pagal vidutini egzaminu ivertinima" << endl;
- cout << "6 - Istrinti studenta pagal ID" << endl;
- cout << "\n0 - Baigti darba." << endl;
- cin >> userInput;
- if (userInput == 1)
- {
- system("CLS");
- S.addStudent();
- n++;
- }
- if (userInput == 2)
- {
- system("CLS");
- S.print();
- system("pause");
- }
- if (userInput == 3)
- {
- int tempID;
- system("CLS");
- cout << "Iveskite studento ID, kurio informacija norite pamatyti: "; cin >> tempID;
- S.printByID(tempID);
- system("pause");
- }
- if (userInput == 4)
- {
- system("CLS");
- S.courseAverage();
- system("pause");
- }
- if (userInput == 5)
- {
- system("CLS");
- S.sortStudents();
- cout << "Studentai isrikuoti pagal ju egzaminu vidurki" << endl;
- system("pause");
- }
- if (userInput == 6)
- {
- int tempID;
- system("CLS");
- cout << "Iveskite studento ID, kury norite istrinti: "; cin >> tempID;
- S.deleteStudent(tempID);
- cout << "Studentas istrintas." << endl;
- system("pause");
- }
- } while (userInput != 0);
- system("CLS");
- cout << "Programa baige darba." << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement