Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Project
On
Hospital Management System
Submitted to:-
Prepared by:-
HOSPITAL
A hospital is a health care institution providing patient treatment with specialized
staff and equipment. Hospita...
Software Requirement Specification (SRS)
A Software requirements specification (SRS), a requirements specification for a
s...
1.3. Feasibility Study:-
The overall scope of the feasibility study was to provide sufficient information
to allow a decis...
This project is to maintain the patient details, lab reports and to calculate the
bill of the patient. You can also manual...
2.5. Assumption and Dependencies:-
All the data entered will be correct and up to date. This software package is
developed...
3.2. Functional Requirements:-
3.2.1. Administration module:-
This module enables the user to insert, update, view, search...
3.2.5. Updation module:-
This module used to store or produce the patient reports .This updates
patient info after each ta...
5. ATTRIBUTES:
5.1
 Reliability:
This application is a reliable product that produces fast and verified output of all its...
5.2 Data Dictionary:-
CLASS
NAME
DATA MEMBERS MEMBER
FUNCTIONS
ADMIN:
task()
PATIENT:
Name: string Get_address()
ID: int P...
6. SYSTEM DESIGN:
The principles used in design are described below :-
1. DATA FLOW DIAGRAM:
Symbol Name Function
Data Flo...
2. ENTITY RELATIONSHIP DIAGRAM:-
Symbol Name Description
Entity
An entity can be any object, place, person
or anything.
At...
3. CLASS DIAGRAM:-
4.SEQUENCE DIAGRAM:-
5.USE CASE DIAGRAM:-
CONCLUSION:-
The project Hospital Management System (HMS) is for computerizing the
working in a hospital. It is a great im...
REFERENCES:-
1) An integrated approach to software engineering, Third edition by
Pankaj Jalote
2) OOP in C++ – E Balagurus...
CODE FOR HMS:::
/* HOSPITAL MANAGEMENT SYSTEM
PROGRAMMING LANGUAGE C++
Please enter the input data in specified format onl...
char country[30];
};
struct patient_info
{
address AD1; //nested structure implemented
int sex;
int reg_no;
int bld_group;...
void delete_entry();
void billing();
void after_delete_options();
int s_group;
int s_choice;
int en_del_index;
int delete_...
char
enter_now,restore_confirm,duplicate_answer,delete_all_confirm,restore_all_confir
m,after_search_answer;
temp1() //con...
T1.entry_index[T1.m]=-1;
}
cout<<"tttt WELCOME TO"<<"n";
cout<<"nnttt***HOSPITAL MANAGEMENT SOFTWARE***"<<"n";
cout<<"nttt...
switch(task)
{
case 1:{
A1.enter_patient_info();
break;
}
case 2:{
A1.show_patient_detail();
break;
}
case 3:{
A1.search_m...
}
case 7:{
A1.exit_function();
break;
}
default:
cout<<"nnnnntInvalid task serial !!!"<<"n";
cout<<"tValid options are 1-6...
}
answer='y';
if(T1.count==0)
T1.serial=1;
else
T1.i=T1.serial;
for(T1.i=T1.serial;answer=='y'||answer=='Y';T1.i++)
{
cout...
for(T1.k=1;T1.k<T1.serial;T1.k++) //loop to avoid duplicate entries
{
if(strcmp(PI[T1.i].name,PI[T1.k].name)==0) //if matc...
else
{
A1.tasks();
}
}
}
} //end of "for loop" to prevent duplicate entries
cout<<"nSex ( 1-Male , 2-Female ) : ";
cin>>PI...
cin>>PI[T1.i].martial_status;
}
cin.get(ch);
cout<<"n *** Blood group ***"<<"n";
cout<<" 1. A+ "<<"n";
cout<<" 2. A- "<<"n...
break;
default:
while(PI[T1.i].bld_group!=1&&PI[T1.i].bld_group!=2&&
PI[T1.i].bld_group!=3&&PI[T1.i].bld_group!=4&&
PI[T1....
}
cin.get(ch);
cout<<"Street : ";
cin.getline(PI[T1.i].AD1.street,30);
while(strlen(PI[T1.i].AD1.street)==0)
{
cout<<"anPl...
}
cout<<"Country : ";
cin.getline(PI[T1.i].AD1.country,30);
while(strlen(PI[T1.i].AD1.country)==0)
{
cout<<"anPlease enter...
if(T1.d_index==1)
{
T1.d_index=0;
cout<<"nn";
goto direct;
}
if(T1.current==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!...
cout<<"ttRegistration no. Name of patientnn";
for(T1.j=1;T1.j<100;T1.j++)
{
if(T1.entry_index[T1.j]==1)
cout<<"tt "<<T1.j<...
}
if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==0)
{
cout<<"ntSorry, the patient has left the hospital.";
c...
cout<<"Female "<<"n";
cout<<"tBlood Group : ";
switch(PI[T1.regis].bld_group)
{
case 1:
cout<<"A+n";
break;
case 2:
cout<<...
break;
case 8:
cout<<"O-n";
} //end of switch
cout<<"tMarital Status : ";
if(PI[T1.regis].martial_status==1)
cout<<"Marrie...
if(answer1=='Y'||answer1=='y')
A1.show_patient_detail();
else
A1.tasks();
} //end of function
void all::billing()
{
char p...
void all::search_menu()
{
T1.ssi_count=0;
if(T1.current==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPl...
cout<<"tt 2. Search by blood group "<<"n";
cout<<"tt 3. Return to main menu "<<"n";
cout<<"nnt Enter your choice : a";
cin...
cout<<"nntt ***BLOOD GROUP MENU***nn";
cout<<"t1. A+ "<<"n";
cout<<"t2. A- "<<"n";
cout<<"t3. B+ "<<"n";
cout<<"t4. B- "<<...
A1.tasks();
break;
default:
cout<<"ann Invalid search criteria !!!"<<"n";
cout<<" Valid options are 1 and 2 !!!"<<"n";
cou...
T1.search_count++;
}
}
if(T1.search_number==1)
{
cout<<"annntt Search is complete !!! "<<"n";
if(T1.search_count==0)
{
cou...
while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ
er!='N'&&after_search_answer!='n')
{
cout<<"an...
{
T1.search_count=0;
T1.search_number++;
cout<<"nnn";
for(T1.index=1;T1.index<T1.serial;T1.index++)
{
if(s_group==PI[T1.in...
getch();
A1.after_search_options();
}
if(T1.search_count>1)
cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn";
if...
else
A1.after_search_options();
}
else
{
cout<<"nnnttWhich registration number : ";
cin>>T1.index;
A1.search_show_info();
...
break;
case 2:
A1.search_blood_group();
break;
} //end of switch
}
if(T1.entry_index[T1.index]==0)
{
cout<<"nntSorry, the ...
if(T1.entry==1)
cout<<"ttOnly 1 record has been added .n";
else
cout<<"ttOnly "<<T1.entry<<" records have been added .n";
...
cout<<"Female "<<"n";
cout<<"tBlood Group : ";
switch(PI[T1.index].bld_group)
{
case 1:
cout<<"A+n";
break;
case 2:
cout<<...
break;
case 8:
cout<<"O-n";
break;
} //end of switch
cout<<"tMarital Status : ";
if(PI[T1.index].martial_status==1)
cout<<...
cin>>after_search_answer;
}
if(after_search_answer=='y'||after_search_answer=='Y')
{
switch(T1.search_index)
{
case 1:
A1....
switch(T1.after_search_choice)
{
case 1:
T1.ssi_count=0;
A1.search_menu();
break;
case 2:
T1.ssi_count=0;
A1.tasks();
brea...
cout<<"nntDo you want to enter now (Y/N) : a";
cin>>T1.enter_now;
while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now...
if(T1.delete_show==0)
{
cout<<"ntDatabase is currently empty!!!a";
cout<<"ntPress any key to continue....";
getch();
A1.ta...
{
if(T1.entry_index[T1.f]==1)
{
T1.current--;
T1.entry_index[T1.f]=0;
}
}
cout<<"nntAll entries have been succesfully dele...
cout<<"nntAre you sure you want to delete entry "<<en_del_index<<" (Y/N) ?
";
cin>>delete_confirm;
while(delete_confirm!='...
}
}
if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]==
0)
{
cout<<"nntSorry, the patient has alread...
void all::after_delete_options()
{
cout<<"nttWHAT DO YOU WANT TO DO NOW ?";
cout<<"ntt1. Delete more entries ";
cout<<"ntt...
{
T1.delete_count=0;
if(T1.serial==0)
{
cout<<"nnn";
cout<<"tDatabase is empty !!!"<<"n";
cout<<"tPlease enter some inform...
{
cout<<"tt "<<T1.d<<" "<<PI[T1.d].name<<"n";
T1.delete_count++;
}
else
continue;
}
if(T1.delete_count==0)
{
T1.delete_cou...
while(T1.restore_all_confirm!='Y'&&T1.restore_all_confirm!='y'&&T1.restore_al
l_confirm!='N'&&T1.restore_all_confirm!='n')...
}
}
if(T1.entry_index[T1.restore_serial]==0)
{
cout<<"ntAre you sure you want to restore entry "<<T1.restore_serial<<" : "...
cout<<"ntEntry not restored!!!"; //index value kept 0
cout<<"ntPress any key to continue...na";
getch();
A1.after_restore(...
cout<<"nnnttWHAT DO YOU WANT TO DO NOW? ";
cout<<"ntt1. Restore more entries ";
cout<<"ntt2. Return to main manu ";
cout<<...
{
cout<<"nnnntYou have not used the software.";
cout<<"ntIt is recommended that you should not exit.";
cout<<"ntPress any ...
cout<<"tProgramming Language : C++ "<<"n";
cout<<"ntHope you like it..."<<"n";
cout<<"nntThanks for trying this "<<"n";
co...
Hospital Management System Project
Hospital Management System Project
Hospital Management System Project
Upcoming SlideShare
Loading in …5
×

Hospital Management System Project

20,697 views

Published on

It includes Software Requirement Specification document for Hospital Management System.

Published in: Education

Hospital Management System Project

  1. 1. Project On Hospital Management System Submitted to:- Prepared by:-
  2. 2. HOSPITAL A hospital is a health care institution providing patient treatment with specialized staff and equipment. Hospitals are usually funded by public sector by health organisations (for profit or non-profit), by health insurance companies, or by charities, including direct charitable donations. Hospitals have a range of departments (e.g., surgery, and urgent care etc). HOSPITAL MANAGEMENT SYSTEM A hospital management system is an information system that manages the aspects of a hospital. This may include the administrative, financial, and medical processing. It is an integrated end-to-end Hospital Management System that provides relevant information across the hospital to support effective decision making for patient care, hospital administration and critical financial accounting, in a seamless flow. This program can look after Inpatients, OPD patients, records, database treatments, status illness, billings etc. it also maintains their hospital info such as ward id, Doctor in Charge, Department administering etc. Now with a laboratory module to handle all lab operations...!!! Not only has this it also looked after doctor and staff records and payments. Now with advanced features like LAN connectivity, ICD10 disease database, Webcam support. NEED OF HMS 1. Minimized documentation and no duplication of records. 2. Reduced paper work. 3. Improved Patient Care 4. Better Administration Control 5. Faster information flow between various departments 6. Smart Revenue Management 7. Effective billing of various services 8. Exact stock information
  3. 3. Software Requirement Specification (SRS) A Software requirements specification (SRS), a requirements specification for a software system, is a complete description of the behavior of a system to be developed and may include a set of use cases that describe interactions the users will have with the software. In addition it also contains non-functional requirements. Non-functional requirements impose constraints on the design or implementation (such as performance engineering requirements, quality standards, or design constraints). 1. Introduction The SRS is produced at the culmination of the analysis task. The function and performance allocated to software as part of the system engineering and refined by establishing a complete information description, a detailed functional description, a representation of system behavior, indication of performance requirements and design constrains, appropriate validation criteria and the other information related to requirements. The SRS is technical specification of requirement of Hospital Management system. This specification describes what the proposed system should do without describing how it will do it. It also describes complete external behavior of proposed system. 1.1. Purpose:- The main purpose of our system is to make hospital task easy and is to develop software that replaces the manual hospital system into automated hospital management system. This document serves as the unambiguous guide for the developers of this software system. 1.2. Scope:- The document only covers the requirement specification for the hospital management system. This document does not provide any references to the other component of the hospital management system. All the external interfaces and the dependencies are also identified in this document.
  4. 4. 1.3. Feasibility Study:- The overall scope of the feasibility study was to provide sufficient information to allow a decision to be made as to whether the hospital management system project should proceed and so, its relative priority in the context of the other existing hospital management system. The feasibility study of this project had undergone through various steps which as describe as under: a) Identify the origin of the information at different level. b) Identify the expectation of user from computerized system. c) Analyze the drawback of existing system. 1.4. Definition , Acronyms , Abbreviations:- CFD: - Context Flow Diagram DFD: - Data Flow Diagram IDE: - Integrated Development Environment C++:-Platform Independent And Object_oriented programming language SRS: - Software Requirement Specification. 1.5. Reference:- 1) An integrated approach to software engineering, Third edition by Pankaj Jalote 2) OOP in C++ – E Balaguruswamy 3) Software engineering By Ian Sommerville 1.6. Overview:- Hospital Management System is a process of implementing all the activities of the hospital in a computerized automated way to fasten the performance.
  5. 5. This project is to maintain the patient details, lab reports and to calculate the bill of the patient. You can also manually edit any patient details and issue bill receipt to patient within few seconds. 2. OVERALL DESCRIPTION 2.1. Product perspectives:- This project gives the procedural approach how a patient gets treatment, details about date of treatment and finally depending on different criteria like room allocated, lab reports, treatment and medicine taken…..etc,how billing is calculated. During billing health card facility is also considered. 2.2. Product Function:- The data represented in hospital management application will perform the following major function:-  Patient Details: - It includes inpatient and outpatient details.  Tasks:- It includes the various tasks which are used in hospital  Billing Details:-This software will help to calculate the bill much quicker and simpler way. This enables the organization to keep the information in efficient and systematic way. 2.3. User Characteristics:- This software is developed such that total appearance of the product to make it more user friendly. The operator will be provided with login id and password. General users with basic computer skills can use this software. 2.4. General Constraints:- Any update regarding the patient’s information from the hospital are to be recorded to have updated and correct values.
  6. 6. 2.5. Assumption and Dependencies:- All the data entered will be correct and up to date. This software package is developed using java as front end which is supported by sun micro system, MS SQL server 2005 as the back end which is supported by Microsoft windows XP. 3. SPECIFIC REQUIREMENTS It describes all the details that the software developer need to know for designing and developing the system. This is typically the largest and most important part of the document. 3.1. External Interface Requirements:- 3.1.1. User Interface:- User interface is designed in a user friendly manner and the user, in another end he has to give the order, for that he will interface with keyboard and mouse. 3.1.2. Hardware Interface:- 1) OS – windows 2) Hard disk – 80 GB 3) RAM – 1 GB 4) Keyboard – Standard QWERTY keyboard for interface 5) Mouse – Standard mouse with 2 buttons 3.1.3. Software Interface:- 1) Front end – OOP using C++ 2) OS – Net Beans IDE 6.9.1 3) .Net Firmware 3.1.4. Communication Interface:- Windows
  7. 7. 3.2. Functional Requirements:- 3.2.1. Administration module:- This module enables the user to insert, update, view, search and delete the patient information. 3.2.2. Patient module:-  Data Members :- PatientId, Name, Age, Sex, BloodGroup, Marital Status ,Address, Phone Number. 3.2.3. Task module:- This module is used by system admin to manage the system. It has following sub modules.  Add New Patient :- This module is used to add a new patient.  View Details :- This module is used to view the details of a previously admitted patient.  Search :- This module searches the record of desired patient using his ID, Name, City or Blood Group.  Delete :- This module deletes the entry of a patient.  Recycle bin :- This module retrieves the deleted patient data. 3.2.4. Billing Module:- It requires following data members.  Patient ID ,Patient Name, Treatment Charges, Bed Charges and Other Charges  Total Amount which gives the total amount which the patient has to pay.
  8. 8. 3.2.5. Updation module:- This module used to store or produce the patient reports .This updates patient info after each task. 3.3. Performance Requirements:- The capability of the computer depends on the performance of the software. The software can take any number of input provided the database size is large enough. This would depend on the available memory space. 3.4. Design Constraints:- This will help the doctors or users to view the records of the patients immediately whenever necessary. They can also calculate the bill of the particular patients. This software also has the ability to add, update and delete the record whenever needed. This project will help to smoother the process of the hospital activites. 4. SYSTEM FEATURES: The users of the system should be provided the surety that their account is secure. This is possible by following:  User authentication and validation of members using their member ID.  Proper monitoring by the administrator which includes account status, showing a popup if wrong data is entered more than a required limit.  Privacy of personal details of patient maintained properly.
  9. 9. 5. ATTRIBUTES: 5.1  Reliability: This application is a reliable product that produces fast and verified output of all its processes.  Availability: This application will be available to use and help them to carry out their operations conveniently.  Security: The application will be password protected. User will have to enter correct username, password and role in order to access the application.  Maintainability: The application will be designed in a maintainable manner. It will be easy to to incorporate new requirements in the individual modules.  Portability: The application will be easily portable on any windows-based system that has oracle installed.
  10. 10. 5.2 Data Dictionary:- CLASS NAME DATA MEMBERS MEMBER FUNCTIONS ADMIN: task() PATIENT: Name: string Get_address() ID: int Pay_bill() Age: int Maritial_status: string Sex: string Blood_group: string TASK: Add_patient() View_details() Search() Discharge() Prepare_bill() ADDRESS: House_no: int Street: int City: string State: string Country: string BILL: Treatment_charges: float Total_amount() Bed_charges: float Other_charges: float Amount: float
  11. 11. 6. SYSTEM DESIGN: The principles used in design are described below :- 1. DATA FLOW DIAGRAM: Symbol Name Function Data Flow Used to connect processes to each other. The arrowhead indicates direction of data flow. Process Performs some transformation to input data to output data. Source or sink.(external entity) A source of system inputs or sink of system outputs. Data Store A repository of data. Arrowheads indicate net inputs or net outputs to the store.
  12. 12. 2. ENTITY RELATIONSHIP DIAGRAM:- Symbol Name Description Entity An entity can be any object, place, person or anything. Attribute An Attribute Describes a property or characteristics of an entity. Relationship A Relationship Describes relation between entities.
  13. 13. 3. CLASS DIAGRAM:-
  14. 14. 4.SEQUENCE DIAGRAM:-
  15. 15. 5.USE CASE DIAGRAM:-
  16. 16. CONCLUSION:- The project Hospital Management System (HMS) is for computerizing the working in a hospital. It is a great improvement over the manual system. The computerization of the system has speed up the process. In the current system, the front office managing is very slow. The hospital managing system was thoroughly checked and tested with dummy data and thus is found to be very reliable. The software takes care of all the requirements of an average hospital and is capable to provide easy and effective storage of information related to patients that come up to the hospital. It generates test reports and also provides the facility for searching the details of the patient. It also provides billing facility on the basis of patient’s status whether it is an indoor or outdoor patient. The system also provides the facility of backup as per the requirement. FUTURE ENHANCEMENTS: The proposed system is Hospital Management System. We can enhance this system by including more facilities like pharmacy system for the stock details of medicines in the pharmacy. Providing such features enable the users to include more comments into the system. LIMITATIONS:  The size of the database increases day-by-day, increasing the load on the database back up and data maintenance activity.  Training for simple computer operations is necessary for the users working on the system.
  17. 17. REFERENCES:- 1) An integrated approach to software engineering, Third edition by Pankaj Jalote 2) OOP in C++ – E Balaguruswamy 3) Software engineering By Ian Sommerville WEB REFERENCES: 1 .www.google.com 2. www.stackoverflow.com
  18. 18. CODE FOR HMS::: /* HOSPITAL MANAGEMENT SYSTEM PROGRAMMING LANGUAGE C++ Please enter the input data in specified format only */ #include<iostream> //for input and output stream regulation #include<process.h> //for exit() #include<string.h> //for strlen() and strcmp() #include<conio.h> //for getch() and clrscr() #include<stdio.h> using namespace std; class all //declaration for class "all" { private: struct address { int house; char city[30]; char state[30]; char street[30];
  19. 19. char country[30]; }; struct patient_info { address AD1; //nested structure implemented int sex; int reg_no; int bld_group; char name[50]; int martial_status; }PI[100]; int task; protected: //functions declared void search_menu(); void search_city(); void exit_function(); void search_show_info(); void search_blood_group(); void enter_patient_info(); void show_patient_detail(); void after_search_options(); void after_restore(); public: void tasks(); void recycle_bin();
  20. 20. void delete_entry(); void billing(); void after_delete_options(); int s_group; int s_choice; int en_del_index; int delete_choice; char ch; char answer; char answer1; char s_city[30]; char exit_answer; char delete_confirm; char after_search_answer; }; //end of class "all" class temp1 //declaration for class "temp" { public: int m,i,j,k,d,e,f,rem,temp,count,regis,entry,serial,attempt,current,index; int d_index,ssi_count,show_count,delete_show,search_index,search_count,current_ye ar,delete_count; int search_number,restore_serial,entry_index[100],after_search_choice,after_restore_c hoice;
  21. 21. char enter_now,restore_confirm,duplicate_answer,delete_all_confirm,restore_all_confir m,after_search_answer; temp1() //constructor for temp invoked { i=0;j=0; d=0; e=0; f=0; serial=0; current=0; d_index=0; ssi_count=0; show_count=0; delete_show=0; delete_count=0; }; //end of constructor for temp }; //end of class "temp" all A1; //object for class "all" declared temp1 T1; //object for class "temp" declared int main() //main function { T1.count=0; for(T1.m=1;T1.m<=100;T1.m++) //default index value set to -1 for each entry {
  22. 22. T1.entry_index[T1.m]=-1; } cout<<"tttt WELCOME TO"<<"n"; cout<<"nnttt***HOSPITAL MANAGEMENT SOFTWARE***"<<"n"; cout<<"nttt BY SAKSHI,SHWETA AND SANJIT "<<"n"; A1.tasks(); } //end of main function void all::tasks() { T1.attempt=0; T1.d_index=0; cout<<"nnttt ***Hospital Management Tasks***"<<"n"; cout<<"n"; cout<<"nntPlease select a task to do..."<<"n"; cout<<"nnt1. Enter a new patient information "<<"n"; cout<<"t2. View detail of existing patient "<<"n"; cout<<"t3. Search by city or blood group"<<"n"; cout<<"t4. Delete entry "<<"n"; cout<<"t5. Recycle Bin "<<"n"; cout<<"t6. Prepare Bill "<<"n"; cout<<"t7. Exit "<<"nnn"; cout<<"a Enter your task serial : "; cin>>task;
  23. 23. switch(task) { case 1:{ A1.enter_patient_info(); break; } case 2:{ A1.show_patient_detail(); break; } case 3:{ A1.search_menu(); break; } case 4:{ A1.delete_entry(); break; } case 5:{ A1.recycle_bin(); break; } case 6:{ A1.billing(); break;
  24. 24. } case 7:{ A1.exit_function(); break; } default: cout<<"nnnnntInvalid task serial !!!"<<"n"; cout<<"tValid options are 1-6 !!!"<<"n"; cout<<"tPress any key to return to the main task menu....a"<<"n"; getch(); A1.tasks(); } return ; //end of switch for task } //end of function void all::enter_patient_info() { if(T1.current==100) //to avoid overflow of data in the database { cout<<"nnnt Database is full !!! "; cout<<"nt Sorry, you cannot enter any more information !!! "; cout<<"nt Information of maximum 100 patients can be entered !!!! "; cout<<"nt Press any key to return to the main menu....a "; getch(); A1.tasks();
  25. 25. } answer='y'; if(T1.count==0) T1.serial=1; else T1.i=T1.serial; for(T1.i=T1.serial;answer=='y'||answer=='Y';T1.i++) { cout<<"a"; T1.current++; PI[T1.i].reg_no=T1.i; T1.temp=T1.serial; T1.entry_index[T1.i]=1; cout<<"nnt ***ENTERING INFORMATION FOR PATIENT SERIAL NUMBER "<<T1.i<<" ***"<<"n"; cin.get(ch); cout<<"nRegistration Number : "<<PI[T1.i].reg_no<<"nn"; cout<<"Enter the name of patient : "; cin.getline(PI[T1.i].name,50); while(strlen(PI[T1.i].name)==0) { cout<<"anPlease enter a name : "; //if enter is pressed before entering a name cin.getline(PI[T1.i].name,50); cout<<"n"; }
  26. 26. for(T1.k=1;T1.k<T1.serial;T1.k++) //loop to avoid duplicate entries { if(strcmp(PI[T1.i].name,PI[T1.k].name)==0) //if match is found { if(T1.entry_index[T1.k]==0) //if entry is already deleted continue; else //if entry still exists { T1.current-=1; //current no. of entries remains same cout<<"nnntThe patient is already admitted in the hospital !!!"; cout<<"ntWant to view info of this registration number in detail (Y/N) : a"; cin>>T1.duplicate_answer; while(T1.duplicate_answer!='Y'&&T1.duplicate_answer!='y'&&T1.duplicate_ans wer!='N'&&T1.duplicate_answer!='n') { cout<<"ntaPlease re enter a correct option (Y/N) : "; cin>>T1.duplicate_answer; } if(T1.duplicate_answer=='y'||T1.duplicate_answer=='Y') { T1.entry_index[T1.i]=-1; T1.regis=T1.k; T1.d_index=1; A1.show_patient_detail(); }
  27. 27. else { A1.tasks(); } } } } //end of "for loop" to prevent duplicate entries cout<<"nSex ( 1-Male , 2-Female ) : "; cin>>PI[T1.i].sex; while(PI[T1.i].sex!=1&&PI[T1.i].sex!=2) { cout<<"anInvalid input for sex of patient !!!"; cout<<"nSex : "; cin>>PI[T1.i].sex; } cout<<"nMartial status( 1-Married , 2-Single ) : "; cin>>PI[T1.i].martial_status; while(PI[T1.i].martial_status<1||PI[T1.i].martial_status>2) { cout<<"anInvalid input for martial status !!!"<<"n"; cout<<"Enter a valid martial status : "<<"n";
  28. 28. cin>>PI[T1.i].martial_status; } cin.get(ch); cout<<"n *** Blood group ***"<<"n"; cout<<" 1. A+ "<<"n"; cout<<" 2. A- "<<"n"; cout<<" 3. B+ "<<"n"; cout<<" 4. B- "<<"n"; cout<<" 5. AB+ "<<"n"; cout<<" 6. AB- "<<"n"; cout<<" 7. O+ "<<"n"; cout<<" 8. O- "<<"n"; cout<<"nEnter a blood group : "; cin>>PI[T1.i].bld_group; switch(PI[T1.i].bld_group) { case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
  29. 29. break; default: while(PI[T1.i].bld_group!=1&&PI[T1.i].bld_group!=2&& PI[T1.i].bld_group!=3&&PI[T1.i].bld_group!=4&& PI[T1.i].bld_group!=5&&PI[T1.i].bld_group!=6&& PI[T1.i].bld_group!=7&&PI[T1.i].bld_group!=8) { cout<<"aInvalid input !!!"<<"n"; cout<<"Please enter a valid Blood Group : "<<"n"; cin>>PI[T1.i].bld_group; } //end of while loop } //end of switch cin.get(ch); cout<<"nn ***ENTERING ADDRESS**"<<"nn"; cout<<"House number : "; cin>>PI[T1.i].AD1.house; while(PI[T1.i].AD1.house<=0) { cout<<"anInvalid input for house number !!!"; cout<<"nAgain enter the house number : "; cin>>PI[T1.i].AD1.house;
  30. 30. } cin.get(ch); cout<<"Street : "; cin.getline(PI[T1.i].AD1.street,30); while(strlen(PI[T1.i].AD1.street)==0) { cout<<"anPlease enter a street : "; //if enter is pressd before input for street cin.getline(PI[T1.i].AD1.street,50); cout<<"n"; } cout<<"City : "; cin.getline(PI[T1.i].AD1.city,30); while(strlen(PI[T1.i].AD1.city)==0) { cout<<"anPlease enter a city : "; //if enter is pressd before input for city cin.getline(PI[T1.i].AD1.city,50); cout<<"n"; } cout<<"State : "; cin.getline(PI[T1.i].AD1.state,30); while(strlen(PI[T1.i].AD1.state)==0) { cout<<"anPlease enter a state : "; //if enter is pressed before input for state cin.getline(PI[T1.i].AD1.state,50); cout<<"n";
  31. 31. } cout<<"Country : "; cin.getline(PI[T1.i].AD1.country,30); while(strlen(PI[T1.i].AD1.country)==0) { cout<<"anPlease enter a country : "; //if enter is pressd before input for country cin.getline(PI[T1.i].AD1.country,50); cout<<"n"; } cout<<"nnWant to enter information for another patient (Y/N) ? "; cin>>answer; while(answer!='Y'&&answer!='y'&&answer!='N'&&answer!='n') { cout<<"anPease re-enter a correct option (Y/N) : "; cin>>answer; } cout<<"n"; T1.count++; T1.serial++; } //end of "for loop" for entering information A1.tasks(); } //end of function void all::show_patient_detail() {
  32. 32. if(T1.d_index==1) { T1.d_index=0; cout<<"nn"; goto direct; } if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt****** CURRENT DATEBASE ENTRIES ******nn";
  33. 33. cout<<"ttRegistration no. Name of patientnn"; for(T1.j=1;T1.j<100;T1.j++) { if(T1.entry_index[T1.j]==1) cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n"; else continue; } cout<<"nnttPress 0 to return to main menu.... "; cout<<"nnnEnter registration number whose details you want to see : "; cin>>T1.regis; cout<<"nn"; cin.get(ch); if(T1.regis==0) A1.tasks(); T1.show_count++; direct: //label for "goto" jump statement if(T1.regis<=0) { cout<<"nntSorry, invalid registration number "; cout<<"ntRegistration number starts from 1. "; cout<<"nntPress any key to continue..... a"; getch(); A1.show_patient_detail();
  34. 34. } if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==0) { cout<<"ntSorry, the patient has left the hospital."; cout<<"ntPress any key to continue..."<<"n"; getch(); } if((T1.regis<0||T1.regis>=T1.serial)&&T1.entry_index[T1.regis]==-1) { cout<<"nntSorry, the registration number is invalid ."<<"n"; T1.entry=T1.serial-1; if(T1.entry==1) cout<<"tOnly 1 record has been added .n"; else cout<<"tOnly "<<T1.entry<<" records have been added .n"; } if(T1.regis>0&&T1.regis<T1.serial&&T1.entry_index[T1.regis]==1) { cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER "<<T1.regis<<"***nn"; cout<<"tName : "<<PI[T1.regis].name<<"n"; cout<<"tSex : "; if(PI[T1.regis].sex==1) cout<<"Male "<<"n"; if(PI[T1.regis].sex==2)
  35. 35. cout<<"Female "<<"n"; cout<<"tBlood Group : "; switch(PI[T1.regis].bld_group) { case 1: cout<<"A+n"; break; case 2: cout<<"A-n"; break; case 3: cout<<"B+n"; break; case 4: cout<<"B-n"; break; case 5: cout<<"AB+n"; break; case 6: cout<<"AB-n"; break; case 7: cout<<"O+n";
  36. 36. break; case 8: cout<<"O-n"; } //end of switch cout<<"tMarital Status : "; if(PI[T1.regis].martial_status==1) cout<<"Married "<<"n"; else cout<<"Single "<<"n"; cout<<"nt **ADDRESS**"<<"n"; cout<<"ntHouse no. : "<<PI[T1.regis].AD1.house; cout<<"ntStreet : "<<PI[T1.regis].AD1.street; cout<<"ntCity : "<<PI[T1.regis].AD1.city; cout<<"ntState : "<<PI[T1.regis].AD1.state; cout<<"ntCountry : "<<PI[T1.regis].AD1.country; } T1.d_index=0; cout<<"nnnntWant to view detail of another patient(y/n) : "; cin>>answer1; while(answer1!='Y'&&answer1!='y'&&answer1!='N'&&answer1!='n') { cout<<"atPease re-enter a correct option (Y/N) ? "; cin>>answer1; }
  37. 37. if(answer1=='Y'||answer1=='y') A1.show_patient_detail(); else A1.tasks(); } //end of function void all::billing() { char pn[25]; float bc,tc,oc,tot; cout<<"nPatient Name :t"; cin>>pn; cout<<"nBed Charge :t"; cin>>bc; cout<<"nTreatment Charge:t"; cin>>tc; cout<<"nOther Charges :t"; cin>>oc; tot=bc+tc+oc; cout<<"nnnTotal Billing Charges :t"<<tot; cout<<"annntPress any key to return to the main task menu......."<<"n"; getch(); A1.tasks(); } //end of function
  38. 38. void all::search_menu() { T1.ssi_count=0; if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } T1.search_number=0; cout<<"nntt ***SEARCH MENU***"<<"n"; cout<<"nntt 1. Search by city "<<"n";
  39. 39. cout<<"tt 2. Search by blood group "<<"n"; cout<<"tt 3. Return to main menu "<<"n"; cout<<"nnt Enter your choice : a"; cin>>s_choice; cin.get(ch); cout<<"nnn"; switch(s_choice) { case 1: T1.search_index=1; cout<<"nntt***SEARCHING BY CITY***n"; cout<<"nntEnter city : "; cin.getline(s_city,30); cout<<"nnn"; while(strlen(s_city)==0) //if enter is pressed before input for city { cout<<"ntPlease enter a city : a"; cin.getline(s_city,30); } A1.search_city(); break; case 2: T1.search_index=2; cout<<"nntt***SEARCHING BY BLOOD GROUP***n";
  40. 40. cout<<"nntt ***BLOOD GROUP MENU***nn"; cout<<"t1. A+ "<<"n"; cout<<"t2. A- "<<"n"; cout<<"t3. B+ "<<"n"; cout<<"t4. B- "<<"n"; cout<<"t5. AB+ "<<"n"; cout<<"t6. AB- "<<"n"; cout<<"t7. O+ "<<"n"; cout<<"t8. O- "<<"n"; cout<<"nn Enter the serial of your required group : "; cin>>s_group; while(s_group!=1&&s_group!=2&&s_group!=3&&s_group!=4&& s_group!=5&&s_group!=6&&s_group!=7&&s_group!=8) { cout<<"n"; cout<<"tInvalid search criteria !!!"<<"n"; cout<<"tValid serials are 1 to 8."<<"n"; cout<<"tEnter a valid blood group : a"; cin>>s_group; } cout<<"nnn"; A1.search_blood_group(); break; case 3:
  41. 41. A1.tasks(); break; default: cout<<"ann Invalid search criteria !!!"<<"n"; cout<<" Valid options are 1 and 2 !!!"<<"n"; cout<<" Press any key to return to the main searching menu....."<<"n"; getch(); A1.search_menu(); } //end of switch } //end of function void all::search_city() { T1.search_count=0; T1.search_number++; cout<<"nnn"; for(T1.index=1;T1.index<T1.serial;T1.index++) { if((strcmp(PI[T1.index].AD1.city,s_city))==0) { if(T1.entry_index[T1.index]==0) continue; if(T1.search_count==0) cout<<"ttRegistration no. Name of patientnn"; cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name;
  42. 42. T1.search_count++; } } if(T1.search_number==1) { cout<<"annntt Search is complete !!! "<<"n"; if(T1.search_count==0) { cout<<"tt No result found !!!"<<"nnn"; cout<<"tt Press any key to continue....."; getch(); A1.after_search_options(); } if(T1.search_count>1) cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn"; if(T1.search_count==1) cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn"; } if(T1.search_number==1) { cout<<"nnttWant to view in detail : "; cin>>after_search_answer;
  43. 43. while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"annttPlease enter a correct option ."; cout<<"nttDo you want to view in detail (Y/N): "; cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } else A1.after_search_options(); } else { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } } //end of function void all::search_blood_group()
  44. 44. { T1.search_count=0; T1.search_number++; cout<<"nnn"; for(T1.index=1;T1.index<T1.serial;T1.index++) { if(s_group==PI[T1.index].bld_group) { if(T1.entry_index[T1.index]==0) continue; if(T1.search_count==0) cout<<"ttRegistration no. Name of patientnn"; cout<<"ntt "<<T1.index<<"tt"<<PI[T1.index].name; T1.search_count++; } } if(T1.search_number==1) { cout<<"annntt Search is complete !!! "<<"n"; if(T1.search_count==0) { cout<<"tt No matching result found !!!"<<"nnn"; cout<<"tt Press any key to continue.....";
  45. 45. getch(); A1.after_search_options(); } if(T1.search_count>1) cout<<"tt "<<T1.search_count<<" results found !!! "<<"nnn"; if(T1.search_count==1) cout<<"tt "<<T1.search_count<<" result found !!! "<<"nnn"; } if(T1.search_number==1) { cout<<"nnttWant to view in detail (y/n): "; cin>>after_search_answer; while(after_search_answer!='y'&&after_search_answer!='Y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"annttPlease enter a correct option (y/n)"; cout<<"nttDo you want to view in detail : "; cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); }
  46. 46. else A1.after_search_options(); } else { cout<<"nnnttWhich registration number : "; cin>>T1.index; A1.search_show_info(); } } //end of function void all::search_show_info() { T1.ssi_count++; cout<<"nn"; if(T1.index<=0) { cout<<"nntSorry, invalid registration number !!!"; cout<<"ntRegistration number starts from 1 "; cout<<"ntPress any key to continue.........n"; getch(); switch(T1.search_index) { case 1: A1.search_city();
  47. 47. break; case 2: A1.search_blood_group(); break; } //end of switch } if(T1.entry_index[T1.index]==0) { cout<<"nntSorry, the patient has left the hospital ."<<"n"; cout<<"tPress any key to continue ....a"<<"n"; getch(); switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); break; } //end of switch } if(T1.entry_index[T1.index]==-1||T1.index>=T1.serial) { cout<<"nnttSorry, the registration number in invalid ."<<"n"; T1.entry=T1.serial-1;
  48. 48. if(T1.entry==1) cout<<"ttOnly 1 record has been added .n"; else cout<<"ttOnly "<<T1.entry<<" records have been added .n"; cout<<"ttPress any key to continue....a"<<"n"; getch(); switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); break; } //end of switch } cout<<"n"; T1.ssi_count=0; cout<<"nt ***INFORMATION FOR PATIENT REGISTRATION NUMBER "<<T1.index<<"***nn"; cout<<"tName : "<<PI[T1.index].name<<"n"; cout<<"tSex : "; if(PI[T1.index].sex==1) cout<<"Male "<<"n"; if(PI[T1.index].sex==2)
  49. 49. cout<<"Female "<<"n"; cout<<"tBlood Group : "; switch(PI[T1.index].bld_group) { case 1: cout<<"A+n"; break; case 2: cout<<"A-n"; break; case 3: cout<<"B+n"; break; case 4: cout<<"B-n"; break; case 5: cout<<"AB+n"; break; case 6: cout<<"AB-n"; break; case 7: cout<<"O+n";
  50. 50. break; case 8: cout<<"O-n"; break; } //end of switch cout<<"tMarital Status : "; if(PI[T1.index].martial_status==1) cout<<"Married "<<"n"; else cout<<"Single "<<"n"; cout<<"nt **ADDRESS**"<<"n"; cout<<"ntHouse no. : "<<PI[T1.index].AD1.house; cout<<"ntStreet : "<<PI[T1.index].AD1.street; cout<<"ntCity : "<<PI[T1.index].AD1.city; cout<<"ntState : "<<PI[T1.index].AD1.state; cout<<"ntCountry : "<<PI[T1.index].AD1.country; cout<<"nnntWant to view info of another patient within search results (Y/N) ? "; cin>>after_search_answer; while(after_search_answer!='Y'&&after_search_answer!='y'&&after_search_answ er!='N'&&after_search_answer!='n') { cout<<"antPlease enter a correct option (Y/N) : ";
  51. 51. cin>>after_search_answer; } if(after_search_answer=='y'||after_search_answer=='Y') { switch(T1.search_index) { case 1: A1.search_city(); break; case 2: A1.search_blood_group(); } //end of switch } else A1.after_search_options(); } //end of function void all::after_search_options() { cout<<"nnnnttWHAT DO U WANT TO DO NOW ?"<<"n"; cout<<"tt1. Search again "<<"n"; cout<<"tt2. Return to main task menu "<<"n"; cout<<"ntEnter your choice : "; cin>>T1.after_search_choice; cout<<"n";
  52. 52. switch(T1.after_search_choice) { case 1: T1.ssi_count=0; A1.search_menu(); break; case 2: T1.ssi_count=0; A1.tasks(); break; default: cout<<"anntInvalid option requested !!!"<<"n"; cout<<"tPress any key to return to the main searching menu..."<<"n"; getch(); A1.search_menu(); } //end of switch } //end of function void all::delete_entry() { if(T1.current==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n";
  53. 53. cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease re-enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt ***CURRENT DATABASE ENTRIES***nn"; cout<<"ttRegistration no. Name of patientnn"; for(T1.j=1;T1.j<T1.serial;T1.j++) { if(T1.entry_index[T1.j]==0) continue; //to ignore deleted items if(T1.entry_index[T1.j]==1) { T1.delete_show++; cout<<"tt "<<T1.j<<" "<<PI[T1.j].name<<"n"; } }
  54. 54. if(T1.delete_show==0) { cout<<"ntDatabase is currently empty!!!a"; cout<<"ntPress any key to continue...."; getch(); A1.tasks(); } cout<<"nntPress 0 to return to main menu and 101 to delete all entries... "; cout<<"nnnt Or enter the registration no. from 1 to 100 you want to delete ? "; cin>>en_del_index; if(en_del_index==101) { cout<<"ntWarning : You are about to delete all entries !!!a"; cout<<"ntAre you sure you want to do this : "; cin>>T1.delete_all_confirm; while(T1.delete_all_confirm!='Y'&&T1.delete_all_confirm!='y'&&T1.delete_all_c onfirm!='N'&&T1.delete_all_confirm!='n') { cout<<"ntSorry, wrong input !!!"; cout<<"ntPlease enter a valid choice (Y/N) : a"; cin>>T1.delete_all_confirm; } if(T1.delete_all_confirm=='y'||T1.delete_all_confirm=='Y') { for(T1.f=1;T1.f<=100;T1.f++)
  55. 55. { if(T1.entry_index[T1.f]==1) { T1.current--; T1.entry_index[T1.f]=0; } } cout<<"nntAll entries have been succesfully deleted!!!"; cout<<"ntPress any key to return to the main menu...a"; getch(); A1.tasks(); } else { cout<<"ntNo entries have been deleted."; cout<<"ntPress any key for more options...."; getch(); A1.after_delete_options(); } } if(en_del_index==0) A1.tasks(); if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]== 1) {
  56. 56. cout<<"nntAre you sure you want to delete entry "<<en_del_index<<" (Y/N) ? "; cin>>delete_confirm; while(delete_confirm!='Y'&&delete_confirm!='y'&&delete_confirm!='N'&&delet e_confirm!='n') { cout<<"antPease re-enter a correct option (Y/N) ? "; cin>>delete_confirm; } if(delete_confirm=='y'||delete_confirm=='Y') { T1.entry_index[en_del_index]=0; //entry now deleted. index value set to 0 T1.current--; cout<<"ntEntry succesfully deleted.n"; cout<<"tPress any key to continue.....a"; getch(); A1.after_delete_options(); } else { T1.entry_index[en_del_index]=1; //entry not deleted. default index value(1) kept cout<<"ntEntry not deleted "; cout<<"ntPress any key to continue......."; getch(); A1.after_delete_options();
  57. 57. } } if(en_del_index>0&&en_del_index<T1.serial&&T1.entry_index[en_del_index]== 0) { cout<<"nntSorry, the patient has already left the hospital ."<<"n"; cout<<"ntPress any key to continue...a"<<"n"; getch(); A1.delete_entry(); } else { cout<<"nntSorry, Invalid registration number ."<<"an"; T1.entry=T1.serial-1; if(T1.entry==1) cout<<"tOnly 1 record has been added .n"; else cout<<"tOnly "<<T1.entry<<" records were added and "<<T1.current<<" are present now.n"; cout<<"tPress any key to continue..."<<"n"; getch(); A1.delete_entry(); } } //end of function
  58. 58. void all::after_delete_options() { cout<<"nttWHAT DO YOU WANT TO DO NOW ?"; cout<<"ntt1. Delete more entries "; cout<<"ntt2. Return to main menu "<<"n"; cout<<"nttPlease enter your choice : "; cin>>delete_choice; while(delete_choice!=1&&delete_choice!=2) { cout<<"anntSorry, wrong choice ."; cout<<"ntValid choices are 1 and 2. "; cout<<"ntPlease re-enter your choice : "; cin>>delete_choice; } switch(delete_choice) { case 1: A1.delete_entry(); break; case 2: A1.tasks(); } //end of switch } //end of function void all::recycle_bin()
  59. 59. { T1.delete_count=0; if(T1.serial==0) { cout<<"nnn"; cout<<"tDatabase is empty !!!"<<"n"; cout<<"tPlease enter some information first. "<<"n"; cout<<"nntDo you want to enter now (Y/N) : a"; cin>>T1.enter_now; while(T1.enter_now!='Y'&&T1.enter_now!='y'&&T1.enter_now!='N'&&T1.enter _now!='n') { cout<<"antPlease enter a correct option (Y/N) : "; cin>>T1.enter_now; } if(T1.enter_now=='y'||T1.enter_now=='Y') A1.enter_patient_info(); else A1.tasks(); } cout<<"ntt ****** DELETED ENTRIES ******nn"; cout<<"ttRegistration no. Name of patientnn"; for(T1.d=1;T1.d<T1.serial;T1.d++) { if(T1.entry_index[T1.d]==0)
  60. 60. { cout<<"tt "<<T1.d<<" "<<PI[T1.d].name<<"n"; T1.delete_count++; } else continue; } if(T1.delete_count==0) { T1.delete_count=0; cout<<"nnntNo entry is currently in recycle bin."; cout<<"ntPress any key to return to the main menu...a"; getch(); A1.tasks(); } cout<<"nntPress 0 to return to main menu and 101 to restore all items... "; cout<<"nnntWhich item to restore : "; cin>>T1.restore_serial; if(T1.restore_serial==0) A1.tasks(); if(T1.restore_serial==101) { cout<<"nntAre you sure you want to restore all the entries : "; cin>>T1.restore_all_confirm;
  61. 61. while(T1.restore_all_confirm!='Y'&&T1.restore_all_confirm!='y'&&T1.restore_al l_confirm!='N'&&T1.restore_all_confirm!='n') { cout<<"nntPlease re-enter a corrent option : "; cin>>T1.restore_all_confirm; } if(T1.restore_all_confirm=='y'||T1.restore_all_confirm=='Y') { for(T1.e=1;T1.e<=100;T1.e++) if(T1.entry_index[T1.e]==0) { T1.current++; T1.entry_index[T1.e]=1; } cout<<"ntAll deleted items have been succesfully restored."; cout<<"ntPress any key to return to the main menu..."; getch(); A1.tasks(); } else { cout<<"nntNo entry has been restored."; cout<<"ntPress any key to view the recycle bin...a"; getch(); A1.recycle_bin();
  62. 62. } } if(T1.entry_index[T1.restore_serial]==0) { cout<<"ntAre you sure you want to restore entry "<<T1.restore_serial<<" : "; cin>>T1.restore_confirm; while(T1.restore_confirm!='Y'&&T1.restore_confirm!='y'&&T1.restore_confirm! ='N'&&T1.restore_confirm!='n') { cout<<"nntInvalid input !!! "; cout<<"ntPease re-enter a correct option (Y/N) : a"; cin>>T1.restore_confirm; } if(T1.restore_confirm=='Y'||T1.restore_confirm=='y') { T1.current++; T1.delete_count=0; T1.entry_index[T1.restore_serial]=1; //index value set to 1 cout<<"ntEntry succesfully restored!!!"; cout<<"ntPress any key to continue....a"; getch(); A1.after_restore(); } else {
  63. 63. cout<<"ntEntry not restored!!!"; //index value kept 0 cout<<"ntPress any key to continue...na"; getch(); A1.after_restore(); } } if(T1.entry_index[T1.restore_serial]==1) { cout<<"ntThe entry is already present in the database."; cout<<"ntPress any key to continue..."; getch(); A1.recycle_bin(); } if(T1.restore_serial<0||T1.restore_serial>100||T1.entry_index[T1.restore_serial]==- 1) { cout<<"ntInvalid serial number"; cout<<"ntPress any key to continue..."; getch(); A1.recycle_bin(); } } //end of function void all::after_restore() {
  64. 64. cout<<"nnnttWHAT DO YOU WANT TO DO NOW? "; cout<<"ntt1. Restore more entries "; cout<<"ntt2. Return to main manu "; cout<<"nnttPlease enter your choice : "; cin>>T1.after_restore_choice; switch(T1.after_restore_choice) { case 1: A1.recycle_bin(); break; case 2: A1.tasks(); break; default: cout<<"nnntSorry, wrong choice "; cout<<"ntValid choices are 1 and 2 "; cout<<"ntPress any key to continue......"; getch(); A1.after_restore(); } } //end of function void all::exit_function() { if(T1.serial==0)
  65. 65. { cout<<"nnnntYou have not used the software."; cout<<"ntIt is recommended that you should not exit."; cout<<"ntPress any key to continue......a"; getch(); cout<<"nnntAre you sure you want to exit (Y/N) ? "; cin>>exit_answer; while(exit_answer!='Y'&&exit_answer!='y'&&exit_answer!='N'&&exit_answer!=' n') { cout<<"nntInvalid input !!! "; cout<<"ntPease re-enter a correct option (Y/N) : a"; cin>>exit_answer; } if(exit_answer=='y'||exit_answer=='Y') { cout<<"a"; exit ; } else A1.tasks(); } cout<<"nnnttt ***SOFTWARE DETAILS***n"; cout<<"nntDeveloper : Sakshi , Shweta , Sanjit "<<"n"; cout<<”n NATIONAL INSTITUTE OF TECHNOLOGY KURUKSHETRAn”;
  66. 66. cout<<"tProgramming Language : C++ "<<"n"; cout<<"ntHope you like it..."<<"n"; cout<<"nntThanks for trying this "<<"n"; cout<<"nnntPress any key to continue........"<<"n"; getch(); exit(0); } //end of function

×