CodeBlanks Logo Icon CodeBlanks

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

main.c
#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

main.c
#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?

main.c
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

Soru
double sub = cart_subtotal();
double tax = sub ____ 0.18;
Cevap
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

Başlangıç bölümündeki tüm dersler