Thanks.This is my code but It's fautl:
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX_LEN 100
typedef char Elementtype; /*Store the elements*/
typedef struct queue{
Elementtype element[MAX_LEN];
int front,rear;
}queue;
void makenull_queue(queue *q) /*Initialize and check the status*/
{
q->front=-1;
q->rear=-1;
}
int Empty_queue(queue *q)
{
return q->front==-1;
}
int Full_queue(queue *q)
{
return (q->rear-q->front+1)==MAX_LEN;
}
void Enqueue(Elementtype x,queue *q)
{
if(!Full_queue(q))
{
if(Empty_queue(q))
q->front=0;
q->rear=q->rear+1;
q->element[q->rear]=x;
}
else
{
printf("Queue is Full\n");
}
}
void Dequeue(queue *q)
{
if(!Empty_queue(q))
{
q->front=q->front+1;
if(q->front>q->rear)
makenull_queue(q); /*Queue become empty*/
}
else
{
Printf("Queue is Empty\n");
}
}
struct address{
char name[30];
char tel[12];
char mail[30];
}address;
main()
{
FILE *fptr1,*fptr2;
int i;
char *s;
queue *q;
struct address hs[3];
for(i=0;i<3;i++)
{
printf("Name:");scanf("%s",hs[i].name);
printf("Phone:");scanf("%s",hs[i].tel);
printf("Email:");scanf("%s",hs[i].mail);
}
if((fptr1=fopen("Add1.txt","w+"))==NULL)
{
printf("Can not file Add1.txt\n");
}
/*Write data into file*/
for(i=0;i<3;i++)
{
fprintf(fptr1,"%s\n",hs[i].name);
fprintf(fptr1,"%s\n",hs[i].tel);
fprintf(fptr1,"%s\n",hs[i].mail);
}
fclose(fptr1);
fptr1=fopen("Add1.txt","r");
fptr2=fopen("Add2.txt","w+");
makenull_queue(q);
i=0;
while((fgets(s,200,fptr1))!=NULL)
{
Enqueue(s,q);
fprintf(fptr2,"%s\n",q->element[i]); /* Write each element into file*/
i++;
}
}