File Management System
File Management System
#include<iostream>
#include <string.h>
struct FData{
char data;
int nextIndex;
};
struct File{
string fileName;
string fileExt;
int start;
int fileIndex;
};
class FileManagement
private:
FData fileData[500];
File Fileinfo[50];
public:
FileManagement()
for(int i =0 ; i<500;i++)
fileData[i].nextIndex=-1;
fileData[499].nextIndex=-3;
for(int i =0 ; i<50;i++)
Fileinfo[i].fileIndex=-1;
}
Fileinfo[49].fileIndex=-3;
int i,k,n=0,y=0,j;
int lenght=strlen(filedata);
while(fileData[i].nextIndex!=-1)
i++;
cout<<"\n";
while(Fileinfo[j].fileIndex!=-1)
j++;
Fileinfo[j].start=i;
Fileinfo[j].fileIndex=j;
Fileinfo[j].fileName=fName;
Fileinfo[j].fileExt=Ext;
n=i;
while(y<lenght)
fileData[n].data=filedata[k];
fileData[n].nextIndex=n;
n++;
y++;
k++;
fileData[n].nextIndex=-2;
}
bool deleteFile(string fName,string ext)
int n=0;
int start=-1;
int j=0 ;
while(Fileinfo[n].fileIndex!=-1)
if((Fileinfo[n].fileName==fName)&&
(Fileinfo[n].fileExt==ext))
start=Fileinfo[n].start;
Fileinfo[n].fileIndex=-1;
n++;
if(start!=-1)
fileData[i].nextIndex=-1;
return true;
else
return false;
int n=0;
int start=-1;
int j=0 ;
while(Fileinfo[n].fileIndex!=-1)
if((Fileinfo[n].fileName==Fname)&&
(Fileinfo[n].fileExt==ext))
start=Fileinfo[n].start;
n++;
if(start!=-1)
cout<<"Data:\n";
cout<<fileData[fileData[i].nextIndex].data<<"";
return true;
else
return false;
};
int main()
{
int i, opt = 1;
int num;
FileManagement file;
string fName;
string Ext;
char fileData[100];
while (opt != 0)
switch(opt)
case 1:
cin>>fName;
cin>>Ext;
cin>>fileData;
file.createFile(fName,Ext,fileData);
break;
case 2:
cin>>fName;
cin>>Ext;
if(file.deleteFile(fName,Ext))
else
break;
case 3:
cin>>fName;
cin>>Ext;
if(file.viewFile(fName,Ext))
else
break;