Develop a program that computes the new price of an item.
The program should receive a
character variable colour and a double precision
floating-point variable price from the
user. Discount rate is determined based on the colour of the
discount sticker, as shown in the
following table. An error message should be printed if an
invalid colour has been entered
Answer Posted / tw
I'm still learning, but I made this. The color input isn't
validated for random strings characters (will get a seg
fault). Still need to add the calculations
#include <stdio.h>
#include <string.h>
#include <ctype.h>
void colors() {
int ctr = 0;
double price;
char color[20], tmp[20];
char colorMenu[9][20] = {" ", "WHITE", "BLACK", "RED",
"GREEN", "BLUE", "ORANGE", "YELLOW", "PURPLE"};
int discount[9]= { 0, 15, 20, 25, 30, 35, 40, 45, 50 };
do {
printf("\n\nEnter the discount sticker color -> ");
fgets(tmp, 20, stdin);
sscanf(tmp, "%s", &color);
} while (isalpha(color[1]) == 0);
do {
printf("\n\nEnter the price -> ");
fgets(tmp, 20, stdin);
} while (sscanf(tmp, "%f", &price) == 0);
for (int x = 0; color[x] != '\0'; x++)
color[x] = toupper(color[x]);
for (ctr = 0; (strcmp(color, colorMenu[ctr]) != 0); ctr++);
printf("\nPICK: %d", ctr);
printf("\nYOU CHOSE: %s, DISCOUNT: %d percent off",
colorMenu[ctr], discount[ctr]);
}
int main() {
colors();
return (0);
}
Is This Answer Correct ? | 0 Yes | 0 No |
Post New Answer View All Answers
What would the following code segment printint k = 8;docout << "k = " << k << " ";while k++ < 5; a) 13 b) 5 c) 8 d) pointers
How can I call system when parameters (filenames, etc.) Of the executed command arent known until run time?
What is string length in c?
What are the loops in c?
Tell me is null always defined as 0(zero)?
What are the different types of objects used in c?
What kind of structure is a house?
What is the use of sizeof () in c?
What is the benefit of using #define to declare a constant?
How many levels of indirection in pointers can you have in a single declaration?
What is #include in c?
What does it mean when the linker says that _end is undefined?
What are identifiers in c?
Where define directive used?
What are the preprocessor categories?