Ask Question

Name:
Title:
Your Question:

Answer Question

Name:
Your Answer:
User Submitted Source Code!


Description:
  Board
Language: C/C++
Code:
#include<fstream.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>

class tel_bil
{  private:

 int calls;
 char name[100], adrs[100];
 char city[30];

 public:

 char tel_no[15];
long unsigned int cons_no;  void show_data();
void get_data();

};

fstream file;

void tel_bil::get_data()
{
char ch;
cin.get(ch);

cout<<"\n\tENTER NAME:";
cin.getline(name,30);
cout<<"\n\tENTER ADDRESS: ";
 cin.getline(adrs,100);
 cout<<"\n\tENTER CITY: ";
cin.getline(city,40);
 cout<<"\n\tENTER TOTAL NO. OF CALLS: ";
 cin>>calls;

}

void tel_bil::show_data()
{

 float tax=0.02;
 float charge;
int n;
char ch;

      if(calls>=50)
       {
      n=calls-50;          tax=tax*n;
           charge=tax+(2*n)+60;
       }       else
      {
      n=0;        tax=0;
           charge=60;
      }

 cout<<"\n\t\t\tBHARAT SANCHAR  NIGAM LIMITED";

 cout<<"\n\n\t\t\t_______________________________________";
cout<<"\n\tTELEPHONE NO.: "<<tel_no;
cout<<"\n\tCONSUMER NO.: "<<cons_no;
cout<<"\n\tCONSUMER NAME: ";
 cout<<name;
 cout<<"\n\tADDRESS:";  cout<<adrs;  cout<<"\n\tCITY: ";  cout<<city;
 cout<<"\n\tTOTAL NO. OF CALLS: ";  cout<<calls;
cout<<"\n\tFREE CALLS :"<<"50";  cout<<"\n\tCHARGEABLE CALLS: "<<n;  cout<<"\n\tTAX (2%):"<<tax;  cout<<"\n\tCHARGE PER CALL: "<<"Rs.2";  cout<<"\n\tADDITIONAL CHARGES: Rs. 60";

 cout<<"\n\tTOTAL CHARGES: "<<charge;

}

void main()
{
 A:
 clrscr();  tel_bil a;  int choice;
 char ch;
cout<<"\n\t\t______________________________________";
cout<<"\n\n\t\t\tTELEPHONE BILLING SYSTEM";  cout<<"\n\t\t______________________________________";

   while(1)
   {      clrscr();
     cout<<"\n\t\t\t\tOPTIONS";
     cout<<"\n\t1. TO ADD NEW RECORD"
     <<"\n\t2. TO SEE RECORD"
     <<"\n\t3. FOR ENQUIRY"
     <<"\n\t4. TO MODIFY RECORD"
     <<"\n\t5. TO DELETE"
     <<"\n\t6. QUIT"
     <<"\n\n\n\t\t\t\t\t\t   Made By:Abubakr Monazir"
     <<"\n\t\t\t\t\t\t\t Roll No.: 5886282";

     cout<<"\n\n\tENTER YOUR CHOICE: ";
     cin>>choice;
     clrscr();

    if(choice==1)  //to add record
    {
      char no[15];
      int flag;
      long unsigned int p,q;

      file.open("tel.dat",ios::in|ios::binary|ios::out|ios::app|ios::ate);

      cout<<"\n\tENTER TELEPHONE NO.: ";
      cin.get(ch);       cin.getline(no,15);       file.seekg(0);
      flag=0;

       do
       {
           file.read((char*)&a,sizeof(a));
            if(strcmp(a.tel_no,no)==0)
            {
         cout<<"\n\n\t\tTHIS TELEPHONE NO. ALREADY EXIST!!!!";                flag=1;
getch();
break;
            }
       }while(!file.eof());

      file.close();

       if(flag==0)
       {
           file.open("tel.dat",ios::in|ios::binary|ios::out|ios::app|ios::ate);

      file.seekp(0,ios::end);        p=file.tellp();        q=(p/sizeof(a))+1;        strcpy(a.tel_no,no);        a.cons_no=q;
      a.get_data();        file.write((char*)&a,sizeof(a));        cout<<"\n\n\t\tRECORD ADDED...............";
           file.close();
           getch();
       }
    }

    else if(choice==2)    //to see record
    {
      file.open("tel.dat",ios::in|ios::binary|ios::out|ios::app|ios::ate);

      file.seekg(0);
      int t=0;

       while(file.read((char*)&a,sizeof(a)))
          {
       t=1 ;         cout<<"\n\n";
       a.show_data();         getch();
          }

       if(t==0)
       {
      cout<<"\n\n\t\tFILE DOES NOT EXIST.............";        getch();
       }
      file.close();
    }

   else if(choice==3)    //for enquiry
   {
     file.open("tel.dat",ios::in|ios::binary|ios::out|ios::app|ios::ate);      char no1[15];      int i=0;
     cout<<"\n\n\t\tENTER THE TELEPHONE NO.: ";      cin.get(ch);      cin.getline(no1,15);
     file.seekg(0);

      do
      {
          file.read((char*)&a,sizeof(a));

           if(strcmp(a.tel_no,no1)==0)
           {
        a.show_data();          i=1;          getch();
             break;
           }

      }while(!file.eof());

      if(i==0)
      {
     cout<<"\n\n\t\tTHIS TELEPHONE NO. DOES NOT EXIST.........";       getch();
      }
     file.close();
   }

   else if(choice==4)           // for modification
   {
     long unsigned int b;
     int s=0;

     file.open("tel.dat",ios::in|ios::binary|ios::out);

     char no2[15],no3[15];
     file.seekg(0);
     cout<<"\n\n\t\tENTER THE TELEPHONE NO. TO BE MODIFIED: ";
cin.get(ch);
cin.getline(no2,15);

      while(file.read((char*)&a,sizeof(a)) && s==0)
      {
          if(strcmp(a.tel_no,no2)==0)
          {
   a.show_data();
getch();
clrscr();
cout<<"\n\t\t\tENTER NEW RECORDS";    cout<<"\n\n\t\tENTER TELEPHONE NO.: ";    cin.getline(no3,15);
strcpy(a.tel_no,no3);
a.get_data();
int pos=-1*sizeof(a);
 file.seekp(pos,ios::cur);    file.write((char*)&a,sizeof(a));
cout<<"\n\n\t\t RECORD UPDATED...........";
s=1;
            break;
          }
     }

     if(s==0)
     {
       cout<<"\n\n\t\tNO. NOT FOUND......." ;        getch();
     }
     file.close();
   }


   else if(choice==5)  //to delete
   {
     char no[15];      int k=0;
cout<<"\n\n\t\tENTER THE TELEPHONE NO. YOU WANT TO DELETE: ";      cin.get(ch);
     cin.getline(no,15);

     file.open("tel.dat",ios::in|ios::out);      fstream fp2;
     fp2.open("Temp.dat",ios::out);

     file.seekg(0,ios::beg);      fp2.seekg(0,ios::beg);

      while(file.read((char*)&a,sizeof(a)))
          {
            if(strcmp(a.tel_no,no)==0)
              {
           a.show_data();             k=1;
                cout<<"\n\n\t\tRECORD DELETED ......";
         }         else
             fp2.write((char*)&a,sizeof(a));
          }

     fp2.close();      file.close();

      if(k==0)
      {
          cout<<"\n\n\t\tNO. NOT FOUND.......";
      }
     remove("tel.dat");
     rename("Temp.dat","tel.dat");

     getch();
     clrscr();
   }


   else if(choice==6)      //exit
  {getch();
   break;
   }
   else
   goto A;


     }
}     
Comments: