ايران ويج

نسخه‌ی کامل: حذف رکورد مشخص در فایل در C++‎
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام : دوستان من برنامه ای نوشتم که ورودی رو از کاربر میگیره و در فایل متنی ذخیره میکنه ، حالا میخوام بدونم اگر ما رکورد هامون زیاد بود و خواستیم بین این همه یکی را حذف کنیم از فایل باید از چه

دستوری استفاده کنیم .

با تشکر
Bvk

من کد رو در اختیارتون قرار میدم تا بهتر متوجه بشید . ممنون میشم اگه درستش کنید .

کد php:
# include <fstream>
# include <iostream>
# include <string.h>
using namespace std;
 
class 
Daftarche
{
   private :
        
char name[20];
        
char family[40];
        
char phone[20];
    
   public :
         
int menu();
         
void add ();
         
void view();
         
void find();
         
void About();
};
 
void  main ()
{
   
Daftarche s;
   
int temp;
   
int exit=0;
   while (!exit)
   {
      
temp=s.menu();
      if (
temp==1)
         
s.add();
 
      if (
temp==2)
         
s.view();
 
      if (
temp==3)
         
s.find();
 
      if (
temp==4)
         
s.About();
 
      if (
temp==5)
      {
        
cout<<"\n\n\n\n\n\n\t***************************GO  OD BYE*************************";
         exit=
1;
      }
   }
 
}
int Daftarche::menu ()
         {
            
int c;
                 
                
cout<<"\n\t\t\t\t       Menu";
            
cout<<"\n\t\t\t__________________________________"  ;
                
cout<<"\n\n\t\t\t*********************************  *";
            
cout<<"\n\t\t\t*  1.Add              *";
                
cout<<"\n\t\t\t**********************************"  ;
                
cout<<"\n\n\n\t\t\t*******************************  ***";
                
cout<<"\n\t\t\t*  2.View List        *";
                
cout<<"\n\t\t\t**********************************"  ;
                
cout<<"\n\n\n\t\t\t*******************************  ***";
                
cout<<"\n\t\t\t*  3.Search           *";
            
cout<<"\n\t\t\t**********************************"  ;
            
cout<<"\n\n\n\t\t\t*******************************  ***";
                
cout<<"\n\t\t\t*  4.About Me             *";
                
cout<<"\n\t\t\t**********************************"  ;
                
cout<<"\n\n\n\t\t\t*******************************  ***";
                
cout<<"\n\t\t\t*  5.Exit             *";
                
cout<<"\n\t\t\t**********************************"  ;
                
cout<<"\n\t\t\t__________________________________"  ;
                
cout<<"\n\n\t\t\t Yek Gozine Vared Konid (1-5) :";
                
cin>>c;
                if((
c<=5)&&(c>0))
            {
                return 
;
                }
                
menu();
                return 
0;
 
            }
void Daftarche::add ()
         {
            
Daftarche set;
                
ofstream myfile("Address.txt"ios::app); //تمام عملیات خروجی در انتهای فایل انجام می شود. محتوای فعلی به محتوای قبلی اضافه می شود.ios::app
                
if(!myfile)
                {
                
cout<<" Can Not Open File .";
                 
 
            }
    
                
cout<<"\n\n\t\tEnter First name : ";
                
cin>>set.name;
                
cout<<"\n\n\t\tEnter Last name : ";
                
cin>>set.family;
                
cout<<"\n\n\t\tEnter Phone Number : ";
                
cin>>set.phone;
             
            
myfile<< set.name<<" "<< set.family <<" "<< set.phone <<" "<<"\n" ;
                
myfile.close();
         }
void Daftarche::view()
         {
            
Daftarche set;
         
                
ifstream myfile("address.txt");
          
 
                while (!
myfile.eof())
                {
 
                    
myfile >>set.name>>set.family>>set.phone;
                 
cout<< " \n\n\t\t First Name : " <<set.name<<"\n\t\t Last Name : "<<set.family
                        
<<"\n\t\t Phone Number : "<<set.phone<<endl;
 
                }
                
myfile.close();
  
            }
 
          
void Daftarche::About ()
{
    
cout<<"\t\t***************************************  ***********"
                
cout<<"\n\t\t\t    Project : Phone Book"
                
cout<<"\n\t\t\t    Name Student : Behrooz   Last Name : Bvk";
                 
                 
                
cout<<"\t\t***************************************  ***********"
}
 
 
void Daftarche::find ()
        {
            
Daftarche set;
            
char id[20];
             
            
cout<<"\n\n\tEnter Phone Number : ";
            
cin>>id;
            
ifstream myfile("address.txt");
        
myfile >>set.name>>set.family>>set.phone;
        if(!
myfile)
            {
            
cout<<" Can Not Open File .";
     
            }
            while(!
myfile.eof())        //آیا در انتهای فایل باز شده می باشد یا خیر : eof
            
{
 
            if(! 
strcmp(id,set.phone))
            {
     
                
cout<< " \n\n\t\t First Name : " <<set.name<<"\n\t\t Last Name : "<<set.family
                
<<"\n\t\t Phone Number : "<<set.phone;
                break;
            }
            
myfile >>set.name>>set.family>>set.phone;
        }
            if(
myfile.eof())
           {
     
                
cout<<"\n\n\n\t\t****************** Sorry **********************\n\n";
                
cout<<"\t\t\t Mokhatabe Vared Shode Mojod Nemibashad";
        }
            
myfile.close();
    
        }