1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
nordsb [41]
3 years ago
6

Input and Output. Keep the program running in a Do-While Loop or While Loop. Conditional statements. User defined functions for

most menu items. User define structs. Arrays of type your struct -- You may assume a maximum of 50 products. The program should prompt the user for the valid password – EGC251 (10 pt.) The user then should be prompted with the following menu: (10 pt.) Input new product record – prompt user for each record of a new product (20 pt.) Edit a product – display the current record item and accept a new value. This would be if you want to add more items of the same product. (20 pt.) Delete a product – remove the product from the list and rearrange the product array (20 pt.) Display all existing product – display each record on a separate line (20 pt.) Make a sale – prompt the user for the product ID and number of items sold, calculate the sale, and update the number of available items. (20 pt.) Display the product record with the highest sale – search the records to find the highest sale for a product (20 pt.) Display all product with zero quantity – search all products with zero quantity (20 pt.) Exit the program (10 pt.)
Computers and Technology
1 answer:
kolezko [41]3 years ago
3 0

Answer:

See explaination

Explanation:

#include <stdio.h>

#define MAX_SIZE 50

#define password "mypassword"

void addProduct(struct product arr[], struct product p);

void deleteProduct(struct product arr[], char[] productId)

void editProduct(struct product arr[], int incrementKey, char[] productId) //incrementKey is the how much quanity user wants to add of the existing product

void display(struct product arr[]);

void saleProduct(struct product arr[], char[] productId, int soldItems);

void displayHighestSaleProduct(struct product arr[]);

void displayProductWithZeroQuantity(struct product arr[]);

int totalItems = 0;

struct product

{

char id[10]; //product id

char name[50]; //name of product

int quantity; //number of items of product in the inventory

int numSold; //number of items sold

float price; //price of the product

float sales; //total sale

};

void saleProduct(struct product arr[], char[] productId, int soldItems)

{

int index = 0;

while(strcmp(arr[index].id, productId) != 0) //getting the index of product same as productId

index++;

arr[index].qunatity -= soldItems;

arr[index].sales += (soldItems*arr[index].price);

}

void displayProductWithZeroQuantity(struct product arr[])

{

int x = 0;

printf("Zero Quantity Product:");

for(int i=0;i<totalItems;i++)

if(arr[i].qunatity == 0)

{

printf("Id=>%s\tName=>%s\tQuantity=>%d\tNumSold=>%.2f\tPrice=>%d\tSales=>%.2f", &arr[i].id, &arr[i].name, &arr[i].quantity, &arr[i].numSold, &arr[i].price, &arr[i].sales);

x = 1;

}

if(x == 0)

printf("No product with zero quantity.");

}

void displayHighestSaleProduct(struct product arr[])

{

float max = 0.0f;

int index = 0;

for(int i=0;i<totalItems;i++)

if(arr[i].sales > max)

{

max = arr[i].sales;

index = i;

}

printf("Highest saling product:");

printf("Id=>%s\tName=>%s\tQuantity=>%d\tNumSold=>%.2f\tPrice=>%d\tSales=>%.2f", &arr[index].id, &arr[index].name, &arr[index].quantity, &arr[index].numSold, &arr[index].price, &arr[index].sales);

}

void display(struct product arr[])

{

for(int i=0;i<totalItems;i++)

{

printf("Id=>%s\tName=>%s\tQuantity=>%d\tNumSold=>%.2f\tPrice=>%d\tSales=>%.2f", &arr[i].id, &arr[i].name, &arr[i].quantity, &arr[i].numSold, &arr[i].price, &arr[i].sales);

printf("\n");

}

}

void editProduct(struct product arr[], int incrementKey, char productId[])

{

int index = 0;

while(strcmp(arr[index].id, productId) != 0) //getting the index of product same as productId

index++;

arr[index].quantity += incrementKey ;

}

void addProduct(struct product arr[], struct product p)

{

int index = 0;

while(index < totalItems)

index++;

arr[index] = p;

totalItems++;

}

void deleteProduct(struct product arr[], char[] productId)

{

int index = 0;

while(strcmp(arr[index].id, productId) != 0) //getting the index of product same as productId

index++;

for(int i = index;i<totalItems-1;i++)

arr[i] = arr[i+1] ;

totalItems--;

}

void processintChoice(int x, struct product arr)

{

switch(x)

{

case 1:

{

char id[10];

char name[50];

int quantity;

float price;

printf("\nenter the id of product:");

scanf("%s", &id);

printf("\nenter the name of product:");

scanf("%s", &name);

printf("\nenter the quantity of product:");

scanf("%d", &quantity);

printf("\nenter the price of product:");

scanf("%.2f", &price );

struct product p;

p.id = id;

p.name = name;

p.quantity = quantity;

p.price = price;

p.numSold = 0;

p.sales = 0.0f;

addProduct(arr, p);

}

case 2:

{

char str[10];

int num;

printf("enter the product id");

scanf("\n%s", &str);

printf("enter the number by which you want to increase product items.")

scanf("\n%d", &num);

editProduct(arr, num ,str);

}

case 3:

{

char p[10];

printf("enter the product id to delete product:");

scanf("\n%s", &p);

deleteProduct(arr, p);

}

case 4:

{

display(arr);

}

case 5:

{

char p[10];

int num;

printf("enter the product od to purchse:");

scanf("\n%s", &p);

printf("enter the number of items u want to purchse:");

scanf("\n%d", &num);

saleProduct(arr, p, num);

}

case 6:

{

displayHighestSaleProduct(arr);

}

case 7:

{

displayProductWithZeroQuantity(arr);

}

case 8:

{

exit(0);

}

}

}

int main()

{

struct product arr[MAX_SIZE];

char pass[10];

printf("please enter the password:")

scanf("\n%s", &pass);

if(strcmp(pass, password) == 0)

{

label:

printf("\nplease select the proper option from the below menu:");

printf("\n1.) Input new product record");

printf("\n2.) Edit a product");

printf("\n3.) delete a product");

printf("\n4.) display all existing products");

printf("\n5.) make a purchase");

printf("\n6.) display the product detail with highest sale");

printf("\n7.) display a product with zero quantity");

printf("\n8.) exit the program");

int choice;

printf("\nChoice - >");

scanf("%d", &choice);

if(choice < 1 && choice > 8 )

{

printf("Invalid Choice! please choose again");

goto label;

}

else

processChoice(choice, arr);

}

else return(0);

}

You might be interested in
Imagine the user types in a complete sentence, but we want to read only the first word and place it in the String variable word.
Vladimir [108]

Answer:

import java.util.Scanner;

public class FirstWord {

   public static void main(String[] args) {

       //NOW YOU WANT TO COLLECT INPUTS FROM THE STUDENT OR USER

       //IMPORT THE SCANNER CLASS FIRST  outside your class

       // THEN YOU CREATE AN OBJECT OF THE SCANNER CLASS

       Scanner input = new Scanner(System.in);

       

       //CREATE A VARIABLE TO HOLD THE USER INPUT

       String text = input.nextLine();

       

       //The variable holder will be used to store characters from the for loop

       String holder="";

       

       //Create a for loop that loops through the user's input

       for(int i=0; i<text.length(); i++){

           //As the loop increases, we get the character in the user's input and store them one by one in the variable holder

           holder+=text.charAt(i);

           if(text.charAt(i)==' '){

               //If the loop encounters a space, it means a complete word has been gotten from the user's input

               //Then the break below Breaks the loop, and the loop stops running

               break;

           }

       }

       System.out.println(holder);

}

Explanation:

text.length() returns the length of the sequence of characters present in length

text.charAt(a number) Returns the char value at the specified index. An index ranges from 0 to length() - 1. The first char value of the sequence is at index 0, the next at index 1, and so on, as for array indexing.

Create a for loop

How does a for loop work?

It collects a starting point, an end point and an increment respectively....all these are passed in as arguments into the for loop

For example, the code above starts from 0, calculates the number of characters in the user's input and sets it as the end point, the loop runs from zero to the length of the text of the user...

Note: i++ in the loop is the increment, it means the loop increases by 1

8 0
3 years ago
(Giving away points!)
Komok [63]

Answer:

Used to lol not anymore tho :p

8 0
2 years ago
What considerations should you make when deciding on the size of a table?
Kisachek [45]

Answer:

You should consider the number of cells needed for data, labels, titles, and formulas.

Explanation:

4 0
2 years ago
Inheritance enables an object, called a _____, to derive one or more of its attributes from a parent.
jarptica [38.1K]

Answer:

The answer is C.) child

I hope this helps! ^-^

6 0
2 years ago
This is due in like an hour but I'm confused so please do lend assistance
blagie [28]
Yes you do have to program it first.
4 0
3 years ago
Other questions:
  • A ________ -tier design includes a middle layer between the client and server that processes the client requests and translates
    11·1 answer
  • Is backing up computer files done on the hard drive?
    5·1 answer
  • What is the slogan of the sociological school of criticism ?​
    9·1 answer
  • Please find one organization that has recently adopted virtualization and summarize their reasons for taking this approach. What
    12·1 answer
  • Use the Law of Sines to solve the triangle. Round your answers to two decimal places.
    6·1 answer
  • A database, a database management system, and the application programs that use the data, make up a database environment.
    15·1 answer
  • 5.8.1: Modify an array parameter. Write a function SwapArrayEnds() that swaps the first and last elements of the function's arra
    14·1 answer
  • Implementing an interface means that you are adding to your class any mechanisms defined in an abstract class. Your class essent
    12·1 answer
  • Political parties to address the interest of civil society<br>​
    7·1 answer
  • quizlet ann is a security professional for a midsize business and typically handles log analysis and security monitoring tasks f
    6·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!