You are on page 1of 3

#pragma once

#pragma warning(disable : 4996)


#include <ctime>
#include<iostream>
#include<fstream>
#include <string>
#include<regex>
#include <deque>
#include <sstream>
using namespace std;

struct DONOR {
int ID;
string UserName;
int Age;
string Blood_Type , hospital_name;
int Latest_Donation_Date = 0;
};

class User
{
public:
int controller;
int controller1;
int ID;
string UserName , Hospital_Name;
string username;
string USERNAME;
string Mail;
string mail;
string Password;
string password;
string PASSWORD;
int Age;
int age;
string Gender;
string gender;
string Blood_Type;
string blood_type;
string Common_Disease;
string common_disease;
string Others_Disease;
string others_disease;
int Latest_Donation_Date;
int latest_donation_date;
fstream file;
fstream fileout;
string filename;
const char* FileName;
string Option;
int choice;
string updated;
public:
User();
int GetId();
bool UserNameCheck(string UserName);
bool Email_check(string email);
bool PasswordCheck(string password);
void ConfirmUpdation(string user);
void ConfirmNameUpdation(string user);
bool AgeCheck(int Age);
bool CommonDiseaseCheck(string status);
bool OthersDiseaseCheck(string status);
bool LastDonationDateCheck(int year, int month, int day);
~User();
};
class Donor : public User
{
public:
int qua;
int qAp;
int qABp;
int qBp;
int qOp;
int qAm;
int qABm;
int qBm;
int qOm;
public:
Donor(void);
void Register();
void Login();
void Donation_Request();
void Update_Data();
void Delete_Account();
//void QuantityOfBlood(string s);
~Donor(void);
};
class Recipient : public User
{
public:
int emergency_level;;
string Hospital;
string DoctorName;
public:
Recipient(void);
void Register();
void Login();
void Update_Data();
void Delete_Account();
void BloodDisplay();
void search_for_BloodType();
~Recipient(void);

};
class Admin : public User
{
public:

public:
Admin(void);
void Login();
void Insert();
void Update_Data();
void Delete_Account();
void Display();
bool ValidateDonorRequest();
~Admin(void);
};

You might also like