online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code   
Language
#include<iostream> #include<fstream> #include<stdlib.h> #include<string.h> #include<iomanip> using namespace std; //Class Person class Person { private: string name; int age; public: ////Constructor with parameter declaration Person(string name, int age) { this->name = name; this->age = age; } // Setter and Getter string getName() { return name; } void setName(string name) { this->name = name; } int getAge() { return age; } void setAge(int age) { this->age = age; } }; // Class Book class Book { private: int bookId; string name; string author; int amount; public: //Constructor declaration Book(); //Constructor with parameter declaration Book(int bookId, string name, string author, int amount) { this->bookId = bookId; this->name = name; this->author = author; this->amount = amount; } //Setter and Getter int getBookId() { return bookId; } void setBookId(int bookId) { this->bookId = bookId; } string getName() { return name; } void setName(string name) { this->name = name; } string getAuthor() { return author; } void setAuthor(string author) { this->author = author; } int getAmount() { return amount; } void setAmount(int amount) { this->amount = amount; } //Properties void addBook() { cout << "NEW BOOK ENTRY" << endl; cout << "Please enter the information of your new book: " << endl; cout << "ID: "; cin >> bookId; cout << "Name: "; cin >> name; cout << "Author: "; cin >> author; cout << "Amount of books in the storage: "; cin >> amount; cout << "A new book is successfully added." << endl; } void showBook() { cout << "INFORMATION:" << endl; cout << "ID: " << bookId << endl; cout << "Name: " << name << endl; cout << "Author: " << author << endl; cout << amount << " books left." << endl; } void changeBook() { cout << "MODIFICATION:" << endl; cout << "Please enter the new information of the book " << bookId << " ." << endl; cout << "Name: "; cin >> name; cout << "Author: "; cin >> author; cout << "Amount of books in the storage: "; cin >> amount; cout << "This book is successfully modified." << endl; } void display() { cout << setw(30) << bookId << setw(30) << name << setw(30) << author << setw(30) << amount << endl; } }; using namespace std; //Class Student class Student:public Person { private: int reNum; int stuId; int bBorrow; public: //Constructor Student(); //Constructor with parameter declaration Student(int reNum, string name, int age, int stuId,int bBorrow):Person(name, age) { this->reNum = reNum; this->stuId = stuId; this->bBorrow = bBorrow; } // Setter and Getter int getReNum() { return reNum; } void setReNum(int reNum) { this->reNum = reNum; } int getStuId() { return stuId; } void setStuId(int stuId) { this->stuId = stuId; } int getBBorrow() { return bBorrow; } void setBBorrow(int bBorrow) { this->bBorrow = bBorrow; } void addBBorrow() { bBorrow = 1; } //Add a new student void addStudent() { cout << "NEW STUDENT REGISTRATION" << endl; cout << "Please enter your information:" << endl; cout << "Registration number: "; cin >> reNum; cout << "Full Name: "; Person::getName(); cout << "Age: "; Person::getAge(); cout << "Student's ID: "; cin >> stuId; cout << "Registration Completed." << endl; cout << "The password is your Student's ID." << endl; } void showStudent() { cout << "INFORMATION:" << endl; cout << "Registration number: " << reNum << endl; cout << "Full Name: " << Person::getName() << endl; cout << "Age: " << Person::getAge() << endl; cout << "Student's ID: " << stuId << endl; if (bBorrow == 1 ) { cout << "Book borrowed: Yes" << endl; }else { cout << "Book borrowed: No" << endl; } } void changeStudent() { cout << "MODIFICATION:" << endl; cout << "Please enter the new information of the student with ID " << stuId << " ." << endl; cout << "Registration number: "; cin >> reNum; cout << "Full Name: "; Person::getName(); cout << "Age: "; Person::getAge(); } }; //Class Teacher class Teacher:public Person { private: string department; string email; public: //Constructor Teacher(); //Constructor with parameter declaration Teacher(string name, int age, string department, string email):Person(name,age) { this->department = department; this->email = email; } // Setter and Getter string getDepartment() { return department; } void setDepartment(string department) { this->department = department; } string getEmail() { return email; } void setEmail(string email) { this->email = email; } //Add a new teacher void addTeacher() { cout << "NEW TEACHER REGISTRATION" << endl; cout << "Please enter your information:" << endl; cout << "Name: "; Person::getName(); cout << "Age: "; Person::getAge(); cout << "Department: "; cin >> department; cout << "Email: "; cin >> email; cout << "Registration Completed." << endl; cout << "Your password: hustteacher" << endl; } void showTeacher() { cout << "INFORMATION:" << endl; cout << "Full Name: " << Person::getName() << endl; cout << "Age: " << Person::getAge() << endl; cout << "Department: " << department << endl; cout << "Email: " << email << endl; } }; //Declaration fstream f,f1; Book book; Student stu; Teacher tea; //Input Books'Info into file BookInput.txt void bookInput() { int ans1; fstream f("BookInput.txt", ios::out | ios::app); do { system("cls"); book.addBook(); f.write((char*)&book,sizeof(book)); cout << "Do you want to add more books? (1 for Yes, 2 for No)" << endl; cin >> ans1; }while(ans1 == 1); f.close(); } //Input Students'Info into file StudentInput.txt void studentInput() { char ans2; fstream f("StudentInput.txt", ios::out | ios::app); //do { system("cls"); stu.addStudent(); f.write((char*)&stu,sizeof(stu)); //cout << "Do you want to add more students? " << endl; //cin >> ans2; //}while(ans2 == 'Y' | ans2 == 'y' | ans2 == 'Yes' | ans2 == 'yes'); f.close(); } //Input Teachers'Info into file TeacherInput.txt void teacherInput() { fstream f("TeacherInput.txt", ios::out | ios::app); system("cls"); tea.addTeacher(); f.write((char*)&tea,sizeof(tea)); f.close(); } //Search Book and display void searchBook(int n) { int temp = 0; int in; string nam; //Search by ID if(n == 1) { cout << "Please enter the ID: "; cin >> in; system("cls"); fstream f("BookInput.txt", ios::in); while(f.read((char*)&book,sizeof(book))) { if(book.getBookId()== in ) { book.showBook(); temp = 1; } } f.close(); if(temp == 0) { cout << "Sorry! This book is not in the library or you have typed the wrong ID." << endl; } }else if ( n == 2) { // Seach by Book's name cout << "Please enter book's name: "; cin >> nam; fstream f("BookInput.txt", ios::in); while(f.read((char*)&book,sizeof(book))) { if(book.getName() == nam) { book.showBook(); temp = 1; } } f.close(); if(temp == 0) { cout << "Sorry! This book is not in the library or you have typed the wrong name." << endl; } }else { cout << "Please enter correct syntax."; } } // Search Student void searchStudent(int ins) { int temp = 0; cout << "STUDENT INFORMATION: " << endl; fstream f("StudentInput.txt", ios::in); while(f.read((char*)&stu,sizeof(stu))) { if(stu.getStuId() == ins) { stu.showStudent(); temp = 1; } } f.close(); if(temp == 0) { cout << "Sorry! Student cannot be found." << endl; } } // Change Book's information void bookChange() { int id; int temp = 0; system("cls"); cout << "Please enter the ID of book you want to change: "; cin >> id; fstream f("BookInput.txt", ios::out | ios::in); while(f.read((char*)&book,sizeof(book)) && temp == 0) { if(id == book.getBookId()) { cout << "CURRENT INFORMATION: " << endl; book.showBook(); book.changeBook(); f.write((char*)&book,sizeof(book)); temp = 1; } } f.close(); if(temp == 0) { cout << "BOOK NOT FOUND." << endl; } } // Change Student's information void studentChange() { int id; int temp = 0; system("cls"); cout << "Please enter the ID of student you want to change: "; cin >> id; fstream f("StudentInput.txt", ios::out | ios::in); while(f.read((char*)&stu,sizeof(stu)) && temp == 0) { if(id == stu.getStuId()) { cout << "CURRENT INFORMATION: " << endl; stu.showStudent(); stu.changeStudent(); f.write((char*)&stu,sizeof(stu)); temp = 1; } } f.close(); if(temp == 0) { cout << "STUDENT NOT FOUND." << endl; } } // Display all books void display() { system("cls"); fstream f("BookInput.txt", ios::in); cout << "______________________________________________________________" << endl; cout << "__________________________INFORMATION_________________________" << endl; cout << setw(30) << "ID" << setw(30) << "NAME" << setw(30) << "AUTHOR" << setw(30) << "AMOUNT" << endl; cout << "______________________________________________________________" << endl; while(f.read((char*)&book,sizeof(book))) { book.display(); } f.close(); } // Borrow book void borrow() { int i,n; // ID int found = 0,temp = 0; string ans; string trueA = "Y"; system("cls"); cout << "==============BORROW==============" << endl; cout << "Enter your ID: "; cin >> i ; fstream f("StudentInput.txt", ios::in | ios:: out); fstream f1("BookInput.txt", ios::in | ios:: out); while(f.read((char*)&stu,sizeof(stu)) && found==0) { if(i == stu.getStuId()) { found = 1; if(stu.getBBorrow() == 0) { cout << "Enter book ID: "; cin >> n; while(f1.read((char*)&book,sizeof(book)) && temp==0) { if (n == book.getBookId()) { book.showBook(); temp = 1; cout << "Do you want to borrow this book? (Y or N)" << endl; cin >> ans; if (ans == trueA) { stu.addBBorrow(); f.write((char*)&stu,sizeof(stu)); cout << "Book is borrowed successfully. Please note the day you borrow and return the book to the library within 15 days." << endl; cout << "THANK YOU!" << endl; } } } if(temp == 0) { cout << "Book does not exist." << endl; } } else { cout << "You havent't returned the previous book!" << endl; } } } if(found == 0) { cout << "STUDENT NOT FOUND." << endl; } f.close(); f1.close(); } // Student void student() { char x; string n; int i1,i2,i3; int temp = 0; system("cls"); cout << "Are you a new student? (Y or N) " << endl; cin >> x; if(x == 'Y' || x == 'y') { studentInput(); } cout << "LOG IN" <<endl; cout << "Full Name: "; cin >> n; cout << "Password: "; cin >> i1; fstream f("StudentInput.txt", ios::in); while(f.read((char*)&stu,sizeof(stu)) && temp == 0) { if(i1 == stu.getStuId() && n == stu.getName() ) { system("cls"); cout << "Login successful." << endl; cout << "Welcome " << n << endl; cout << "_________________________________" << endl; cout << "1. SEARCH A BOOK." << endl; cout << "2. DISPLAY ALL BOOKS." << endl; cout << "3. BORROW A BOOK." <<endl; cout << "4. EXIT." << endl; cout << "_________________________________" << endl; cout << "Please choose one option: "; cin >> i2; switch(i2) { case 1: system("cls"); cout << "_________________________________" << endl; cout << "Search book by: " << endl; cout << "1. ID." << endl; cout << "2. NAME." << endl; cout << "_________________________________" << endl; cin >> i3; searchBook(i3); break; case 2: system("cls"); display(); break; case 3: borrow(); break; case 4: exit(0); } temp = 1; } } if(temp == 0) { student(); } } //Teacher void teacher() { int in,i2,s,i3; string n,i1; string pass = "hustteacher"; int temp = 0; system("cls"); cout << "Hello. If this is your first login, please enter 1. If not please enter any number." << endl; cin >> in; if(in == 1) { teacherInput(); } cout << "LOG IN" <<endl; cout << "Full Name: "; cin >> n; cout << "Password: "; cin >> i1; fstream f("TeacherInput.txt", ios::in); while(f.read((char*)&tea,sizeof(tea)) && temp == 0) { if(i1 == pass && n == tea.getName() ) { system("cls"); cout << "Login successful." << endl; cout << "Welcome! " << endl; cout << "_________________________________" << endl; cout << "1. SEARCH A BOOK." << endl; cout << "2. DISPLAY ALL BOOKS." << endl; cout << "3. BORROW A BOOK." <<endl; cout << "4. CHANGE A BOOK'S INFORMATION." <<endl; cout << "5. INPUT STUDENTS INFORMATION." <<endl; cout << "6. SEARCH A STUDENT." <<endl; cout << "7. CHANGE A STUDENT'S INFORMATION." <<endl; cout << "8. EXIT." << endl; cout << "_________________________________" << endl; cout << "Please choose one option: "; cin >> i2; switch(i2) { case 1: system("cls"); cout << "_________________________________" << endl; cout << "Search book by: " << endl; cout << "1. ID." << endl; cout << "2. NAME." << endl; cout << "_________________________________" << endl; cin >> i3; searchBook(i3); break; case 2: system("cls"); display(); break; case 3: borrow(); break; case 4: bookChange(); break; case 5: studentInput(); break; case 6: cout << "Please input the student's ID: "; cin >> s; searchStudent(s); break; case 7: studentChange(); break; case 8: exit(0); } temp == 1; } } if(temp == 0) { cout << "TEACHER NOT FOUND" << endl; } } //Main int main() { int c; do { system("cls"); cout << "=============WELCOME=============" << endl; cout << "Please choose one option: " << endl; cout << "1. STUDENT" << endl; cout << "2. TEACHER" << endl; cout << "3. EXIT" << endl; cin >> c; if(c == 1) { student(); break; }else if (c == 2) { teacher(); break; }else { exit(0); } }while( c != 4); return 0; }

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue