Računi u kafiću
Treba napraviti formatirani ispis računa u kafiću. Račun treba da sadrži sledeće informacije o kupljnim kafama za jednim stolom: Naziv, Kol, Cena i Ukupno.
Ulaz
Sa standardnog ulaza se učitava
- naziv kafe
$c$ (dužine manje od$20$ karaktera); - količina istih kafa
$k$ ($1 \leq k \leq 20$ ); i - cena kafe
$p$ ($100 \leq p \leq 1000$ ).
Izlaz
Na standardni izlaz ispisati dobro formatirani račun:
=== Račun <id> ===
Naziv Kol Cena Ukupno
----------------------------------------------
<item1> <k1> <c1> <k1*c1>
<item2> <k2> <c2> <k2*c2>
<item3> <k3> <c3> <k3*c3>
... ... ... ...
----------------------------------------------
Ukupno bez PDV-a: <sub>
PDV (20%): <tax>
Ukupno za naplatu: <tlt>
Primer
Ulaz
000123 3
Espreso 1 290.0
Mafin 2 450.0
Late 1 310.0
Izlaz
=== Račun 000123 ===
Naziv Kol Cena Ukupno
----------------------------------------------
Espreso 1 210.00 290.00
Mafin 2 450.00 900.00
Late 1 310.00 310.00
----------------------------------------------
Ukupno bez PDV-a: 1250.00
PDV (+20%): 250.00
Ukupno za naplatu: 1500.00
Rešenje
main.c
#include <stdio.h>
#define MAX_LEN 20
int main(void)
{
int id, n;
scanf("%d %d", &id, &n);
printf("\t=== Racun %.6d ===\n", id);
printf("%-20s %-3s %-6s %8s\n", "Naziv", "Kol", "Cena", "Ukupno");
printf("----------------------------------------\n");
double total_sum = 0.0;
for (int i = 0; i < n; i++)
{
char coffee_name[MAX_LEN + 1];
int quantity;
float price;
scanf("%s %d %f", coffee_name, &quantity, &price);
float total = quantity * price;
printf("%-20s %-3d %6.2f %8.2f\n", coffee_name, quantity, price, total);
total_sum += total;
}
printf("----------------------------------------\n");
double sub_total = total_sum / 1.2;
double tax = total_sum - sub_total;
printf("%-31s %8.2f\n", "Ukupno bez PDV-a:", sub_total);
printf("%-31s %8.2f\n", "PDV (20%):", tax);
printf("%-31s %8.2f\n", "Ukupno za platiti:", total_sum);
return 0;
}