Sunday 9 September 2012

File sorting using c++

#include<stdio.h>
#include<conio.h>
#include<fstream.h>
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
void  create();
void sort();
void search();
int n;
  class student
    {
      public:
         char name[10],marks[10],attendence[10];
         char rollno[10];
         void getdata()
           {
         cout<<"enter student name:"<<endl;
         gets(name);
         cout<<"enter student rollno:"<<endl;
         cin>>rollno;
         cout<<"enter student marks:"<<endl;
         cin>>marks;
         cout<<"enter student attendence:"<<endl;
         cin>>attendence;
           }
           void putdata()
        {
          cout<<name<<"\t"<<rollno<<"\t"<<marks<<"\t"<<attendence<<endl;
        }
      };
   void main()
    {
       clrscr();
       cout<<"enter how many records do u want:"<<endl;
       cin>>n;
       student x,y;
       fstream f1;
       f1.open("namesort.s",ios::out|ios::in);
       for(int i=0;i<n;i++)
     {
       x.getdata();
       f1.write((char *)&x,sizeof(x));
     }
       for(i=0;i<n;i++)
     {
       for(int j=i+1;j<n;j++)
         {
           f1.seekg(i*sizeof(x));
           f1.read((char *)&x,sizeof(x));
           f1.seekg(j*sizeof(y));
           f1.read((char *)&y,sizeof(y));
           if(strcmp(x.name,y.name)>0)
         {
           f1.seekp(i*sizeof(y));
           f1.write((char *)&y,sizeof(y));
           f1.seekp(j*sizeof(x));
           f1.write((char *)&x,sizeof(x));
         }
           }
        }
    f1.close();
    f1.open("namesort.s",ios::in);
    while(f1.read((char *)&x,sizeof(x)))
     {
       x.putdata();
     }
     f1.close();
     getch();
     }

No comments:

Post a Comment