This is C. I really need help with the MakeItemBlank() function as i cannot seem
ID: 3864841 • Letter: T
Question
This is C. I really need help with the MakeItemBlank() function as i cannot seem to figure out how to create it,
Create three files to submit:
ItemToPurchase.h - Struct definition and related function declarations
ItemToPurchase.c - Related function definitions
main.c - main() function
Build the ItemToPurchase struct with the following specifications:
Data members (3 pts)
char itemName [ ]
int itemPrice
int itemQuantity
Related functionsMakeItemBlank() (2 pts)
Has a pointer to an ItemToPurchase parameter.
Sets item's name = "none", item's price = 0, item's quantity = 0
PrintItemCost()
Has an ItemToPurchase parameter.
Ex. of PrintItemCost() output:
(2) In main(), prompt the user for two items and create two objects of the ItemToPurchase struct. Before prompting for the second item, call fflush(stdin); to allow the user to input a new string. (2 pts)
Ex:
(3) Add the costs of the two items together and output the total cost. (2 pts)
Ex:
Below is my code for each program
MAIN
#include <stdio.h>
#include <string.h>
#include "ItemToPurchase.h"
int main(void) {
int i;
const int NUM_ITEMS=2;
char c;
int total;
ItemToPurchase item1;
ItemToPurchase item2;
for (i-0;i<NUM_ITEMS;++i){
if (i==0){
printf(“Item%d ", i+1);
printf("Enter the item name; ");
fgets((item1.itemName), 50, stdin);
printf("Enter the item price: ")
scanf("%d", &(item1.itemPrice));
printf("Enter the item quanity: ")
scanf("%d", &(item1.itemQuanity));
}
if (i==1){
printf("item %d ", i+1);
printf("Enter the item name: ");
fgets((item2.itemName),50,stdin);
printf("Enter the item price: ")
scanf("%d", &(item2.itemPrice));
printf("Enter the item quanity: ")
scanf("%d", &(item2.itemQuanity));
}
while ((c=getchar())!=EOF&& c != ' ');
}
total=(item1.itemPrice * item1.itemQuanity)+
(item2.itemPrice*item2.itemQuanity);
print("TOTAL COST ");
PrintItemCost(item1);
PrintItemCost(item2);
printf("Total: $%d ", total);
return 0;
}
ITEMTOPURCHASE.H
#ifndef ITEM_TO_PURCHASE_H
#define ITEM_TO_PURCHASE_H
typedef struct ItemToPurchase_struct{
char itemName[50];
int itemPrice;
int itemQuantity;
} ItemToPurchase;
void MakeItemBlank(ItemToPurchase* item);
void PrintItemCost(ItemToPurchase item)
#endif
ITEMTOPURCHASE.C
#include <stdio.h>
#include<string.h>
#include "ItemToPurchase.h"
void makeItemBlank(ItemToPurchase* item),{
strcpy((*item).itemName, "None");
(*item),itemPrice=0;
(*item)itemQuantity=0;
}
void printItemCost(ItemToPurchase item),{
printf("%s %d @ $%d = $%d ", item.itemName,
item.itemQuantity,
item.itemPrice,(item.itemPrice *
it
Explanation / Answer
The problem was in the ITEMTOPURCHASE.H file. Semicolon was missing there.
new file would be
ITEMTOPURCHASE.H
#ifndef ITEM_TO_PURCHASE_H
#define ITEM_TO_PURCHASE_H
typedef struct ItemToPurchase_struct{
char itemName[50];
int itemPrice;
int itemQuantity;
} ItemToPurchase;
void MakeItemBlank(ItemToPurchase* item);
void PrintItemCost(ItemToPurchase item);
#endif
ITEMTOPURCHASE.C
#include <stdio.h>
#include<string.h>
#include "ItemToPurchase.h"
void MakeItemBlank(ItemToPurchase* item)
{
strcpy((*item).itemName, "None");
(*item).itemPrice=0;
(*item).itemQuantity=0;
}
void printItemCost(ItemToPurchase item)
{
printf("%s %d @ $%d = $%d ", item.itemName,item.itemQuantity,item.itemPrice,item.itemPrice, item);
}
The rest is your code change according to your need .
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.