۱۹-خرداد-۱۳۹۱, ۲۲:۳۶:۵۱
سلام : دوستان من برنامه ای نوشتم که ورودی رو از کاربر میگیره و در فایل متنی ذخیره میکنه ، حالا میخوام بدونم اگر ما رکورد هامون زیاد بود و خواستیم بین این همه یکی را حذف کنیم از فایل باید از چه
دستوری استفاده کنیم .
با تشکر
Bvk
من کد رو در اختیارتون قرار میدم تا بهتر متوجه بشید . ممنون میشم اگه درستش کنید .
دستوری استفاده کنیم .
با تشکر
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 c ;
}
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();
}