Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- #define MAX_ITEMS 100
- #define MAX_NAME_LENGTH 20
- typedef struct {
- char name[MAX_NAME_LENGTH];
- float price;
- int quantity;
- } Item;
- float calculateTotalCost(Item items[], int itemCount) {
- float totalCost = 0;
- int i;
- for (i = 0; i < itemCount; i++) {
- totalCost += items[i].price * items[i].quantity;
- }
- return totalCost;
- }
- int main() {
- Item inventory[MAX_ITEMS] = {
- {"Table", 42.00, 0},
- {"Chair", 13.99, 0},
- {"Cups", 5.98, 0},
- {"Dishes", 21.02, 0}
- };
- int numGuests;
- scanf("%d", &numGuests);
- char input[MAX_NAME_LENGTH];
- int itemCount = 0;
- while (1) {
- scanf("%s", input);
- if (strcmp(input, "PARTY!") == 0) {
- break;
- }
- int i;
- for (i = 0; i < MAX_ITEMS; i++) {
- if (strcmp(input, inventory[i].name) == 0) {
- inventory[i].quantity++;
- break;
- }
- }
- if (i == MAX_ITEMS) {
- strcpy(inventory[itemCount].name, input);
- scanf("%f", &inventory[itemCount].price);
- inventory[itemCount].quantity++;
- itemCount++;
- }
- }
- float totalCost = calculateTotalCost(inventory, itemCount);
- printf("%.2f\n", totalCost);
- int requiredTables = (numGuests + 7) / 8; // Закупени маси
- int requiredChairs = numGuests - (requiredTables * 8); // Закупени столове
- int requiredDishes = (numGuests + 5) / 6; // Закупени комплекти с чинии и прибори
- for (int i = 0; i < itemCount; i++) {
- if (strcmp(inventory[i].name, "Table") == 0) {
- requiredTables -= inventory[i].quantity;
- } else if (strcmp(inventory[i].name, "Chair") == 0) {
- requiredChairs -= inventory[i].quantity;
- } else if (strcmp(inventory[i].name, "Dishes") == 0) {
- requiredDishes -= inventory[i].quantity;
- }
- }
- if (requiredTables > 0) {
- printf("%d Table\n", requiredTables);
- }
- if (requiredChairs > 0) {
- printf("%d Chair\n", requiredChairs);
- }
- if (requiredDishes > 0) {
- printf("%d Dishes\n", requiredDishes);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement