Professional Documents
Culture Documents
Header files */
char ch;
label1:
clrscr();
gotoxy(26,4);cout<<"Welcome "<<pname<<" your id : "<<pid;
gotoxy(20,25);cout<<"Controls:: 'w'==>Up, 's'==>down & 'Enter'==>select"
;
gotoxy(30,6);cout<<"Profile ";
gotoxy(30,7);cout<<"Inbox ";
gotoxy(30,8);cout<<"Compose ";
gotoxy(30,10);cout<<"Log out ";
gotoxy(30,9);cout<<"Delete ";
gotoxy(27,y);cout<<"::";
ch=getch();
if(ch==13)
{
if(y==6||y==7||y==8||y==9||y==10)
return y;
}
else if(ch=='w')
{ y=y-1;
gotoxy(29,y);
}
else if(ch=='s')
{
y=y+1;
gotoxy(29,y);
}
if(y<=5)
y=10;
else if(y>=11)
y=6;
goto label1;
}
void del(char pid[]) //function for deleting account
{ char ch;
clrscr();
ifstream file1("sign",ios::in|ios::binary);
ofstream file2("temp",ios::out|ios::binary);
while(file1.read((char*)&obj,sizeof(obj)))
{
if(strcmp(obj.retid(),pid)==0)
{
cout<<"Are you sure you want to delete account(y/n)..";
cin>>ch;
if(ch=='n')
file2.write((char*)&obj,sizeof(obj));
}
else
file2.write((char*)&obj,sizeof(obj));
}
remove("sign");
rename("temp","sign");
if(ch=='y')
obj.base();
}
void del_mail(char pid[],int n) //for deleting mail or massage
{
int i=0;
char ch;
clrscr();
ifstream fp(pid,ios::binary);
ofstream file2("temp1",ios::out|ios::binary);
while(fp.read((char*)&obj1,sizeof(obj1)))
{
i++;
if(n==i)
{
cout<<"Are you sure you want to delete mail(y/n)..";
cin>>ch;
if(ch=='n')
file2.write((char*)&obj1,sizeof(obj1));
}
else
file2.write((char*)&obj1,sizeof(obj1));
}
remove(pid);
rename("temp1",pid);
}
void profile(char nm[],char pid[]) //user profile information
{ int i=0;
clrscr();
gotoxy(30,6);cout<<"Name ";
puts(nm);
gotoxy(30,7);cout<<"\nId ";
puts(pid);
ifstream fp(pid,ios::binary);
while(fp.read((char*)&obj1,sizeof(obj1)))
i++;
struct date d;
int year,month,day;
getdate(&d);
year=d.da_year;
day=d.da_day;
month=d.da_mon;
cout<<"\n\nToday is\t"<<day<<"/"<<month<<"/"<<year;
gotoxy(30,9);cout<<"\nNo. of mails "<<i;
fp.close();
}
int inbox(char pid[]) //function for user inbox
{
int i=0,n,chkid,x=3;
char ch;
clrscr();
ifstream fp(pid,ios::binary);
ifstream fp1(pid,ios::binary);
while(fp.read((char*)&obj1,sizeof(obj1)))
{ i++;
gotoxy(2,x);cout<<i;
gotoxy(25,x);puts(obj1.to);
gotoxy(45,x);cout<<obj1.day<<"/"<<obj1.month<<"/"<<obj1.year;
x++;
}
if(i!=0)
{
gotoxy(2,1);cout<<"SL no \t\t\tFrom \t\t\tRecived on";
gotoxy(2,x+1);cout<<"Enter the main no. you want to view ";
cin>>chkid;
}
fp.close();
i=0;
clrscr();
while(fp1.read((char*)&obj1,sizeof(obj1)))
{ i++;
if(i==chkid)
{ n=i;
cout<<"\n"<<i<<" => From:: ";
puts(obj1.to);
cout<<endl;
cout<<"Recived on \t"<<obj1.day<<"/"<<obj1.month<<"/"<<o
bj1.year<<endl<<endl;
puts(obj1.message);
cout<<endl;
}
}
if(i==0)
{
cout<<"Sorry,, No mail found"<<"\n\nPress any key to go back";
getch();
}
else
{
back1:
gotoxy(23,23);cout<<"To delete mail Press 'D'";
gotoxy(22,24);cout<<"To go back press backspace ";
ch=getch();
if(ch=='d'||ch=='D')
del_mail(pid,n);
else if(ch==8)
return 0;
else goto back1;
}
fp1.close();
return 0;
}
int compose(char pid[]) //for composing & sending mails
{ first:
clrscr();
int k;
char rid[30],opt;
opt=NULL;
cout<<"Press 'y' to compose and send massage.. ";
cin>>opt;
if(opt=='y'||opt=='Y')
{
cout<<"To (reciver id) => ";
gets(rid);
k=checkid(rid);
if(k!=0||strcmp(rid,pid)==0)
{
cout<<"\n\n\tplease enter valid id";
getch();
goto first; }
else
{ fstream cfile(rid,ios::in|ios::binary|ios::app);
strcpy(obj1.to,pid);
cout<<"Enter Message => ";
gets(obj1.message);
struct date d;
getdate(&d);
obj1.year=d.da_year;
obj1.day=d.da_day;
obj1.month=d.da_mon;
cfile.write((char*)&obj1,sizeof(obj1));
cfile.close();
cout<<"Massage sent!!!";
} }
else if(opt=='n'||opt=='N')
return 0;
else
goto first;
}
int mail() //for calling selected option
{ int y;
mlabel:
clrscr();
char ch;
gotoxy(20,25);cout<<"Controls:: 'w'==>Up, 's'==>down & 'Enter'==>select"
;
y=menu(pname,pid);
if(y==6)
profile(pname,pid);
else if(y==7)
{
inbox(pid);
goto mlabel;
}
else if(y==8)
compose(pid);
else if(y==10)
{
return 0;
}
else if(y==9)
del(pid);
if(y!=7)
{
back:
gotoxy(24,24);cout<<"Press backspace to go back";
ch=getch();
if(ch==8)
goto mlabel;
else goto back;
}
return 0;
}
void email::signup()
//function for creating account
{ clrscr();
char ch,nm[30],name1[30];
int x=43,k,i=0;
fstream file("sign",ios::in|ios::binary|ios::app);
gotoxy(25,5);cout<<"Enter your detail below";
gotoxy(25,6);cout<<"Name :=>";
gotoxy(43,6);gets(name1);
gotoxy(25,7);cout<<"your new id :=>";
gotoxy(43,7);gets(nm);
k=checkid(nm);
if(k!=0)
{
gotoxy(25,8);cout<<"Password
:=>";
gotoxy(25,9);cout<<"(4 digit numeric password)";
while(i>=0||i<5)
{
gotoxy(x,8);ch=getch();
if(ch==8)
{ i=i-1;
x=x-1;
cout<<"\b";
}
else if(ch==13)
{
pass[i]='\0';
break;
}
else
{
cout<<"*";
obj.pass[i]=ch;
i++;
x+=1; }
}
strcpy(obj.name,name1);
strcpy(obj.id,nm);
file.write((char*)&obj,sizeof(obj));
fstream pro(nm,ios::in|ios::out|ios::binary);
}
else
{
}
void email::login() //function for login in account
{
int k,l,x=46,i=0;
clrscr();
char nm[30],ch,pas[10];
gotoxy(25,6);cout<<"Enter your ID";
gotoxy(46,6);gets(nm);
gotoxy(25,8);cout<<"Enter your password";
while(i>=0||i<5)
{
gotoxy(x,8);ch=getch();
if(ch==8)
{ i=i-1;
x=x-1;
cout<<"\b";
}
else if(ch==13)
{
pas[i]='\0';
break;
}
else
{
cout<<"*";
pas[i]=ch;
i++;
x+=1; }
}
l=checkpas(pas); //password cheaking function is called
k=checkid(nm);
//id cheaking function is called
if(k!=0 || l!=0)
{
gotoxy(30,10);cout<<"Id or password is incorrect";
getch();
}
else
{ strcpy(pid,tid);
strcpy(pname,tname);
mail();
}
}
int email::base()
{ char ch;
int y=10;
label:
clrscr();