Program to store family members details, C/C++ Programming

Program to store family members details in C++:

#include

#include

#include

struct record

{

  char name[30];

  int age;

  char state[40];

}x;

//calculates average of ages all family members

float  averagecalculation(char sr_file[20])

{

 float avg;

 int totalmembers=0,totalage=0;

 FILE *fp1;

 fp1=fopen(sr_file,"r");

 if(fp1==NULL)

 {

   printf("cannot read file %s",sr_file);

   exit(0);

 }

 while(fscanf(fp1,"%[^\n]%d%[^\n]",&x.name,&x.age,&x.state)!=EOF)

 {

totalmembers++;

 totalage=totalage+x.age;

 }

 fclose(fp1);

 avg=(float)totalage/totalmembers;

 return avg;

 }

 //prints family members names who live in TEXAS

 void print_members_of_texas(char sr_file[20])

 {

 

 FILE *fp1;

 fp1=fopen(sr_file,"r");

 if(fp1==NULL)

 {

   printf("cannot read file %s",sr_file);

   exit(0);

 }

 printf("\nFamily members who live in Texas are\n");

 while(fscanf(fp1,"%[^\n]%d%[^\n]",&x.name,&x.age,&x.state)!=EOF)

 {

  if(strcmp(x.state,"TEXAS")==0)

     printf("\n%s",x.name);

  }

  fclose(fp1);

}

void main()

{

   FILE* fp1;

   char sr_file[20];

   float avg;

   clrscr();

   printf("Enter the source file name to enter data");

   gets(sr_file);

   fp1=fopen(sr_file,"w");

   if(fp1==NULL)

   {

     printf("cannot create %s ",sr_file);

     exit(0);

   }

   while(1)

   {

    fflush(stdin);

    printf("Enter name of ur family member(-1 to quit)  ");

    scanf("%[^\n]",x.name);

    if(strcmp(x.name,"-1")==0)

       break;

    fflush(stdin);

    printf("Enter his age   ");

    scanf("%d",&x.age);

    if (x.age<1)

      {

       printf("invalid input  ");

       continue;

      }

    fflush(stdin);

    printf("Enter state where he lives   ");

    scanf("%[^\n]",x.state);

    fprintf(fp1,"%s\t%d\t%s\n",x.name,x.age,x.state);

 }

 fclose(fp1);

 printf("Done reading input");

 //Now calculate average

 avg=averagecalculation(sr_file);

 printf("\nAverage age  of family is %f ",avg);

 //Now check if any family member is in Texas

  print_members_of_texas(sr_file);

  getch();

 }

PROGRAM  Description

 Program has 3 functions.

1.Main()- creates a file to store family members details .It opens the file in write mode. Its fields are name of member ,age and where he lives. Then it takes input into the structure record fields called name ,age ,state till user presses -1. It checks if age entered is >1 or not ,otherwise it gives "invalid input"Then it completes taking input by closing the file. After that it  calls 2 functions named averagecalculation() and print_members_of_texas() for calculating the average of family members age and to print the family members who live in TEXAS respectively.

2.averagecalculation()- It is a function to calculate the average of all family members. It is started by opening the file created in main function in read mode. It reads each record of file stored in sequence till end of file. It  calculates average of ages. Lastly closes the file and returns to main() with average.

3.print_members_of_texas()-It is started by opening the file created in main function in read mode. It reads each record of file stored in sequence till end of file. Then it check each record if person's city is TEXAS or not, if it is so this function prints the person's name.  Lastly closes the file.

Posted Date: 3/5/2013 7:41:09 AM | Location : United States







Related Discussions:- Program to store family members details, Assignment Help, Ask Question on Program to store family members details, Get Answer, Expert's Help, Program to store family members details Discussions

Write discussion on Program to store family members details
Your posts are moderated
Related Questions

luminous jewel polishing necklace,c/c++ programming

how to do an array

Op e r a t o r P r e c e d e n c e a n d A s s o c i a t i v e l y : T h e op e r a t o r p r e c e d e n c e a n d i

#question.Write a program to find the area under the curve y = f(x) between x = a and x = b, integrate y = f(x) between the limits of a and b. The area under a curve between two po

C Program to FIND VOWELS AND REMOVE VOWELS void main() {           char s[100],s1[100];           int i,j,k=0;           clrscr();           printf("ENTER ANY S

Need someone to look over my assignment for correctness and make any necessary changes.

In which condition a template a better solution than a base class? A: While you are designing a generic class to contain or manage objects of other types, while the format & beh

Create the following program or propose one of your own. The program must include at least one of each of the following. Decision structure Repetitive structure fu

Compound Assignment Operators Apart from the binary and the unary arithmetic operators, we also have compound assignment operators. These are +=, -=, *=, /=, %=. Using these op