Upload files to '.'
This commit is contained in:
		
							
								
								
									
										164
									
								
								main.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										164
									
								
								main.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,164 @@
 | 
				
			|||||||
 | 
					#include <iostream>
 | 
				
			||||||
 | 
					#include <fstream>
 | 
				
			||||||
 | 
					#include <conio.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace std;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Student{
 | 
				
			||||||
 | 
					int roll;
 | 
				
			||||||
 | 
					char name[25];
 | 
				
			||||||
 | 
					float marks;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void getdata()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					cout<<"\n\nEnter Roll:";
 | 
				
			||||||
 | 
					cin>>roll;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cout<<"\n\nEnter Name:";
 | 
				
			||||||
 | 
					cin>>name;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cout<<"\n\nEnter Marks:";
 | 
				
			||||||
 | 
					cin>>marks;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void putdata()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    cout<<"\n\t"<<roll<<"\t"<<name<<"\t"<<marks;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    void modify();
 | 
				
			||||||
 | 
					    int getrno()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					    return roll;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    void Display()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        fstream f;
 | 
				
			||||||
 | 
					        Student Stu;
 | 
				
			||||||
 | 
					        f.open("Student.dat",ios::in|ios::binary);
 | 
				
			||||||
 | 
					        cout<<"\n\tRoll\tName\tMarks\n";
 | 
				
			||||||
 | 
					        while((f.read((char*)&Stu,sizeof(Stu)))!=NULL)
 | 
				
			||||||
 | 
					            Stu.putdata();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        f.close();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    void AddRecord()
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        fstream f;
 | 
				
			||||||
 | 
					        Student Stu;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        f.open("Student.dat",ios::app|ios::binary);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        Stu.getdata();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        f.write((char*) &Stu, sizeof(Stu));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        f.close();
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}stud1,stud;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void Student::modify()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    cout<<"Rollno:"<<roll<<"\n";
 | 
				
			||||||
 | 
					    cout<<"Name:"<<name<<"\tMarks:"<<marks<<"\n";
 | 
				
			||||||
 | 
					    cout<<"Enter new details.\n";
 | 
				
			||||||
 | 
					    char nam[20]="";
 | 
				
			||||||
 | 
					    float mks;
 | 
				
			||||||
 | 
					    cout<<"New name:(Enter '.' to retain old one)";
 | 
				
			||||||
 | 
					    cin>>nam;
 | 
				
			||||||
 | 
					    cout<<"New marks:(Press -1 to retain old one)";
 | 
				
			||||||
 | 
					    cin>>mks;
 | 
				
			||||||
 | 
					    if(strcmp(nam,".")!=0){strcpy(name,nam);}
 | 
				
			||||||
 | 
					    if(mks!=-1)marks=mks;
 | 
				
			||||||
 | 
					    cout<<endl<<marks;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void deleter()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    ifstream fd;
 | 
				
			||||||
 | 
					    ofstream ft;
 | 
				
			||||||
 | 
					    fd.open("Student.dat",ios::binary);
 | 
				
			||||||
 | 
					    ft.open("temp.dat",ios::binary);
 | 
				
			||||||
 | 
					    int flagd=0;
 | 
				
			||||||
 | 
					    //char conf='y';
 | 
				
			||||||
 | 
					    Student st;
 | 
				
			||||||
 | 
					    cout<<"Enter student rollno to delete:";
 | 
				
			||||||
 | 
					    int rno;
 | 
				
			||||||
 | 
					    cin>>rno;
 | 
				
			||||||
 | 
					    while((fd.read((char*)&st,sizeof(st)))!=NULL)
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        if(st.getrno()!=rno)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            flagd=1;
 | 
				
			||||||
 | 
					            ft.write((char*)&st,sizeof(st));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    fd.close();
 | 
				
			||||||
 | 
					    ft.close();
 | 
				
			||||||
 | 
					    if(flagd==0)cout<<"\nSpecified student not found :";
 | 
				
			||||||
 | 
					    remove("Student.dat");
 | 
				
			||||||
 | 
					    rename("temp.dat","Student.dat");
 | 
				
			||||||
 | 
					    remove("temp.dat");
 | 
				
			||||||
 | 
					    cout<<"\nProcess complete";
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					int main()
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    int found=0;
 | 
				
			||||||
 | 
					    Student S;
 | 
				
			||||||
 | 
					    int op;
 | 
				
			||||||
 | 
					    fstream fio;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    do
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        cout<<"\n1.Add\n";
 | 
				
			||||||
 | 
					        cout<<"2.Display\n";
 | 
				
			||||||
 | 
					        cout<<"3.Edit\n";
 | 
				
			||||||
 | 
					        cout<<"4.Delete\n";
 | 
				
			||||||
 | 
					        cout<<"5.Exit\n";
 | 
				
			||||||
 | 
					        cout<<"Enter the options\n";
 | 
				
			||||||
 | 
					        cin>>op;
 | 
				
			||||||
 | 
					        switch(op){
 | 
				
			||||||
 | 
					        case 1:S.AddRecord();break;
 | 
				
			||||||
 | 
					        case 2:S.Display();break;
 | 
				
			||||||
 | 
					        case 3: fio.open("Student.dat",ios::in|ios::out);
 | 
				
			||||||
 | 
					                int rno;
 | 
				
			||||||
 | 
					                long pos;
 | 
				
			||||||
 | 
					                //char found='f';
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                cout<<"Enter rollno of student whose record is to be modified:";
 | 
				
			||||||
 | 
					                cin>>rno;
 | 
				
			||||||
 | 
					                cout<<"Beginning"<<fio.tellg();
 | 
				
			||||||
 | 
					                system("pause");
 | 
				
			||||||
 | 
					                while(!fio.eof())
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    pos=fio.tellg();
 | 
				
			||||||
 | 
					                    cout<<"Position"<<pos<<endl;
 | 
				
			||||||
 | 
					                    fio.read((char*)&stud1,sizeof(stud1));
 | 
				
			||||||
 | 
					                    if(stud1.getrno()==rno)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        cout<<"match"<<endl;
 | 
				
			||||||
 | 
					                        stud1.modify();
 | 
				
			||||||
 | 
					                        fio.seekg(pos);
 | 
				
			||||||
 | 
					                        fio.write((char*)&stud1,sizeof(stud1));
 | 
				
			||||||
 | 
					                        fio.close();
 | 
				
			||||||
 | 
					                        found=1;
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    }}
 | 
				
			||||||
 | 
					                    //if (found==0)cout<<"\nRecord not found in the file..!!\n";
 | 
				
			||||||
 | 
					                break;
 | 
				
			||||||
 | 
					        case 4: deleter();break;
 | 
				
			||||||
 | 
					        case 5:exit(0);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }while(1);
 | 
				
			||||||
 | 
					    cout<<"\nData written succesfully...";
 | 
				
			||||||
 | 
					    return 0;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user