SlideShare a Scribd company logo
1 of 12
Download to read offline
NEED HELP ON C HOMEWORK
Introduction: Programmers for a Better Tomorrow
Programmers for a Better Tomorrow is an organization dedicated to helping charities, medical
societies, and scholarship organizations manage various tasks so that they can focus on making
the world a better place! They have asked you and your classmates to help them develop some
new programs to benefit their organizations.
Problem: Food Bank Management (foodbank.c)
Programmers for a Better Tomorrow is now in partnership with a local Food Bank which
distributes food items to people in need. People come in to a Food Bank and make their
donations, and others might come in to make a request for any food item they want.
A Food Bank Management Program is used to keep track of the stock the Food Bank has (i.e.,
the donations), keep a record of requests that come in, fulfilling requests and printing the status
report which consists of the amount of stock present in the food bank and the requests that are
not yet fulfilled.
The program will require you to make at least one array. You may choose to make multiple one-
dimensional arrays: one to serve as a Donations Table and one to serve as a Request Table. The
index of the array will represent the inventory type. The value in the array will represent the
amount present or needed of that type.
You may, instead, choose to combine these to two arrays into a single two-dimensional array.
There are 5 inventory types:
Protein
Dairy
Grains
Vegetables
Fruits
Your program should allow the user the following options:
Enter a Donation
Enter a Request
Fulfill Requests
Print status report
Exit
Option 1:
Ask the user for the inventory type and amount of the donation to be made. When the donation
has been added to the donations table, the program should notify the user by printing out
“Donation Added”.
Option 2:
Ask the user for the inventory type and amount of the request to be made. When the request has
been added to the requests table, the program should notify the user by printing out “Request
Added”.
Option 3:
Check each type of inventory in the Request Table.
For each item that has a value in the request table, check to see if there is inventory of the same
type in the donations table.
If there are no donations of that type, print “ requests cannot be fulfilled.” Replace with the
correct inventory type (Dairy, Fruit, etc.).
If there is some inventory in the donations table, but not enough to process all requests, print “
requests will be partially fulfilled”. Reduce both the donation and request amounts based on how
much of the request was able to be fulfilled. Replace with the correct inventory type (Dairy,
Fruit, etc.).
If there is enough inventory to fulfill the request, print “type x> requests will be fulfilled.”
Reduce the appropriate amount from the Donations Table and remove the amount from the
Request Table. Replace with the correct inventory type (Dairy, Fruit, etc.).
Option 4:
Print both tables, indicating which is for donations and which is for requests.
After options 1, 2, 3, and 4 prompt the user with the menu again.
Option 5:
Print “Thank you for running our system!” and then the program exits.
Do not prompt the user for any more information.
This is the code that needs to output:
Welcome to the Food Bank Management Program!
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
1
What donation type would you like to enter?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
0
How many would you like to enter? 5
Donation Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
1
What donation type would you like to enter?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
2
How many would you like to enter? 10
Donation Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
1
What donation type would you like to enter?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
4
How many would you like to enter? 7
Donation Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
4
Protein: Donations: 5 Requests: 0
Dairy: Donations: 0 Requests: 0
Grains: Donations: 10 Requests: 0
Vegetables: Donations: 0 Requests: 0
Fruits: Donations: 7 Requests: 0
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
1
What donation type would you like to enter?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
0
How many would you like to enter? 3
Donation Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
2
What would you like to request?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
1
How many would you like to request? 5
Request Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
2
What would you like to request?
0. Protein
1. Dairy
2. Grains
3. Vegetables
4. Fruits
2
How many would you like to request? 15
Request Added.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
4
Protein: Donations: 8 Requests: 0
Dairy: Donations: 0 Requests: 5
Grains: Donations: 10 Requests: 15
Vegetables: Donations: 0 Requests: 0
Fruits: Donations: 7 Requests: 0
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
3
Dairy requests cannot be fulfilled.
Grain requests will be partially fulfilled.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
4
Protein: Donations: 8 Requests: 0
Dairy: Donations: 0 Requests: 5
Grains: Donations: 0 Requests: 5
Vegetables: Donations: 0 Requests: 0
Fruits: Donations: 7 Requests: 0
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
6
Sorry, that was not a valid input.
What would you like to do?
1. Enter a Donation
2. Enter a Request
3. Fulfill Requests
4. Print status report
5. Exit
5
Thank you for running our system!
This is the code I have so far:
#include
int main() {
int choice, i, number, type;
int temp_donations[5] = {0};
int donations[5] = {0};
int request[5] = {0};
char TYPES[5][20] = {"Protein", "Dairy", "Grains", "Vegetables", "Fruits"};
printf("Welcome to the Food Bank Management Program! ");
//Give and ask for the user's choice
printf("What would you like to do? ");
printf("t1. Enter a Donation ");
printf("t2. Enter a Request ");
printf("t3. Fulfill Request ");
printf("t4. Print status report ");
printf("t5. Exit ");
scanf("%d", &choice);
printf(" ");
//Print if choice is greater than 5 or less than 1
if(choice > 5 || choice < 1)
printf("Sorry, that was not a valid input.  ");
while (choice != 5) {
switch (choice) {
case 1:
//ask user the type of food they would like to donate
printf(" What donation type would you like to enter? ");
number = 0;
for(i=0; i<5; i++){
printf("t%d. %s ",number, TYPES[i]);
number += 1;
}
//user input for food type and amount to donate
scanf("%d", &type);
printf(" How many would you like to enter? ");
scanf("%d", &donations[type]);
printf("Donation Added.  ");
break;
case 2:
//ask user the type of food they would like to request
printf(" What would you like to request? ");
number = 0;
for(i=0; i<5; i++){
printf("t%d. %s ",number, TYPES[i]);
number += 1;
}
//user input for request and amount requested
scanf("%d", &type);
printf(" How many would you like to request? ");
scanf("%d", &request[type]);
printf("Request Added!  ");
break;
case 3:
//go through foods and fulfill the requests if possible
for(i=0; i<5; i++){
if (request[i] > donations[i] && donations[i] == 0)
printf("%s requests cannot be fulfilled. ", TYPES[i]);
else if (request[i] > donations[i]){
printf("%s requests will be partially fulfilled. ", TYPES[i]);
temp_donations[i] = donations[i];
donations[i] -= donations[i];
request[i] -= temp_donations[i];
}
else {
donations[i] -= request[i];
request[i] -= request[i];
}
}
printf(" ");
break;
case 4:
//print table of current donations and requests
for(i=0; i<5; i++){
printf("t%-10s: Donations: %-2d Requests: %-2d ", TYPES[i], donations[i], request[i]);
}
printf(" ");
break;
}
//reask for user's choice
printf("What would you like to do? ");
printf("t1. Enter a Donation ");
printf("t2. Enter a Request ");
printf("t3. Fulfill Request ");
printf("t4. Print status report ");
printf("t5. Exit ");
scanf("%d", &choice);
printf(" ");
if(choice > 5 || choice < 1)
printf("Sorry, that was not a valid input.  ");
}
printf("Thank you for running our system! ");
return 0;
}
It seems to work mostly but I cannot get the fulfill requests to properly work. It will only state
that the Dairy requests cannot be fulfilled and will not bring up the Grain Requests like in the
example. I do not understand what to program in to get it to resemble the output.
Solution
#include
int main() {
int choice, i, number, type;
int temp_donations[5] = {0};
int donations[5] = {0};
int request[5] = {0};
int temp;
char TYPES[5][20] = {"Protein", "Dairy", "Grains", "Vegetables", "Fruits"};
printf("Welcome to the Food Bank Management Program! ");
//Give and ask for the user's choice
printf("What would you like to do? ");
printf("t1. Enter a Donation ");
printf("t2. Enter a Request ");
printf("t3. Fulfill Request ");
printf("t4. Print status report ");
printf("t5. Exit ");
scanf("%d", &choice);
printf(" ");
//Print if choice is greater than 5 or less than 1
if(choice > 5 || choice < 1)
printf("Sorry, that was not a valid input.  ");
while (choice != 5) {
switch (choice) {
case 1:
//ask user the type of food they would like to donate
printf(" What donation type would you like to enter? ");
number = 0;
for(i=0; i<5; i++){
printf("t%d. %s ",number, TYPES[i]);
number += 1;
}
//user input for food type and amount to donate
scanf("%d", &type);
printf(" How many would you like to enter? ");
scanf("%d", &temp); // you need to add it to existing donations, not replace the existing
donations
donations[type] += temp;
printf("Donation Added.  ");
break;
case 2:
//ask user the type of food they would like to request
printf(" What would you like to request? ");
number = 0;
for(i=0; i<5; i++){
printf("t%d. %s ",number, TYPES[i]);
number += 1;
}
//user input for request and amount requested
scanf("%d", &type);
printf(" How many would you like to request? ");
scanf("%d", &temp); // you need to add it to existing requests, not replace the existing requests
request[type] += temp;
printf("Request Added!  ");
break;
case 3:
//go through foods and fulfill the requests if possible
for(i=0; i<5; i++){
if (request[i] > donations[i] && donations[i] == 0)
printf("%s requests cannot be fulfilled. ", TYPES[i]);
else if (request[i] > donations[i]){
printf("%s requests will be partially fulfilled. ", TYPES[i]);
temp_donations[i] = donations[i];
donations[i] -= donations[i];
request[i] -= temp_donations[i];
}
else {
donations[i] -= request[i];
request[i] -= request[i];
}
}
printf(" ");
break;
case 4:
//print table of current donations and requests
for(i=0; i<5; i++){
printf("t%-10s: Donations: %-2d Requests: %-2d ", TYPES[i], donations[i],
request[i]);
}
printf(" ");
break;
}
//reask for user's choice
printf("What would you like to do? ");
printf("t1. Enter a Donation ");
printf("t2. Enter a Request ");
printf("t3. Fulfill Request ");
printf("t4. Print status report ");
printf("t5. Exit ");
scanf("%d", &choice);
printf(" ");
if(choice > 5 || choice < 1)
printf("Sorry, that was not a valid input.  ");
}
printf("Thank you for running our system! ");
return 0;
}

