Extension of the program below with the following specifications Array of records with file I/O is needed. Program takes two inputs at a time name of a person, and, the coin value as an integer in the range 5 to 95, output change values in multiples of 50, 20, 10 and 5 cents with higher valued coins as possible. Input to the program comes from a data file called coins.txt. There can be 0 and up to 10 input lines with same name repeated in the data file but the coin values different. When name is same program would need to add up the coin amounts to obtain a total amount for that individual before computing the change to be given. Once program has read in the data from coins.txt, your program will close coins.txt first, and then show a console screen menu as illustrated below. The program will continue to show the menu and execute the menu options until "Exit" is selected by entering the value 2 at the menu prompt. 1. Enter name 2. Exit When the user enters the value 1 at the menu prompt program will ask for a name. Change values of 0 are not shown.   If the user enters a non-existent name at menu option 1, and therefore would not be in the array of records program will print Not found   After the process output for menu option 1, the menu is redisplayed. If the user enters 2 to exit, program will write the coin and change data in CSV format to file called change.csv. After writing the data to the file program will exit. Each data line in change.csv will be in the format: name of person,total coin value,number of 50 cent coins, number of 20 cent coins,number of 10 cent coins,number of 5 cent coins newline. The output data file change.csv cannot have repeated names. #include #include int cent50=0; int cent20=0; int cent10=0; int cent05=0; void calculatechange(int* change) { if(*change>0) { if(*change>=50) { *change-=50; cent50++; } else if(*change>=20) { *change-=20; cent20++; } else if(*change>=10) { *change-=10; cent10++; } else if(*change>=05) { *change-=05; cent05++; } calculatechange(change); } } void printchange() { if(cent50) printf("\n50cents:%d coins",cent50); if(cent20) printf("\n20cents:%d coins",cent20); if(cent10) printf("\n10cents:%d coins",cent10); if(cent05) printf("\n05cents:%d coins",cent05); cent50=0; cent20=0; cent10=0; cent05=0; } void takechange(int* change) { scanf("%d",change); getchar(); } int main() { int change=0; int firstinput=0; while(1) { if(!firstinput) { printf("\nEnter the amount:"); firstinput++; } else { printf("\n\nEnter the amount to continue or Enter -1 to exit:"); } takechange(&change); if(change>=5&&change<=95) { if((change%5)==0) { if(change>=5&&change<=95) { calculatechange(&change); } } } else { if(change==-1) { printf("\nExiting the loop:"); break; } else { printf("Please Enter the value between 5 and 95"); } } printchange(); } printf("\nLoop is terminated"); return 0; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Extension of the program below with the following specifications

Array of records with file I/O is needed. Program takes two inputs at a time name of a person, and, the coin value as an integer in the range 5 to 95, output change values in multiples of 50, 20, 10 and 5 cents with higher valued coins as possible.

Input to the program comes from a data file called coins.txt. There can be 0 and up to 10 input lines with same name repeated in the data file but the coin values different. When name is same program would need to add up the coin amounts to obtain a total amount for that individual before computing the change to be given.

Once program has read in the data from coins.txt, your program will close coins.txt first, and then show a console screen menu as illustrated below. The program will continue to show the menu and execute the menu options until "Exit" is selected by entering the value 2 at the menu prompt.

1. Enter name
2. Exit


When the user enters the value 1 at the menu prompt program will ask for a name.

Change values of 0 are not shown.

 

If the user enters a non-existent name at menu option 1, and therefore would not be in the array of records program will print Not found

 

After the process output for menu option 1, the menu is redisplayed.


If the user enters 2 to exit, program will write the coin and change data in CSV format to file called change.csv. After writing the data to the file program will exit.

Each data line in change.csv will be in the format:
name of person,total coin value,number of 50 cent coins, number of 20 cent coins,number of 10 cent coins,number of 5 cent coins newline.

The output data file change.csv cannot have repeated names.

#include<stdio.h>
#include<stdlib.h>

int cent50=0;
int cent20=0;
int cent10=0;
int cent05=0;

void calculatechange(int* change)
{
if(*change>0)
{
if(*change>=50)
{
*change-=50;
cent50++;
}
else if(*change>=20)
{
*change-=20;
cent20++;
}
else if(*change>=10)
{
*change-=10;
cent10++;
}
else if(*change>=05)
{
*change-=05;
cent05++;
}
calculatechange(change);
}
}
void printchange()
{
if(cent50)
printf("\n50cents:%d coins",cent50);
if(cent20)
printf("\n20cents:%d coins",cent20);
if(cent10)
printf("\n10cents:%d coins",cent10);
if(cent05)
printf("\n05cents:%d coins",cent05);

cent50=0;
cent20=0;
cent10=0;
cent05=0;
}
void takechange(int* change)
{
scanf("%d",change);
getchar();
}
int main()
{
int change=0;
int firstinput=0;
while(1)
{
if(!firstinput)
{
printf("\nEnter the amount:");
firstinput++;
}
else
{
printf("\n\nEnter the amount to continue or Enter -1 to exit:");
}
takechange(&change);
if(change>=5&&change<=95)
{
if((change%5)==0)
{
if(change>=5&&change<=95)
{
calculatechange(&change);
}
}
}
else
{
if(change==-1)
{
printf("\nExiting the loop:");
break;
}
else
{
printf("Please Enter the value between 5 and 95");
}
}
printchange();
}
printf("\nLoop is terminated");
return 0;
}

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Header Files
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education