Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<string.h>
- struct date{
- int day;
- int month;
- int years;
- }dt;
- struct members{
- char name[30];
- int id;
- char depart[30];
- struct date dt;
- float marks;
- }member1,member2[];
- FILE * fptr;
- int i = 0;
- void record(){
- //GETTING TRANSACTION
- printf("\nRECORD MEMBER INFORMATION\n");
- printf("National ID:");
- scanf("%d",&member1.id);
- printf("Name: ");
- scanf("%s",member1.name);
- printf("DATE OF BIRTH\n");
- printf("DAY: ");
- scanf("%d",&member1.dt.day);
- printf("MONTH: ");
- scanf("%d",&member1.dt.month);
- printf("YEAR: ");
- scanf("%d",&member1.dt.years);
- printf("Amount: ");
- scanf("%f",&member1.marks);
- printf("Address: ");
- scanf("%s",member1.depart);
- //SAVING INTO FILE
- fptr = fopen("members.txt","a+");
- fprintf(fptr,"%d\t%s\t%d\t%d\t%d\t%f\t%s",member1.id,member1.name,member1.dt.day,member1.dt.month,member1.dt.years,member1.marks,member1.depart);
- fprintf(fptr,"\n");
- }
- void displaying()
- {
- char ch;
- int idd,d,m,y;
- float mark;
- char nam[50],dep[50];
- fptr = fopen("members.txt","r");
- if(fptr != NULL)
- {
- while(!feof(fptr))
- {
- fscanf(fptr,"%d\t%s\t%d\t%d\t%d\t%f\t%s",&idd,nam,&d,&m,&y,&mark,dep);
- printf("%d\t%s\t%d-%d-%d\t%f\t%s\n",idd,nam,d,m,y,mark,dep);
- }
- }
- else
- {
- printf("\nINFORMATION NOT EXIST!!!!\n");
- }
- }
- void sorting(){
- int idd,d,m,y;
- float mark;
- char nam[50],dep[50];
- fptr = fopen("members.txt","r");
- if(fptr != NULL)
- {
- while(!feof(fptr))
- {
- fscanf(fptr,"%d\t%s\t%d\t%d\t%d\t%f\t%s",&idd,nam,&d,&m,&y,&mark,dep);
- member2[i].id=idd;
- strcpy(member2[i].name,nam);
- member2[i].dt.day=d;
- member2[i].dt.month=m;
- member2[i].dt.years=y;
- member2[i].marks = mark;
- strcpy(member2[i].depart,dep);
- i++;
- }
- //SWAPPING DISPLAY
- int j,k,tid,td,tm,ty,tmark;
- char swapn[50],swappd[50];
- for(j = 0;j<i;j++)
- {
- for(k = j+1;k<i;k++)
- {
- if(member2[j].marks<member2[k].marks)
- {
- //SWAPPING NAME
- strcpy(swapn,member2[j].name);
- strcpy(member2[j].name,member2[k].name);
- strcpy(member2[k].name,swapn);
- //SWAPPING ID
- tid = member2[j].id;
- member2[j].id = member2[k].id;
- member2[k].id = tid;
- //SWAPPING DAY
- td = member2[j].dt.day;
- member2[j].dt.day = member2[k].dt.day;
- member2[k].dt.day = td;
- //SWAPPING MONTH
- tm = member2[j].dt.month;
- member2[j].dt.month = member2[k].dt.month;
- member2[k].dt.month = tm;
- //SWAPPING YEAR
- ty = member2[j].dt.years;
- member2[j].dt.years = member2[k].dt.years;
- member2[k].dt.years = ty;
- //SWAPPING MARKS
- tmark = member2[j].marks;
- member2[j].marks = member2[k].marks;
- member2[k].marks = ty;
- }
- }
- }
- for(j = 0; j<i;j++)//displaying ARRAY OF STRUCTURE
- {
- printf("%d\t%s\t%d-%d-%d\t%f\t%s\n",member2[j].id,member2[j].name,member2[j].dt.day,member2[j].dt.month,member2[j].dt.years,member2[j].marks,member2[j].depart);
- }
- fclose(fptr);
- }
- else
- {
- printf("\nINFORMATION NOT EXIST!!!!\n");
- }
- }
- void display_date(){
- int dD,mD,yD,count,d,m,y,idd;
- float mark,averg = 0;
- char nam[50],dep[50];
- printf("\nENTER DAY: ");
- scanf("%d",&dD);
- printf("ENTER Month: ");
- scanf("%d",&mD);
- printf("ENTER Year: ");
- scanf("%d",&yD);
- fptr = fopen("members.txt","r");
- while(!feof(fptr))
- {
- fscanf(fptr,"%d\t%s\t%d\t%d\t%d\t%f\t%s",&idd,nam,&d,&m,&y,&mark,dep);
- if(dD==d&&mD==m&&yD==y)
- {
- printf("%d\t%s\t%d-%d-%d\t%f\t%s\n",idd,nam,d,m,y,mark,dep);
- averg = averg + mark;
- }
- }
- printf("\nAVERAGE MARKS ON THAT DATE: %f",averg);
- }
- void display_by_department(){
- char dept[50];
- char nam[50],dep[50];
- int dD,mD,yD,count,d,m,y,idd,countt=0;
- float mark,averg = 0;
- printf("\nEnter your addressi: ");
- scanf("%s",dept);
- fptr = fopen("members.txt","r");
- while(!feof(fptr))
- {
- fscanf(fptr,"%d\t%s\t%d\t%d\t%d\t%f\t%s",&idd,nam,&d,&m,&y,&mark,dep);
- if(strcmp(dept,dep)==0)
- {
- printf("%d\t%s\t%d-%d-%d\t%f\t%s\n",idd,nam,d,m,y,mark,dep);
- averg = averg + mark;
- countt++;
- }
- }
- printf("\nAVERAGE MARKS ON THAT DATE: %f",averg/countt);
- }
- void menu() {
- int ch,chr;
- printf("\n\n\t\t\t\tWelcome to Farmer's Sacco!");
- printf("\n\n\n");
- printf("\t\t\t------------------------------------------------\n");
- printf("\t\t\t| Press any number make to choice |\n");
- printf("\t\t\t| 1. RECORD |\n");
- printf("\t\t\t| 4. DISPLAY BY DATE |\n");
- printf("\t\t\t| 5. DISPLAY BY ADDRESS |\n");
- printf("\t\t\t------------------------------------------------\n");
- printf("MAKE CHOICE: ");
- scanf("%d",&ch);
- switch(ch)
- {
- case 1:
- do{
- record();
- printf("Enter |1| to record Again |other| key to Exit: ");
- scanf("%d",&chr);
- }while(chr ==1);
- break;
- case 2:
- displaying;
- break;
- case 3:
- sorting();
- break;
- case 4:
- display_date();
- break;
- case 5:
- display_by_department();
- break;
- default:
- printf("INVALID ENTRY\n");
- }
- }
- void main(){
- int ch;
- do{
- menu();
- printf("\nPRESS |1| for MENU |other| to end the program:");
- scanf("%d",&ch);
- }while(ch == 1);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement