Wednesday, 3 October 2012

File Handling in C Language Add Modify Delete and List


#include<conio.h>
#include<process.h>
#include<stdio.h>
struct employee
{
char name[20];
long int age,empno;
long int salary;
};

void main()
{
struct employee e;
FILE *pt,*fp;
int choice;
long int temp,counter=0;
long int recsize;
fp=fopen("Emp.dat","rb+");
if(fp==NULL)
{
fp=fopen("Emp.dat","wb+");
if(fp==NULL)
{
puts("Cannot open file");
exit(1);
}
}
recsize=sizeof(e);
while(choice!=0)
{
clrscr();
printf("\n\t\t1.Add");
printf("\n\t\t2.Delete");
printf("\n\t\t3.List");
printf("\n\t\t4.Modify");
printf("\n\n\t\tEnter Your choice");
scanf("%d",&choice);
switch(choice)
{
case 1:
fseek(fp,0,SEEK_END);
printf("Enter Empno");
scanf("%ld",&e.empno);
printf("Enter Name");
scanf("%s",e.name);
printf("Enter Salary");
scanf("%ld",&e.salary);
printf("Enter Age");
scanf("%ld",&e.age);
fwrite(&e,sizeof(e),1,fp);
break;
case 2:
long int location=0;
printf("Enter Empno to modify:");
scanf("%ld",&temp);
rewind(fp);
while(fread(&e,sizeof(e),1,fp)==1)
{
if(temp==e.empno)
{
printf("Enter Empno");
scanf("%ld",&e.empno);
printf("Enter Name");
scanf("%s",e.name);
printf("Enter Salary");
scanf("%ld",&e.salary);
printf("Enter Age");
scanf("%ld",&e.age);

//location=sizeof(e)*counter;

fseek(fp,-recsize,SEEK_CUR);
fwrite(&e,recsize,1,fp);
}
counter++;
}
printf("%d counter=",counter);
break;
case 3:
rewind(fp);
while(fread(&e,sizeof(e),1,fp)==1)
{
printf("\n\nEmpno %10ld",e.empno);
printf("\nName    %10s",e.name);
printf("\nSalary  %10ld",e.salary);
printf("\nAge     %10ld",e.age);
}
break;
}

getch();
}
}






Under Standing Loops


Question :1

 #include<stdio.h>
 #include<conio.h>
 void main()
 {
 int i,sp=40,s=0,m,j;
 clrscr();
 for(int k=0;k<=7;k++)
{

for (i=1;i<=sp;i++)
  {printf(" ");}
    printf("*");

       if (k==3)
   {
   printf(" * * *\n");}
    sp=sp-1;
   if(k!=3)
   {
for (i=1;i<=s;i++)
  {printf(" ");}
     printf("*\n");

}
   s=s+2;

} getch();
 }

Question 2:

#include<stdio.h>
#include<conio.h>
void main()
{
int i,j;
clrscr();
for(i=5;i>=1;i--)
{
for (j=1;j<=i;j++)
{
printf("%d",i);
}
printf("\n");
}
getch();
}