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

Assignment Help:

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.


Related Discussions:- Program to store family members details

Array, #an array that accept input and gives an output

#an array that accept input and gives an output

Program for greatest common divisor – c++ program, Greatest Common Divisor ...

Greatest Common Divisor (GCD) - The greatest common divisor (GCD) of two integers is the largest integer that will evenly divide both integers. The GCD algorithm involves intege

Program in rpeanut that fills the graphics display, Write a program that co...

Write a program that counts from 0 to 99 and prints these numbers to the terminal ie it prints 00, 01, 02, 03, 04, 05, ....,99. Graphics 1. Write a program in rPeANUt that

Write a program read words from file, Write a program IdentyfyWordsMain.jav...

Write a program IdentyfyWordsMain.java reading a fi le (like HistoryOfProgramming) and divide the text into a sequence of words (word=sequence of letters). Save the result in a new

#superASC2 SRTING COST, A string S is said to be "Super ASCII", if it conta...

A string S is said to be "Super ASCII", if it contains the character frequency equal to their ascii values. String will contain only lower case alphabets (''a''-''z'') and the asci

Draw a circle in c program , Draw a circle in c program: void main() ...

Draw a circle in c program: void main() { clrscr(); int i,r=50,t,j,x,y; int gd,gm; gd =DETECT; initgraph(&gd,&gm,""); for(x=50;x for(y=50;y {   i

Minimum shelves, t a shop of marbles, packs of marbles are prepared. Packet...

t a shop of marbles, packs of marbles are prepared. Packets are named A, B, C, D, E …….. All packets are kept in a VERTICAL SHELF in random order. Any numbers of packets with these

C program to convert number to binary, Write a program in C that you will n...

Write a program in C that you will name "divide.exe", to divide one 32-bit twos-complement binary number by another, giving the quotient and the remainder, using the subtract-shift

Flow chart, how made a flow chart of prime number by using for loop

how made a flow chart of prime number by using for loop

Described the scope resolution operator?, A: It allows a program to referen...

A: It allows a program to reference an identifier in global scope which has been hidden by another identifier along with the same name in the local scope.

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd