C, C++ codes
C code for File operations
#include<stdio.h>
#include<conio.h>
void creat(char *fname,char *m);
void getdata(int total);
void search(char *fname,long int ac_no) ;
void copy(char * fname,char * fname2);
void display(char * fname);
void dell(char *fname,long int ac_no) ;
void modify(char *fname,long int ac_no) ;
struct bank
{ long int acc_no;
char cust_name[10],acc_type[10];
float bal;
};
void main()
{
int ch,total;
long int ac_no;
char *fname,*mode,*fname2;
FILE *fp;
// struct bank bk1;
clrscr();
do
{
printf("\nMenu\nPress :");
printf("\n1. Creat a new file\n2. Open file (or creat if necsessary)");
printf("\n3. Dlete record\n4. Serach the record\n5. Modify");
printf("\n6. copy\n7. dipslay\n8. Exit");
printf("\n\n Enter your choise :");
scanf("%d",&ch);
switch(ch)
{
case 1:
{
printf("Enter the File name:");
scanf("%s",fname);
printf("\nEnter file mode :");
scanf("%s",mode);
creat(fname,mode);
// fclose(fp);
}
break;
case 3:
{
printf("Enter the File name:");
scanf("%s",fname);
printf("Enter the account no that U wnt to Delet :");
scanf("%ld",&ac_no);
dell(fname,ac_no);
}
break;
case 4:
{
printf("Enter the File name:");
scanf("%s",fname);
printf("\nEnter Account no :");
scanf("%ld",&ac_no);
search(fname,ac_no);
}
break;
case 5:
{
printf("Enter the File name:");
scanf("%s",fname);
printf("Enter the account no that U wnt to modify: ");
scanf("%ld",&ac_no);
modify(fname,ac_no);
}
break;
case 6:
{ printf("Enter the First File name:");
scanf("%s",fname);
printf("Enter the File name:");
scanf("%s",fname2);
copy(fname,fname2);
}
break;
case 7:
{ printf("\nEnter the File name:");
scanf("%s",fname);
display(fname);
}
break;
}
}while(ch!=8);
printf("");
}
void creat(char * fname,char * mode)
{ int total,i;
FILE *fp;
struct bank bk1;
fp=fopen(fname,mode);
if(ferror(fp))
printf("\nError to creat file");
printf("\nEnter how many record you want :");
scanf("%d",&total);
for(i=0;i<total;i++)
{
printf("\nEnter account no: ");
scanf("%ld",&bk1.acc_no);
printf("\nEnter customer name: ");
scanf("%s",bk1.cust_name);
printf("Enter the acc_type: ");
scanf("%s",bk1.acc_type) ;
printf("\nEnter Balance: ");
scanf("%f",&bk1.bal);
fwrite(&bk1,sizeof(bk1),1,fp);
printf("%d",i);
flushall();
}
fclose(fp);
}
void search(char * fname,long int ac_no)
{
FILE *fp;
struct bank bk1;
fp=fopen(fname,"r");
if(ferror(fp))
printf("\nError to creat file");
while(fread(&bk1,sizeof(bk1),1,fp))
{ if(ac_no==bk1.acc_no)
{ printf("\nrecor found :\n acc_no:%ld",bk1.acc_no);
printf("\n Name : %s",bk1.cust_name);
printf("\n Tpye : %s",bk1.acc_type);
printf("\n Balance : %f",bk1.bal);
}
}
fclose(fp);
}
void copy(char * fname,char * fname2)
{ FILE *fp,*fp2;
int s;
fp=fopen(fname,"r");
fp2=fopen(fname2,"w");
while((s=fgetc(fp))!=EOF)
{ fputc(s,fp2);
}
fclose(fp);
fclose(fp2);
printf("\nData copy eNJOY");
}
void display(char * fname)
{
FILE *fp;
struct bank bk1;
fp=fopen(fname,"r");
if(ferror(fp))
printf("\nError to creat file");
while(fread(&bk1,sizeof(bk1),1,fp))
{
printf("\nrecor found :\n acc_no:%ld",bk1.acc_no);
printf("\n Name : %s",bk1.cust_name);
printf("\n Tpye : %s",bk1.acc_type);
printf("\n Balance : %f",bk1.bal);
}
fclose(fp);
}
void dell(char *fname,long int ac_no)
{ // int x;
char *q;
FILE *fp,*fp1;
struct bank bk1;
fp=fopen(fname,"r");
fp1=fopen("temp.txt","w");
q=fname;
if(ferror(fp)||ferror(fp1))
printf("\nError to creat file");
// if (x==0)
// {
while(fread(&bk1,sizeof(bk1),1,fp))
{
if (ac_no!=bk1.acc_no)
{ fwrite(&bk1,sizeof(bk1),1,fp1);
}
}
// }
fclose(fp1);
fclose(fp);
printf("Data delete succesfully :");
remove(fname);
rename("temp.txt",q);
}
void modify(char *fname,long int ac_no)
{ // int x;
char *q;
FILE *fp,*fp1;
struct bank bk1;
fp=fopen(fname,"r");
fp1=fopen("temp.txt","w");
q=fname;
if(ferror(fp)||ferror(fp1))
printf("\nError to creat file");
while(fread(&bk1,sizeof(bk1),1,fp))
{ if(ac_no==bk1.acc_no)
{
printf("\n Enter New data :");
printf("\nEnter account no: ");
scanf("%ld",&bk1.acc_no);
printf("\nEnter customer name: ");
scanf("%s",bk1.cust_name);
printf("Enter the acc_type: ");
scanf("%s",bk1.acc_type) ;
printf("\nEnter Balance: ");
scanf("%f",&bk1.bal);
fwrite(&bk1,sizeof(bk1),1,fp1);
}
else
fwrite(&bk1,sizeof(bk1),1,fp1);
}
fclose(fp1);
fclose(fp);
printf("Data modify succesfully :");
remove(fname);
rename("temp.txt",q);
}