# Ask Question

 Name: Title:
 Your Question:

# Answer Question

 Name:
 Your Answer:
ONLINE COMPILERS
LIBRARY
MANUAL PAGES & DOCS
CONTACT

User Submitted Source Code!

Description:
assigment 1
Language: C/C++
Code:
#include <stdio.h>

/*
Author: Zavier
Date: 06/05/19
Purpose: ASSIGMENT 1, money change machine dollars and cents
*/

void DisplayMenu(void)
{
printf("Hi, please input a amount of change in dollars and cents, the cents must be in the range of 5 - 95 and a multiple of 5: ");

return;
}

float GetChoice(void)
{
double userchoice;
int dollars, cents;

scanf("%lg", &userchoice);//* command to get input   */
dollars = (int) userchoice;//* to test it was a valid value i had to convert it here as well   */
cents = (int) (((userchoice - dollars)*100) + 0.5);

while (dollars <0)
{
printf("\nYou have inputed a negative value, please reinput the correct value: ");
scanf("%lg", &userchoice);

dollars = (int) userchoice;//* updates in the loop each time  */
cents = (int) (((userchoice - dollars)*100) + 0.5);

}

while (!((cents>=5 && cents<=95) && (cents%5==0)))
{
printf("\nThe cents is wrong, it should be in the range of 5 - 95 and a multiple of 5, please reinput the correct value: ");
scanf("%lg", &userchoice);

dollars = (int) userchoice;//* updates in the loop each time  */
cents = (int) (((userchoice - dollars)*100) + 0.5);
}

return(userchoice);
}

int * Convertmoney(double money)
{
static int moneyarray;

moneyarray = (int) money;
moneyarray = (int) (((money - moneyarray)*100) + 0.5);

return moneyarray;
}

int * proccessnotes(int *moneyaray)
{
static int notes;

int tempmoney = moneyaray; /* this gets the cents that we converted earlier, so it eliminates excess code*/

notes =  tempmoney / 100;
tempmoney = tempmoney - (100 * notes);/* Could of replaced it with tempmoney %= 50  which dose the same thing but i wanted to show i knew what it ment, meh */

notes = tempmoney / 50;
tempmoney = tempmoney - (50 * notes);

notes =  tempmoney / 20;
tempmoney = tempmoney - (20 * notes);

notes = tempmoney / 10;
tempmoney = tempmoney - (10 * notes);

notes = tempmoney / 5;
tempmoney = tempmoney - (5 * notes);

notes = tempmoney / 2;
tempmoney = tempmoney - (2 * notes);

notes = tempmoney / 1;
tempmoney = tempmoney - (1 * notes);
return notes;
}

int * proccesschange(int *moneyaray)
{
static int coins;

int tempmoney = moneyaray; /* this gets the cents that we converted earlier, so it eliminates excess code*/

coins = tempmoney / 50;
tempmoney = tempmoney - (50 * coins); /* Could of replaced it with tempmoney %= 50  which dose the same thing but i wanted to show i knew what it ment, meh */

coins =  tempmoney / 20;
tempmoney = tempmoney - (20 * coins);

coins = tempmoney / 10;
tempmoney = tempmoney - (10 * coins);

coins = tempmoney / 5;
tempmoney = tempmoney - (5 * coins);

return coins;
}

void printchange(int *userchange, int *usernotes)
{
printf("\nWhy hello their, your notes are \nHundread dollar notes: %d ", usernotes);
printf("\nFifty dollar notes: %d ", usernotes);
printf("\nTwenty dollar notes: %d ", usernotes);
printf("\nTen dollar notes: %d", usernotes);
printf("\nFive dollar notes: %d ", usernotes);
printf("\n~~~~~~~~~~~And your coin change is,~~~~~~~~~~~\nTwo dollar coins: %d ", usernotes);
printf("\nOne dollar coins: %d ", usernotes);

printf("\nFifty cent coins: %d ", userchange);
printf("\nTwenty cent coins: %d ", userchange);
printf("\nTen cent coins: %d ", userchange);
printf("\nFive cent coins: %d\nThank you for using this programe.", userchange);

return;
}

int main(void) /* MAIN MENU #######################################################################*/
{
double money;
int *userchange, *usernotes, *moneyarray;

DisplayMenu();
money=GetChoice();
moneyarray=Convertmoney(money);
userchange=proccesschange(moneyarray);
usernotes=proccessnotes(moneyarray);
printchange(userchange, usernotes);

return(0);
}

Comments: