Pages

Monday, February 13, 2012

Slam Book Project in C/C++


Slam Book Project.

##include<graphics.h>
#include<conio.h>
#include<dos.h>
#include<process.h>
#include<stdio.h>
#include<string.h>
union REGS i,o;
void main()
{
int driver,mode,x,y,but,z; //intialitions of all variables
and
functions
driver = DETECT;
int initmouse(); // to load mouse driver
int resmptr(int p,int q,int r,int s); //restric mouse pointer
within
boundry
int showmptr(); // shows mouse pointer
int getmpos(int *t,int *u, int *v); // captures the current
position of mouse pointer
initgraph(&driver, &mode, "C:\tc\bgi"); //initialize graphics
mode
nare :
setcolor(YELLOW);
outtextxy(250,10,"MY SLAM BOOK");
setcolor(GREEN);
outtextxy(70,70,"I'm sure you'll enjoy filling my slam book as
much
as");
outtextxy(80,80,"I will enjoy reading about you later.");
setcolor(LIGHTGREEN);
rectangle(30,30,635,460);
rectangle(200,100,380,115);
outtextxy(210,105," 1.Add Records");
rectangle(200,120,380,135);
outtextxy(210,125," 2.List Records");
rectangle(200,140,380,155);
outtextxy(210,145," 3.Modify Records");
rectangle(200,160,380,175);
outtextxy(210,165," 4.Delete Records");
rectangle(200,180,300,195);
outtextxy(210,185," 0.Exit");
if(initmouse() == 0)
{ // load mouse
driver if not
closegraph(); // exit the program
restorecrtmode();
printf("
Mouse driver is not loaded");
exit(1);
}
showmptr();
resmptr(30,30,635,460);
setcolor(RED);
outtextxy(70,310,"# Press Add Records button to add a record");
outtextxy(70,330,"# Press List Records button to list records");
outtextxy(70,350,"# Press Modify Records button to modify any
record");
outtextxy(70,370,"# Press Delete Records button to delete
record");
setcolor(13);
setcolor(YELLOW);
outtextxy(200,440,"Press any key to exit program");
FILE *fp,*ft;
char another,choice,ch;
struct frien
{
char urname[40];
char emailid[40];
long int mobno;
};
struct frien f;

char friname[40];
long int recsize;

fp=fopen("FRE.DAT","rb+");
if(fp==NULL)
{
fp=fopen("FRE.DAT","wr+");
if(fp==NULL)
{
puts("Cannot open file");
exit(0);
}
}
recsize=sizeof(f);
while(!kbhit()) // loop until
any
key is pressed
{
getmpos(&but,&x,&y); // capture
current
pointer position when click event happens
if(x>=200 && x<=380 && y>=100 && y<=115 && (but & 1) == 1) //
and
switch to that if loop
{
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
gotoxy(100,100);
printf("
HELLO FRIEND ");
fseek(fp,0,SEEK_END);
another='y';
while(another=='y')
{
printf("

Enter ur Name:-");
scanf("%s",f.urname);
printf("

Enter ur Email ID:-");
scanf("%s",f.emailid);
printf("

Enter ur Mobileno:-");
scanf("%ld",&f.mobno);
fwrite(&f,recsize,1,fp);
printf("

1 record has been added successfully");
printf("

Add another Record (y/n)");
outtextxy(150,380,"PRESS n TO GO TO MAIN SCREEN");
fflush(stdin);
another=getche();
if(another=='n')
{
fflush(stdin);
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
goto nare;
}
}

} //first if ends
else if(x>=200 && x<=380 && y>=120 && y<=135 && (but & 1) == 1)
{
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
outtextxy(100,370,"THESE ARE MY BEST FRIENDS,I LOVE THEM VERY
MUCH");
outtextxy(100,390,"PRESS n TO GO TO MAIN SCREEN");
fseek(fp,0,SEEK_SET);
printf("NAME EMAILID MOBILENO ");
while(fread(&f,recsize,1,fp)==1)
{
printf("
");
printf("%s %s %ld ",f.urname,f.emailid,f.mobno);
printf("
");
}
if(getche()=='n')
{
fflush(stdin);
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
goto nare;
}

} //second if ends

else if(x>=200 && x<=380 && y>=140 && y<=155 && (but & 1) == 1)
{

clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
setcolor(YELLOW);
printf("HELLO");
another='y',ch='y';
while(another=='y')
{
printf("
Enter name of friend to modify:-");
scanf("%s",friname);
if(strcmp(f.urname,friname)==0)
{
printf("

U r stored in my book");
printf("

Are you sure you want to modify the %s
document",friname);
printf("
Then press (y/n)");
fflush(stdin);
ch=getche();
if(ch=='y')
{
rewind(fp);
while(fread(&f,recsize,1,fp)==1)
{
if(strcmp(f.urname,friname)==0)
{
printf("

Enter ur Name:-");
scanf("%s",f.urname);
printf("

Enter ur Email ID:-");
scanf("%s",f.emailid);
printf("

Enter ur Mobileno:-");
scanf("%d",&f.mobno);
fseek(fp,-recsize,SEEK_CUR);
fwrite(&f,recsize,1,fp);
printf("

1 record has been modified successfully");
printf("

Modify another Record(y/n)");
break;
}
}
}
}
else
{
printf("

Sorry ! U r not in my book");
printf("

U can now add urself");
}
outtextxy(100,380,"PRESS n TO GO TO MAIN SCREEN");
if(getche()=='n')
{
fflush(stdin);
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
goto nare;
}
fflush(stdin);
another=getche();
}
}// third if ends

else if(x>=200 && x<=380 && y>=160 && y<=175 && (but & 1) == 1)
{
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
another='y';
while(another=='y')
{
printf("

Enter name of friend to delete:-");
scanf("%s",friname);
if(strcmp(f.urname,friname)!=0)
{
printf("
Sorry ! Ur record is not available

Check the name correctly");

goto sid;
}
ft=fopen("TEMP.DAT","wb");
rewind(fp);
while(fread(&f,recsize,1,fp)==1)
{
if(strcmp(f.urname,friname)!=0)
fwrite(&f,recsize,1,ft);
}
fclose(fp);
fclose(ft);
printf("

Are you sure,then press 'y'");
if(getche()=='y')
{
remove("FRE.DAT");
rename("TEMP.DAT","FRE.DAT");
}
setcolor(WHITE);
outtextxy(40,370,"THE RECORD IS DELETING");
rectangle(40,380,580,405);
for(z=40;z<=580;z++)
{
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
rectangle(40,380,z,405);
delay(10);
setfillstyle(SOLID_FILL,BLUE);
floodfill(42,392,WHITE);
}
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
sid :
printf("

Delete another Record(y/n)");
fflush(stdin);
another=getche();
setcolor(YELLOW);
outtextxy(100,380,"PRESS n TO GO TO MAIN SCREEN");
if(another=='n')
{
fflush(stdin);
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
goto nare;
}
fp=fopen("FRE.DAT","rb+");

}

}// forth if ends

else if(x>=200 && x<=300 && y>=180 && y<=195 && (but & 1) == 1)
{
clrscr();
setfillstyle(SOLID_FILL,BLACK);
floodfill(0,0,BLACK);
setcolor(YELLOW);
outtextxy(120,100,"THANKING YOU FOR USING MY SLAM BOOK");
getch();
fclose(fp);
exit(0);
}// fifth if ends

} // while loop ends
} // main ends

getmpos(int *but,int *x,int *y)
{
i.x.ax = 3;
int86(0x33,&i,&o);
*but = o.x.bx;
*x = o.x.cx;
*y = o.x.dx;
}
initmouse()
{
i.x.ax = 0;
int86(0x33,&i,&o);
return(o.x.ax);
}
showmptr()
{
i.x.ax = 1;
int86(0x33,&i,&o);
}
resmptr(int a,int b,int c,int d)
{
i.x.ax = 7;
i.x.cx = a;
i.x.dx = c;
int86(0x33,&i,&o);
i.x.ax = 8;
i.x.cx = b;
i.x.dx = d;
int86(0x33,&i,&o);
}
 

No comments:

Post a Comment

Vulgar language in this blog is PROHIBITED....