More Related Content

Similar to NEED HELP ON C HOMEWORKIntroduction Programmers for a Better Tomo.pdf

Software users guide 2 19 15
Software users guide 2 19 15Software users guide 2 19 15
Software users guide 2 19 15
mj1748
 
Why build it when you can utilize e tapestry's standard reports - eTapestry U...
Why build it when you can utilize e tapestry's standard reports - eTapestry U...Why build it when you can utilize e tapestry's standard reports - eTapestry U...
Why build it when you can utilize e tapestry's standard reports - eTapestry U...
Blackbaud
 
Demographic Assessment ProjectNURS 4404 Community Health .docx
Demographic Assessment ProjectNURS 4404 Community Health .docxDemographic Assessment ProjectNURS 4404 Community Health .docx
Demographic Assessment ProjectNURS 4404 Community Health .docx
simonithomas47935
 
Student Turnitin Feedback Studio tutorial_20240306 (1).pdf
Student Turnitin Feedback Studio tutorial_20240306 (1).pdfStudent Turnitin Feedback Studio tutorial_20240306 (1).pdf
Student Turnitin Feedback Studio tutorial_20240306 (1).pdf
yonseilibrary
 
What Works?
What Works?What Works?
What Works?
Goodzuma
 

Similar to NEED HELP ON C HOMEWORKIntroduction Programmers for a Better Tomo.pdf (20)

Custom Research Paper Writing Service By Khan Jo
Custom Research Paper Writing Service By Khan JoCustom Research Paper Writing Service By Khan Jo
Custom Research Paper Writing Service By Khan Jo
 
Smart Resturant
Smart ResturantSmart Resturant
Smart Resturant
 
Software users guide 2 19 15
Software users guide 2 19 15Software users guide 2 19 15
Software users guide 2 19 15
 
Smart restaurant
Smart restaurantSmart restaurant
Smart restaurant
 
Smart restaurant
Smart restaurantSmart restaurant
Smart restaurant
 
Foodole : One tap can feed one life
Foodole : One tap can feed one lifeFoodole : One tap can feed one life
Foodole : One tap can feed one life
 
Why build it when you can utilize e tapestry's standard reports - eTapestry U...
Why build it when you can utilize e tapestry's standard reports - eTapestry U...Why build it when you can utilize e tapestry's standard reports - eTapestry U...
Why build it when you can utilize e tapestry's standard reports - eTapestry U...
 
Blood donation registration Form
Blood donation registration FormBlood donation registration Form
Blood donation registration Form
 
Omo digital simulation and lessons
Omo digital simulation and lessons Omo digital simulation and lessons
Omo digital simulation and lessons
 
Demographic Assessment ProjectNURS 4404 Community Health .docx
Demographic Assessment ProjectNURS 4404 Community Health .docxDemographic Assessment ProjectNURS 4404 Community Health .docx
Demographic Assessment ProjectNURS 4404 Community Health .docx
 
