expand the code below with the following questions #include #include int cent50 = 0; int cent20 = 0; int cent10 = 0; int cent05 = 0; //Function definition 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);     } } //Define the function void printChange() {     if(cent50)         printf("\n50 Cents : %d coins",  cent50);      if(cent20)         printf("\n20 Cents : %d coins",  cent20);      if(cent10)         printf("\n10 Cents : %d coins", cent10);     if(cent05)         printf("\n05 Cents : %d coins", cent05);          cent50 = 0; cent20 = 0; cent10 = 0; cent05 = 0; } //Function's definition int TakeChange() {     int change;     printf("\nEnter the amount : ");     scanf("%d", &change);     return change; } //main function int main() { //call the function int change = TakeChange(); //use while-loop to repeatedly ask for input to the user while(change != -1)     {     if((change % 5)==0)     {      if(change >= 5 && change <=95 ){       calculateChange(change); //Calculate coins   }   else {    printf("\nPlease Enter the value between 5 and 95:");   }    }  else  {   printf("\nPlease Enter the valid value:");  } //Print coins printChange(); printf("\nEnter the amount to continue or Enter -1 to exit: "); scanf("%d", &change);      } return 0; }   The program takes two inputs at a time (this is to be read from a file; see below). The name of a person, and the coin value as an integer in the range 5 to 95 (this data should be encapsulated using the above mentioned struct). You can assume that the data in the input file will have names that are one word strings, coin values that are always evenly divisible by 5 (integer division), and these two fields are space separated. An example input is: Jane 30 This input line indicates that 30 cents change is to be given to Jane. Output change values need to be in multiples of 50, 20, 10 and 5 cents. The program should aim to give as much of the higher valued coins as possible. A poor solution for an input of 30 cents is to give six 5 cent coins. A better solution is to give a 20 cent coin and a 10 cent coin. Input to the program comes from a data file called coins.txt (this should be obtained from command line when invoking the program). There should be 10 input lines like the example above. Each record is to be stored in a struct; an array of such structs is to store all data read from the file (i.e. all 10 records). It is possible to have the same name repeated in the data file but the coin values should be different. When the name is the same, it would mean the same individual. In such a case, your program would need to add up the coin amounts to obtain a total amount for that individual (this would occur after all records have been stored into your data structure, but before computing the change to be given). Note that in this scenario, the total amount for an individual may end up being over 100 or 200 or more cents. Once your program has read in the data from coins.txt, it 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, your program will ask for a name. As an example, if the user enters the name Jane (as in the example input above), the program will output: Customer: Jane 30 cents Change: 20 cents: 1 10 cents: 1 Page 4 of 12 Change values of 0 are not shown for this screen output. If the user enters a name at menu option 1 (eg: Donald), which is non-existent in the file and therefore not in the array of records, your program will print: Name: Donald Not found After processing the output for menu option 1, the menu is re-displayed. If the user enters 2 to exit, your program will write the name, coin, and change data (in comma separated value – CSV – format) to a file called change.csv. After writing the data to the file your program will close the file and 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 So for example, in change.csv, the data line for Jane will look like the following (each value separated by a comma and the line terminated by newline): Jane,30,0,1,1,0 So in the example output, Jane has 30 cents in one 20 cent coin and one 10 cent coin. Though there are no 50 or 5 cent coins, the value 0 must be included in correct position. As input of the same name indicates the same individual the output data file change.csv cannot have repeated names. Your solution  should be modular in design.

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

expand the code below with the following questions

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

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

//Function definition
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);
    }
}


//Define the function
void printChange() {

    if(cent50)
        printf("\n50 Cents : %d coins",  cent50);

     if(cent20)
        printf("\n20 Cents : %d coins",  cent20);

     if(cent10)
        printf("\n10 Cents : %d coins", cent10);

    if(cent05)
        printf("\n05 Cents : %d coins", cent05);
        
cent50 = 0;
cent20 = 0;
cent10 = 0;
cent05 = 0;

}

//Function's definition
int TakeChange() {

    int change;
    printf("\nEnter the amount : ");
    scanf("%d", &change);
    return change;

}
//main function
int main() {
//call the function
int change = TakeChange();

//use while-loop to repeatedly ask for input to the user
while(change != -1)
    {
    if((change % 5)==0)
    {
     if(change >= 5 && change <=95 ){
      calculateChange(change); //Calculate coins
  }
  else {
   printf("\nPlease Enter the value between 5 and 95:");
  }  
 }
 else
 {
  printf("\nPlease Enter the valid value:");
 }

//Print coins
printChange();

printf("\nEnter the amount to continue or Enter -1 to exit: ");
scanf("%d", &change);
    
}
return 0;
}

 

The program takes two inputs at a time (this is to be read from a file; see below). The name of a
person, and the coin value as an integer in the range 5 to 95 (this data should be encapsulated using
the above mentioned struct). You can assume that the data in the input file will have names that
are one word strings, coin values that are always evenly divisible by 5 (integer division), and these
two fields are space separated. An example input is:
Jane 30
This input line indicates that 30 cents change is to be given to Jane.
Output change values need to be in multiples of 50, 20, 10 and 5 cents. The program should aim to
give as much of the higher valued coins as possible. A poor solution for an input of 30 cents is to
give six 5 cent coins. A better solution is to give a 20 cent coin and a 10 cent coin.
Input to the program comes from a data file called coins.txt (this should be obtained from
command line when invoking the program). There should be 10 input lines like the example
above. Each record is to be stored in a struct; an array of such structs is to store all data read from
the file (i.e. all 10 records). It is possible to have the same name repeated in the data file but the
coin values should be different. When the name is the same, it would mean the same individual. In
such a case, your program would need to add up the coin amounts to obtain a total amount for that
individual (this would occur after all records have been stored into your data structure, but before
computing the change to be given). Note that in this scenario, the total amount for an individual
may end up being over 100 or 200 or more cents.
Once your program has read in the data from coins.txt, it 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, your program will ask for a name. As an
example, if the user enters the name Jane (as in the example input above), the program will output:
Customer:
Jane 30 cents
Change:
20 cents: 1
10 cents: 1
Page 4 of 12
Change values of 0 are not shown for this screen output.
If the user enters a name at menu option 1 (eg: Donald), which is non-existent in the file and
therefore not in the array of records, your program will print:
Name: Donald
Not found
After processing the output for menu option 1, the menu is re-displayed.
If the user enters 2 to exit, your program will write the name, coin, and change data (in comma
separated value – CSV – format) to a file called change.csv. After writing the data to the file your
program will close the file and 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
So for example, in change.csv, the data line for Jane will look like the following (each value
separated by a comma and the line terminated by newline):
Jane,30,0,1,1,0
So in the example output, Jane has 30 cents in one 20 cent coin and one 10 cent coin. Though there
are no 50 or 5 cent coins, the value 0 must be included in correct position.
As input of the same name indicates the same individual the output data file change.csv cannot have repeated names.
Your solution  should be modular in design.


Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Variables
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