Toplam hesaplama
- C kursu
- Başlangıç
- Ders 50/116
- 6 dk
Subtotal ve vergi dahil toplamı hesaplamayı öğrenirsin.
cart_subtotal fonksiyonu
Bu derste cart_subtotal fonksiyonunu yazacağız. Bu fonksiyon sepetteki tüm öğelerin fiyat × miktar çarpımını toplar ve double olarak döndürür.
double cart_subtotal(void) {
double sum = 0;
for (int i = 0; i < cart_size; i++) {
sum += cart[i].price * cart[i].qty;
}
return sum;
}Burada for ile sepette dolaşır, her öğenin ara toplamını sum'a ekleriz. Vergi ve genel toplam sonra bu ara toplamdan hesaplanır.
Vergi ve genel toplam
Ara toplamı bulduktan sonra vergi ve genel toplamı hesaplamak kolaydır. Vergiyi bir oran (örn. 0.18) ile çarp, genel toplamı topla.
double sub = cart_subtotal();
double tax = sub * 0.18;
double total = sub + tax;
printf("Ara toplam: %.2f\n", sub);
printf("Vergi: %.2f\n", tax);
printf("Genel: %.2f\n", total);%.2f iki ondalık basamak gösterir; para birimleri için uygundur. Sepetimizde Elma 2.50 × 3 = 7.50 ve Ekmek 5.00 × 1 = 5.00; ara toplam 12.50, vergi 2.25, genel 14.75 olur.
Uygulama Toplamları yazdır
cart_subtotal fonksiyonunu yaz: double cart_subtotal(void). İçinde double sum = 0; tanımla, for (int i = 0; i < cart_size; i++) ile sum += cart[i].price * cart[i].qty; ekle ve return sum;. main zaten çağrıyı yapıyor; sen yalnızca fonksiyonu tamamla. Beklenen çıktı: Ara toplam: 12.50 / Vergi: 2.25 / Genel: 14.75.
Başlangıç kodu
#include <stdio.h>
#include <string.h>
#define MAX_ITEMS 10
struct CartItem {
char name[32];
double price;
int qty;
};
struct CartItem cart[MAX_ITEMS];
int cart_size = 0;
void cart_add(const char *name, double price, int qty) {
if (cart_size >= MAX_ITEMS) return;
strcpy(cart[cart_size].name, name);
cart[cart_size].price = price;
cart[cart_size].qty = qty;
cart_size++;
}
// cart_subtotal fonksiyonunu buraya yaz
int main(void) {
cart_add("Elma", 2.50, 3);
cart_add("Ekmek", 5.00, 1);
double sub = cart_subtotal();
double tax = sub * 0.18;
double total = sub + tax;
printf("Ara toplam: %.2f\n", sub);
printf("Vergi: %.2f\n", tax);
printf("Genel: %.2f\n", total);
return 0;
}Örnek çözüm
#include <stdio.h>
#include <string.h>
#define MAX_ITEMS 10
struct CartItem {
char name[32];
double price;
int qty;
};
struct CartItem cart[MAX_ITEMS];
int cart_size = 0;
void cart_add(const char *name, double price, int qty) {
if (cart_size >= MAX_ITEMS) return;
strcpy(cart[cart_size].name, name);
cart[cart_size].price = price;
cart[cart_size].qty = qty;
cart_size++;
}
double cart_subtotal(void) {
double sum = 0;
for (int i = 0; i < cart_size; i++) {
sum += cart[i].price * cart[i].qty;
}
return sum;
}
int main(void) {
cart_add("Elma", 2.50, 3);
cart_add("Ekmek", 5.00, 1);
double sub = cart_subtotal();
double tax = sub * 0.18;
double total = sub + tax;
printf("Ara toplam: %.2f\n", sub);
printf("Vergi: %.2f\n", tax);
printf("Genel: %.2f\n", total);
return 0;
}Beklenen çıktı
Ara toplam: 12.50 Vergi: 2.25 Genel: 14.75
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 cart_subtotal ne döndürür?
double cart_subtotal(void) {
...
return sum;
}- Vergi miktarı
- Sepet öğe sayısı
- Tüm öğelerin ara toplamı Doğru cevap
- En pahalı öğe
Açıklama: cart_subtotal ara toplamı döndürür.
2 Vergiyi hesapla
double sub = cart_subtotal();
double tax = sub ____ 0.18;
double sub = cart_subtotal();
double tax = sub * 0.18;
Açıklama: Vergi = ara toplam × 0.18.
3 Toplam parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
cart_subtotal |
Ara toplam |
tax = sub * 0.18 |
Vergi |
total = sub + tax |
Genel |
%.2f |
İki ondalık |