2015 day 2
2015 day 22015 day 2
2015 day 2
 
Grant Writing Basics for Food Systems Projects
Grant Writing Basics for Food Systems ProjectsGrant Writing Basics for Food Systems Projects
Grant Writing Basics for Food Systems Projects
 
Admission Essay How To Persuasive Essay. Online assignment writing service.
Admission Essay How To Persuasive Essay. Online assignment writing service.Admission Essay How To Persuasive Essay. Online assignment writing service.
Admission Essay How To Persuasive Essay. Online assignment writing service.
 
Food donation project report I
Food donation project report IFood donation project report I
Food donation project report I
 
Best Thesis Writing Service. Online assignment writing service.
Best Thesis Writing Service. Online assignment writing service.Best Thesis Writing Service. Online assignment writing service.
Best Thesis Writing Service. Online assignment writing service.
 
Veterans Day Writing Paper Pack Freebie By Denise
Veterans Day Writing Paper Pack Freebie By DeniseVeterans Day Writing Paper Pack Freebie By Denise
Veterans Day Writing Paper Pack Freebie By Denise
 
Student Turnitin Feedback Studio tutorial_20240306 (1).pdf
Student Turnitin Feedback Studio tutorial_20240306 (1).pdfStudent Turnitin Feedback Studio tutorial_20240306 (1).pdf
Student Turnitin Feedback Studio tutorial_20240306 (1).pdf
 
ClinicPro Online QuickStart Guide
ClinicPro Online QuickStart GuideClinicPro Online QuickStart Guide
ClinicPro Online QuickStart Guide
 
What Works?
What Works?What Works?
What Works?
 
Blow Up Essay
Blow Up EssayBlow Up Essay
Blow Up Essay
 

More from omarionmatzmcwill497

CenTable - Requirements Specification CenTable is a system for creati.pdf
CenTable - Requirements Specification CenTable is a system for creati.pdfCenTable - Requirements Specification CenTable is a system for creati.pdf
CenTable - Requirements Specification CenTable is a system for creati.pdf
omarionmatzmcwill497
 
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdfWrite an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
omarionmatzmcwill497
 
Write a program that will prompt a user to input their name(first .pdf
Write a program that will prompt a user to input their name(first .pdfWrite a program that will prompt a user to input their name(first .pdf
Write a program that will prompt a user to input their name(first .pdf
omarionmatzmcwill497
 
The poor are available to do the unpleasant jobs that no one .pdf
The poor are available to do the unpleasant jobs that no one .pdfThe poor are available to do the unpleasant jobs that no one .pdf
The poor are available to do the unpleasant jobs that no one .pdf
omarionmatzmcwill497
 
Please help me with these General Biology 1 (Bio 111) questions. You.pdf
Please help me with these General Biology 1 (Bio 111) questions. You.pdfPlease help me with these General Biology 1 (Bio 111) questions. You.pdf
Please help me with these General Biology 1 (Bio 111) questions. You.pdf
omarionmatzmcwill497
 
Our understanding of genetic inheritance and the function of DNA i.pdf
Our understanding of genetic inheritance and the function of DNA i.pdfOur understanding of genetic inheritance and the function of DNA i.pdf
Our understanding of genetic inheritance and the function of DNA i.pdf
omarionmatzmcwill497
 

More from omarionmatzmcwill497 (20)

CenTable - Requirements Specification CenTable is a system for creati.pdf
CenTable - Requirements Specification CenTable is a system for creati.pdfCenTable - Requirements Specification CenTable is a system for creati.pdf
CenTable - Requirements Specification CenTable is a system for creati.pdf
 
Are silenced genes associated with high or low levels of DNA methyla.pdf
Are silenced genes associated with high or low levels of DNA methyla.pdfAre silenced genes associated with high or low levels of DNA methyla.pdf
Are silenced genes associated with high or low levels of DNA methyla.pdf
 
A south facing window is 2.1 m high and 4.2 m long. A horizontal diff.pdf
A south facing window is 2.1 m high and 4.2 m long. A horizontal diff.pdfA south facing window is 2.1 m high and 4.2 m long. A horizontal diff.pdf
A south facing window is 2.1 m high and 4.2 m long. A horizontal diff.pdf
 
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdfWrite an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
Write an extended summary (They say”) of Sheryl Sandbergs Lean.pdf
 
Write a program that will prompt a user to input their name(first .pdf
Write a program that will prompt a user to input their name(first .pdfWrite a program that will prompt a user to input their name(first .pdf
Write a program that will prompt a user to input their name(first .pdf
 
With a blow count of 14 the density of the soil is Select one 15e bit.pdf
With a blow count of 14 the density of the soil is Select one 15e bit.pdfWith a blow count of 14 the density of the soil is Select one 15e bit.pdf
With a blow count of 14 the density of the soil is Select one 15e bit.pdf
 
Which process(es) can move solutes against concentration gradients (.pdf
Which process(es) can move solutes against concentration gradients (.pdfWhich process(es) can move solutes against concentration gradients (.pdf
Which process(es) can move solutes against concentration gradients (.pdf
 
What role do piRNAs play Serve as atemplate for transposon silencin.pdf
What role do piRNAs play  Serve as atemplate for transposon silencin.pdfWhat role do piRNAs play  Serve as atemplate for transposon silencin.pdf
What role do piRNAs play Serve as atemplate for transposon silencin.pdf
 
what was the PRIMARY cause of the current Greece Crisis Excessive g.pdf
what was the PRIMARY cause of the current Greece Crisis Excessive g.pdfwhat was the PRIMARY cause of the current Greece Crisis Excessive g.pdf
what was the PRIMARY cause of the current Greece Crisis Excessive g.pdf
 
Three LR circuits are made with the same resistor but different induc.pdf
Three LR circuits are made with the same resistor but different induc.pdfThree LR circuits are made with the same resistor but different induc.pdf
Three LR circuits are made with the same resistor but different induc.pdf
 
There are several things fundamentally wrong in this illustration. Po.pdf
There are several things fundamentally wrong in this illustration. Po.pdfThere are several things fundamentally wrong in this illustration. Po.pdf
There are several things fundamentally wrong in this illustration. Po.pdf
 
The poor are available to do the unpleasant jobs that no one .pdf
The poor are available to do the unpleasant jobs that no one .pdfThe poor are available to do the unpleasant jobs that no one .pdf
The poor are available to do the unpleasant jobs that no one .pdf
 
Suppose that 14 of people are left handed. If you pick two people a.pdf
Suppose that 14 of people are left handed. If you pick two people a.pdfSuppose that 14 of people are left handed. If you pick two people a.pdf
Suppose that 14 of people are left handed. If you pick two people a.pdf
 
Please help me with these General Biology 1 (Bio 111) questions. You.pdf
Please help me with these General Biology 1 (Bio 111) questions. You.pdfPlease help me with these General Biology 1 (Bio 111) questions. You.pdf
Please help me with these General Biology 1 (Bio 111) questions. You.pdf
 
Problem 14. Your probability class has 250 undergraduate students and.pdf
Problem 14. Your probability class has 250 undergraduate students and.pdfProblem 14. Your probability class has 250 undergraduate students and.pdf
Problem 14. Your probability class has 250 undergraduate students and.pdf
 
Simplify each expression. Write all ansers without using negative ex.pdf
Simplify each expression. Write all ansers without using negative ex.pdfSimplify each expression. Write all ansers without using negative ex.pdf
Simplify each expression. Write all ansers without using negative ex.pdf
 
Our understanding of genetic inheritance and the function of DNA i.pdf
Our understanding of genetic inheritance and the function of DNA i.pdfOur understanding of genetic inheritance and the function of DNA i.pdf
Our understanding of genetic inheritance and the function of DNA i.pdf
 
Please Explain. Compute the worst case time complexity of the follow.pdf
Please Explain. Compute the worst case time complexity of the follow.pdfPlease Explain. Compute the worst case time complexity of the follow.pdf
Please Explain. Compute the worst case time complexity of the follow.pdf
 
3. Variance of exponential and uniform distributions(a) Compute Va.pdf
3. Variance of exponential and uniform distributions(a) Compute Va.pdf3. Variance of exponential and uniform distributions(a) Compute Va.pdf
3. Variance of exponential and uniform distributions(a) Compute Va.pdf
 
Prove using a common notion that if P and Q are any points on a circ.pdf
Prove using a common notion that if P and Q are any points on a circ.pdfProve using a common notion that if P and Q are any points on a circ.pdf
Prove using a common notion that if P and Q are any points on a circ.pdf
 

Recently uploaded

The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 

Recently uploaded (20)

Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answers
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 

NEED HELP ON C HOMEWORKIntroduction Programmers for a Better Tomo.pdf

  • 1. NEED HELP ON C HOMEWORK Introduction: Programmers for a Better Tomorrow Programmers for a Better Tomorrow is an organization dedicated to helping charities, medical societies, and scholarship organizations manage various tasks so that they can focus on making the world a better place! They have asked you and your classmates to help them develop some new programs to benefit their organizations. Problem: Food Bank Management (foodbank.c) Programmers for a Better Tomorrow is now in partnership with a local Food Bank which distributes food items to people in need. People come in to a Food Bank and make their donations, and others might come in to make a request for any food item they want. A Food Bank Management Program is used to keep track of the stock the Food Bank has (i.e., the donations), keep a record of requests that come in, fulfilling requests and printing the status report which consists of the amount of stock present in the food bank and the requests that are not yet fulfilled. The program will require you to make at least one array. You may choose to make multiple one- dimensional arrays: one to serve as a Donations Table and one to serve as a Request Table. The index of the array will represent the inventory type. The value in the array will represent the amount present or needed of that type. You may, instead, choose to combine these to two arrays into a single two-dimensional array. There are 5 inventory types: Protein Dairy Grains Vegetables Fruits Your program should allow the user the following options: Enter a Donation Enter a Request Fulfill Requests Print status report Exit Option 1: Ask the user for the inventory type and amount of the donation to be made. When the donation has been added to the donations table, the program should notify the user by printing out “Donation Added”.
  • 2. Option 2: Ask the user for the inventory type and amount of the request to be made. When the request has been added to the requests table, the program should notify the user by printing out “Request Added”. Option 3: Check each type of inventory in the Request Table. For each item that has a value in the request table, check to see if there is inventory of the same type in the donations table. If there are no donations of that type, print “ requests cannot be fulfilled.” Replace with the correct inventory type (Dairy, Fruit, etc.). If there is some inventory in the donations table, but not enough to process all requests, print “ requests will be partially fulfilled”. Reduce both the donation and request amounts based on how much of the request was able to be fulfilled. Replace with the correct inventory type (Dairy, Fruit, etc.). If there is enough inventory to fulfill the request, print “type x> requests will be fulfilled.” Reduce the appropriate amount from the Donations Table and remove the amount from the Request Table. Replace with the correct inventory type (Dairy, Fruit, etc.). Option 4: Print both tables, indicating which is for donations and which is for requests. After options 1, 2, 3, and 4 prompt the user with the menu again. Option 5: Print “Thank you for running our system!” and then the program exits. Do not prompt the user for any more information. This is the code that needs to output: Welcome to the Food Bank Management Program! What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 1 What donation type would you like to enter? 0. Protein 1. Dairy 2. Grains
  • 3. 3. Vegetables 4. Fruits 0 How many would you like to enter? 5 Donation Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 1 What donation type would you like to enter? 0. Protein 1. Dairy 2. Grains 3. Vegetables 4. Fruits 2 How many would you like to enter? 10 Donation Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 1 What donation type would you like to enter? 0. Protein 1. Dairy 2. Grains 3. Vegetables 4. Fruits 4 How many would you like to enter? 7
  • 4. Donation Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 4 Protein: Donations: 5 Requests: 0 Dairy: Donations: 0 Requests: 0 Grains: Donations: 10 Requests: 0 Vegetables: Donations: 0 Requests: 0 Fruits: Donations: 7 Requests: 0 What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 1 What donation type would you like to enter? 0. Protein 1. Dairy 2. Grains 3. Vegetables 4. Fruits 0 How many would you like to enter? 3 Donation Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 2
  • 5. What would you like to request? 0. Protein 1. Dairy 2. Grains 3. Vegetables 4. Fruits 1 How many would you like to request? 5 Request Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 2 What would you like to request? 0. Protein 1. Dairy 2. Grains 3. Vegetables 4. Fruits 2 How many would you like to request? 15 Request Added. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 4 Protein: Donations: 8 Requests: 0 Dairy: Donations: 0 Requests: 5 Grains: Donations: 10 Requests: 15 Vegetables: Donations: 0 Requests: 0
  • 6. Fruits: Donations: 7 Requests: 0 What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 3 Dairy requests cannot be fulfilled. Grain requests will be partially fulfilled. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 4 Protein: Donations: 8 Requests: 0 Dairy: Donations: 0 Requests: 5 Grains: Donations: 0 Requests: 5 Vegetables: Donations: 0 Requests: 0 Fruits: Donations: 7 Requests: 0 What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit 6 Sorry, that was not a valid input. What would you like to do? 1. Enter a Donation 2. Enter a Request 3. Fulfill Requests 4. Print status report 5. Exit
  • 7. 5 Thank you for running our system! This is the code I have so far: #include int main() { int choice, i, number, type; int temp_donations[5] = {0}; int donations[5] = {0}; int request[5] = {0}; char TYPES[5][20] = {"Protein", "Dairy", "Grains", "Vegetables", "Fruits"}; printf("Welcome to the Food Bank Management Program! "); //Give and ask for the user's choice printf("What would you like to do? "); printf("t1. Enter a Donation "); printf("t2. Enter a Request "); printf("t3. Fulfill Request "); printf("t4. Print status report "); printf("t5. Exit "); scanf("%d", &choice); printf(" "); //Print if choice is greater than 5 or less than 1 if(choice > 5 || choice < 1) printf("Sorry, that was not a valid input. "); while (choice != 5) { switch (choice) { case 1: //ask user the type of food they would like to donate printf(" What donation type would you like to enter? "); number = 0; for(i=0; i<5; i++){ printf("t%d. %s ",number, TYPES[i]); number += 1; } //user input for food type and amount to donate scanf("%d", &type); printf(" How many would you like to enter? ");
  • 8. scanf("%d", &donations[type]); printf("Donation Added. "); break; case 2: //ask user the type of food they would like to request printf(" What would you like to request? "); number = 0; for(i=0; i<5; i++){ printf("t%d. %s ",number, TYPES[i]); number += 1; } //user input for request and amount requested scanf("%d", &type); printf(" How many would you like to request? "); scanf("%d", &request[type]); printf("Request Added! "); break; case 3: //go through foods and fulfill the requests if possible for(i=0; i<5; i++){ if (request[i] > donations[i] && donations[i] == 0) printf("%s requests cannot be fulfilled. ", TYPES[i]); else if (request[i] > donations[i]){ printf("%s requests will be partially fulfilled. ", TYPES[i]); temp_donations[i] = donations[i]; donations[i] -= donations[i]; request[i] -= temp_donations[i]; } else { donations[i] -= request[i]; request[i] -= request[i]; } } printf(" "); break; case 4:
  • 9. //print table of current donations and requests for(i=0; i<5; i++){ printf("t%-10s: Donations: %-2d Requests: %-2d ", TYPES[i], donations[i], request[i]); } printf(" "); break; } //reask for user's choice printf("What would you like to do? "); printf("t1. Enter a Donation "); printf("t2. Enter a Request "); printf("t3. Fulfill Request "); printf("t4. Print status report "); printf("t5. Exit "); scanf("%d", &choice); printf(" "); if(choice > 5 || choice < 1) printf("Sorry, that was not a valid input. "); } printf("Thank you for running our system! "); return 0; } It seems to work mostly but I cannot get the fulfill requests to properly work. It will only state that the Dairy requests cannot be fulfilled and will not bring up the Grain Requests like in the example. I do not understand what to program in to get it to resemble the output. Solution #include int main() { int choice, i, number, type; int temp_donations[5] = {0}; int donations[5] = {0}; int request[5] = {0}; int temp; char TYPES[5][20] = {"Protein", "Dairy", "Grains", "Vegetables", "Fruits"};
  • 10. printf("Welcome to the Food Bank Management Program! "); //Give and ask for the user's choice printf("What would you like to do? "); printf("t1. Enter a Donation "); printf("t2. Enter a Request "); printf("t3. Fulfill Request "); printf("t4. Print status report "); printf("t5. Exit "); scanf("%d", &choice); printf(" "); //Print if choice is greater than 5 or less than 1 if(choice > 5 || choice < 1) printf("Sorry, that was not a valid input. "); while (choice != 5) { switch (choice) { case 1: //ask user the type of food they would like to donate printf(" What donation type would you like to enter? "); number = 0; for(i=0; i<5; i++){ printf("t%d. %s ",number, TYPES[i]); number += 1; } //user input for food type and amount to donate scanf("%d", &type); printf(" How many would you like to enter? "); scanf("%d", &temp); // you need to add it to existing donations, not replace the existing donations donations[type] += temp; printf("Donation Added. "); break; case 2: //ask user the type of food they would like to request printf(" What would you like to request? "); number = 0; for(i=0; i<5; i++){
  • 11. printf("t%d. %s ",number, TYPES[i]); number += 1; } //user input for request and amount requested scanf("%d", &type); printf(" How many would you like to request? "); scanf("%d", &temp); // you need to add it to existing requests, not replace the existing requests request[type] += temp; printf("Request Added! "); break; case 3: //go through foods and fulfill the requests if possible for(i=0; i<5; i++){ if (request[i] > donations[i] && donations[i] == 0) printf("%s requests cannot be fulfilled. ", TYPES[i]); else if (request[i] > donations[i]){ printf("%s requests will be partially fulfilled. ", TYPES[i]); temp_donations[i] = donations[i]; donations[i] -= donations[i]; request[i] -= temp_donations[i]; } else { donations[i] -= request[i]; request[i] -= request[i]; } } printf(" "); break; case 4: //print table of current donations and requests for(i=0; i<5; i++){ printf("t%-10s: Donations: %-2d Requests: %-2d ", TYPES[i], donations[i], request[i]); } printf(" "); break;
  • 12. } //reask for user's choice printf("What would you like to do? "); printf("t1. Enter a Donation "); printf("t2. Enter a Request "); printf("t3. Fulfill Request "); printf("t4. Print status report "); printf("t5. Exit "); scanf("%d", &choice); printf(" "); if(choice > 5 || choice < 1) printf("Sorry, that was not a valid input. "); } printf("Thank you for running our system! "); return 0; }