Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  ipl
Language: C/C++
Code:
#include<fstream.h>
#include<conio.h>
#include<ctype.h>
#include<string.h>
#include<stdio.h>
#include<stdlib.h>
#include<graphics.h>
#include<process.h>

class Donor
{
   char name[20];
   char bgp[4];                                                      //blood group
   char address[10];
   long int phno;
   char gender[7];
   float qty;
 public:
   void read();                                                     //To accept the details of the donor
   void display();                                               //To display the details
   char * ret_bog()                                            //To return the value
   {
      return bgp;
   }


  
 char * ret_name()                                               //To return the name
   {
         return name;
   }
};
ifstream in;
ofstream out;
Donor D;                                                                                 //Object of class Donor
char ch;

void Donor::read()
{
  textcolor(5);
  cprintf("Enter name       : ");
  gets(name);
  cout<<" \n ";
  cprintf(" Enter gender    : ");
  gets(gender);
  cout<<" \n ";
  cprintf(" Enter address     : ");
  gets(address);
  cout<<" \n ";
  cprintf(" Enter phone no.   : ");
  cin>>phno;
  cout<<" \n ";
  cprintf(" Enter blood group : ");
  gets(bgp);
  cout<<" \n ";
  cprintf(" Enter the quantity: ");
  cin>>qty;
  cout<<" \n \n";
}

void Donor::display()
{
  textcolor(3);
  cout<<"\n";
  cprintf("Name        : ");
  cout<<name<<endl;
  cout<<"\n";
  cprintf("Gender      : ");
  cout<<gender<<endl;
  cout<<"\n";
  cprintf("Address     : ");
  cout<<address<<endl;
  cout<<"\n";
  cprintf("Phone No.   : ");
  cout<<phno<<endl;
  cout<<"\n";
  cprintf("Blood group : ");
  cout<<bgp<<endl;
  cout<<"\n";
  cprintf("Qunatity    : ");
  cout<<qty<<"l"<<endl<<"\n";
}



void create()
{
  out.open("blood.dat",ios::binary);
  do
  {
     D.read();
     out.write((char*)&D,sizeof(Donor));
     cout<<" Do you want to continue ? (y/n) :";
     cin>>ch;
  }while(ch=='y'||ch=='Y');
  out.close();
}

void add()
{
  out.open("blood.dat",ios::binary|ios::app);
  do
  {
     D.read();
     out.write((char*)&D,sizeof(Donor));
     cout<<" Do you want to continue ? (y/n) :";
     cin>>ch;
  }while(ch=='y'||ch=='Y');
  out.close();
}

void search()
{
  char b[7];
  int flag=-1;
  in.open("blood.dat",ios::binary);
  cout<<" Enter the blood group to be searched ";
  gets(b);
  while(in.read((char*)&D,sizeof(Donor)))
  {
    if (strcmpi(D.ret_bog(),b)==0)
     {
       flag=0;
       break;
     }
    else
      flag=-1;
  }
  in.close();
  if(flag==0)
        D.display();
  else
         textcolor(14+BLINK);
         cprintf(" Sorry! Blood group not available..");
}

void count()
{
  int a1=0,a2=0,b1=0,b2=0,ab1=0,ab2=0,o1=0,o2=0;
  in.open("blood.dat",ios::binary);
  while(in.read((char*)&D,sizeof(Donor)))
  {
       if(strcmpi(D.ret_bog(),"A+")==0)
         a1++;
       else if(strcmpi(D.ret_bog(),"A-")==0)
         a2++;
       else if(strcmpi(D.ret_bog(),"B+")==0)
         b1++;
       else if(strcmpi(D.ret_bog(),"B-")==0)
         b2++;
       else if(strcmpi(D.ret_bog(),"O+")==0)
         o1++;
       else if(strcmpi(D.ret_bog(),"O-")==0)
         o2++;
       else if(strcmpi(D.ret_bog(),"AB+")==0)
         ab1++;
       else
         ab2++;
  }
  in.close();
  textcolor(18);
  cprintf(" \n No. of A+ records : ");
  cout<<a1<<endl;
  cout<<"\n";
  cprintf(" No. of A- records : ");
  cout<<a2<<endl;
  cout<<"\n";
  cprintf(" No. of B+ records : ");
  cout<<b1<<endl;
  cout<<"\n";
  cprintf(" No. of B- records : ");
  cout<<b2<<endl;
  cout<<"\n";
  cprintf(" No. of O+ records : ");
  cout<<o1<<endl;
  cout<<"\n";
  cprintf(" No. of O- records : ");
  cout<<o2<<endl;
  cout<<"\n";
  cprintf(" No. of AB+ records: ");
  cout<<ab1<<endl;
  cout<<"\n";
  cprintf(" No. of AB- records: ");
  cout<<ab2<<endl;
}

void Delete()
{
     char n[20];
     in.open("blood.dat",ios::binary);
      out.open("temp.dat",ios::binary);
      cout<<"Enter the Donor Name to be deleted ";
       gets(n);
      while(in.read((char*)&D,sizeof(Donor)))
       {
             if (strcmpi(D.ret_name(),n)!=0)
             out.write((char*)&D,sizeof(Donor));
         }
          textcolor(27+BLINK);
          cout<<"\n";
          cprintf("\n Record successfully deleted!!");
          in.close();
          out.close();
          remove("blood.dat");
          rename("temp.dat","blood.dat");
}

void disp()
{
    in.open("blood.dat",ios::binary);
    while(in.read((char*)&D,sizeof(Donor)))
          D.display();
     in.close();
}

void facts()
{
            textcolor(27+BLINK);
            cprintf(" \n \t \t \t       DID YOU KNOW?????   \n");
             cout<<”\n”;
            cout<<" \n \t \t \t       -----------------   \n \n";
             textcolor(18);
             cprintf(" O- are the universal donors! \n");
             cout<<”\n”;
             cprintf(" AB+ are the universal acceptors!  \n");
             cout<<”\n”;
             cprintf (" 34.3 % of people have A+! \n");
             cout<<”\n”;
             cprintf (" 5.7 % of people have A-! \n");
             cout<<”\n”;
            cprintf (" 8.6 % of people have B+! \n");
            cout<<”\n”;
             cprintf (" 1.7 % of people have B-! \n");
             cout<<”\n”;
             cprintf (" 38.5 % of people have O+! \n");
            cout<<”\n”;
             cprintf (" 6.5 % of people have O-! \n");
            cout<<”\n”;
            cprintf (" 4.3 % of people have AB+! \n");
            cout<<”\n”;
            cprintf (" 0.7 % of people have AB-! \n");
             cout<<”\n”;
}

int pass()
{
  char* usn;
  char ch,c[10];
  int i=0;
  textcolor(14);
  cprintf("        Enter Username      :");
  gets(usn);
  cout<<endl;
  cprintf("        Enter Password      : ");
  while(i>=0)
  {
    ch=getch();
    if(ch==13)
    {
      if(strcmp(usn,"pv")==0 && strcmp(c,"pv")==0)
      return 1;
      else
      exit(0);
    }
    c[i]=ch;
    cout<<"*";
    c[i+1]='\0';
    i++;
  }
}

void main()
{
   int y;
   clrscr();
   int choice;
   textcolor(6);
   cprintf("      VENKAT INTERNATIONAL PUBLIC SCHOOL    \n");
   cout<<"\n";
   cprintf("      ===================================   \n \n");
   cout<<"\n";
   cprintf("       COMPUTER  INVESTIGATORY  PROJECT   \n ");
   cout<<"\n";
   cprintf("       ---------------------------------  \n \n");
   cout<<"\n";
   cprintf("     Topic :   BLOOD BANK  \n");
   cout<<"\n";
   cprintf("      ----- :   ----------  \n \n \n");
   cout<<"\n";
   cprintf(" By :     Pratheeksha R    \n");
   cout<<"\n";
   cprintf(" -- :                       \n");
   cout<<"\n";
   cprintf("          Varuni N V       \n \n \n");
   cout<<"\n";
   textcolor(2+BLINK);
   cprintf("Press 'ENTER' to continue....");
   getch();
   clrscr();
   y=pass();
   if(y==1)
   {
     do
  {
       clrscr();
       textcolor(20);
       cprintf("     MAIN MENU   \n");
       cprintf(" \n    1..... Create a new record \n");
       cout<<"\n";
       cprintf(" \n    2..... Add a new record (append) \n" );
       cout<<"\n";
       cprintf(" \n    3..... Search blood group \n");
       cout<<"\n";
       cprintf(" \n    4..... Count Records \n");
       cout<<"\n";
       cprintf(" \n    5..... Display donor details \n");
       cout<<"\n";
       cprintf(" \n    6..... Delete old records \n");
       cout<<"\n";
       cprintf(" \n    7..... Some facts  \n");
       cout<<"\n";
       cprintf(" \n    8..... Exit \n");
       cout<<"\n";
       cprintf(" \n    Enter your choice (1-8) : ");
       cin>>choice;
       switch(choice)
       {
       case 1: clrscr();
            cout<<" \t \t ENTER THE DONOR DETAILS! \n ";
            create();
            break;
       case 2: clrscr();
            cout<<" \t \t ENTER THE DONOR DETAILS! \n";
            add();
            break;
       case 3: clrscr();
            cout<<" \t \t BLOOD GROUP SEARCH!! \n ";
            search();
            break;
       case 4: clrscr();
            cout<<" \t \t BLOOD GROUP COUNT  \n ";
            count();
            break;
       case 5: clrscr();
            cout<<" \t \t DONOR DETAILS! \n ";
            disp();
            break;
       case 6: clrscr();
            cout<<" \t \t DELETE DONOR DETAILS! \n ";
            Delete();
            break;
       case 7: clrscr();
            cout<<" \t \t FACTS ABOUT BLOOD DONATION & BLOOD GROUP!! \n ";
            facts();
      }
      getch();
  }while(choice!=8);
}
}
     
Comments: