Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- #include<stdlib.h>
- typedef struct student
- {
- char name[20];
- char gender;
- int years;
- struct student *nextp;
- struct student *prevp;
- }friend;
- void carinama(friend* pfriend,char nama[20]);
- void displaymale(friend* pfriend);
- void displayfemale(friend* pfriend);
- void displayumurteman(friend* pfriend,int n);
- int main()
- {
- friend *pfrtemp,*pfrbefore,*pfrhead,*pfrtail;
- FILE *fop;
- char comma;
- float nilai;
- char fname[20];
- strcpy(fname,"myfriend.txt");
- if(!(fop=fopen(fname,"r")))
- {
- printf("cannot open this file !!\n");
- return 0;
- }
- else
- {
- printf("open file success !! \n");
- pfrtemp=malloc(sizeof(friend));
- fscanf(fop,"%[^,]",pfrtemp->name);
- fscanf(fop,"%c",&comma);
- if(!feof(fop))
- {
- pfrhead=pfrtemp;
- pfrtemp->prevp=NULL;
- }
- else
- {
- free(pfrtemp);
- }
- while(!feof(fop))
- {
- fscanf(fop,"%c",&pfrtemp->gender);
- fscanf(fop,"%c",&comma);
- fscanf(fop,"%d",&pfrtemp->years);
- fscanf(fop,"%c",&comma);
- pfrbefore=pfrtemp;
- pfrtemp=malloc(sizeof(friend));
- fscanf(fop,"%[^,]",pfrtemp->name);
- fscanf(fop,"%c",&comma);
- if(!feof(fop))
- {
- pfrbefore->nextp=pfrtemp;
- pfrtemp->prevp=pfrbefore;
- }
- else
- {
- pfrbefore->nextp=NULL;
- pfrtail=pfrbefore;
- free(pfrtemp);
- }
- }
- }
- fclose(fop);
- displayfromhead(pfrhead);
- displayfromtail(pfrtail);
- displayndarihead(pfrhead,1);
- displayndaritail(pfrtail,1);
- carinama(pfrhead,"kamu");
- return 0;
- }
- void carinama(friend* pfriend,char nama[20])
- {
- char *pnama;
- pnama=nama;
- while(pfriend!=NULL)
- {
- if(!strcmp(pfriend->name,pnama)){
- printf("cari nama:\n");
- printf("Name : %s \n",pfriend->name);
- printf("Gender : %c \n",pfriend->gender);
- printf("registration years : %d \n",pfriend->years);
- printf("\n");
- break;
- }
- pfriend=pfriend->nextp;
- }
- }
- void displaymale(friend* pfriend)
- {
- while(pfriend!=NULL)
- {
- printf("display FROM HEAD:\n");
- printf("Name : %s \n",pfriend->name);
- printf("Gender : %c \n",pfriend->gender);
- printf("registration years : %d \n",pfriend->years);
- pfriend=pfriend->nextp;
- printf("\n");
- }
- printf("\n\n");
- }
- void displayfemale(friend* pfriend)
- {
- while(pfriend!=NULL)
- {
- printf("display FROM TAIL:\n");
- printf("Name : %s \n",pfriend->name);
- printf("Gender : %c \n",pfriend->gender);
- printf("registration years : %d \n",pfriend->years);
- pfriend=pfriend->prevp;
- printf("\n");
- }
- printf("\n\n");
- }
- void displayumurteman(friend* pfriend,int n)
- {
- int i;
- for(i=0;i<n;i++)
- {
- printf("display N dari head:\n");
- printf("Name : %s \n",pfriend->name);
- printf("Gender : %c \n",pfriend->gender);
- printf("registration years : %d \n",pfriend->years);
- pfriend=pfriend->nextp;
- printf("\n");
- }
- printf("\n\n");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement