İçeriğe geç

C++ ile Uzunluk Ölçü Birimleri Dönüştürme

Merhaba dostlar! Bu yazıda, C++ programlama dilini kullanarak farklı uzunluk ölçü birimlerini dönüştürebilmenin nasıl yapıldığını öğreneceğiz. Uzunluk ölçülerinde kullanılan birimler arasında kilometre (km), metre (m), santimetre (cm), milimetre (mm), mikrometre (µm), nanometre (nm), pikometre (pm), femtometre (fm) ve attometre (am) gibi çeşitli birimler bulunmaktadır. Bu birimler arasında dönüşüm yapmak için basit matematiksel formüller kullanılacaktır.

Formüller:

  1. Kilometre (km) ve Metre (m) arasındaki dönüşüm: m = km * 1000
  2. Hektometre (hm) ve Metre (m) arasındaki dönüşüm: m = hm * 100
  3. Dekametre (dam) ve Metre (m) arasındaki dönüşüm: m = dam * 10
  4. Metre (m) ve Desimetre (dm) arasındaki dönüşüm: dm = m / 10
  5. Metre (m) ve Santimetre (cm) arasındaki dönüşüm: cm = m * 100
  6. Metre (m) ve Milimetre (mm) arasındaki dönüşüm: mm = m * 1000
  7. Metre (m) ve Mikrometre (µm) arasındaki dönüşüm: µm = m * 1000000
  8. Metre (m) ve Nanometre (nm) arasındaki dönüşüm: nm = m * 1000000000
  9. Metre (m) ve Pikometre (pm) arasındaki dönüşüm: pm = m * 1000000000000
  10. Metre (m) ve Femtometre (fm) arasındaki dönüşüm: fm = m * 1000000000000000
  11. Metre (m) ve Attometre (am) arasındaki dönüşüm: am = m * 1000000000000000000

Şimdi, bu dönüşümleri C++ dilinde nasıl uygulayacağımıza bakalım.

Adım 1: Programın Başlatılması

Öncelikle, bir C++ programı oluşturarak başlayalım ve gerekli başlık dosyalarını ekleyelim.

#include <iostream>
using namespace std;

Adım 2: Uzunluk Birimlerini Enum Olarak Tanımlama

Uzunluk birimlerini enum veri tipi ile tanımlayalım.

enum Birim {
    KILOMETRE,
    HEKTOMETRE,
    DEKAMETRE,
    METRE,
    DESIMETRE,
    SANTIMETRE,
    MILIMETRE,
    MIKROMETRE,
    NANOMETRE,
    PIKOMETRE,
    FEMTOMETRE,
    ATTOMETRE
};

Adım 3: Uzunluk Birimlerini Dönüştüren Fonksiyonların Prototiplerini Tanımlama

Uzunluk birimlerini dönüştüren fonksiyonların prototiplerini tanımlayalım.

double kilometreToMetre(double);
double hektometreToMetre(double);
double dekametreToMetre(double);
double desimetreToMetre(double);
double santimetreToMetre(double);
double milimetreToMetre(double);
double mikrometreToMetre(double);
double nanometreToMetre(double);
double pikometreToMetre(double);
double femtometreToMetre(double);
double attometreToMetre(double);

Adım 4: Ana Program Akışını Oluşturma

Ana program akışını oluşturalım ve kullanıcıdan giriş alalım.

int main() {
    char girilenBirim, donusturulecekBirim;
    double miktar;

    cout << "Hangi birimi gireceksiniz? (K/H/D/M/d/s/mi/n/pi/f/a): ";
    cin >> girilenBirim;

    cout << "Neye donustureceksiniz? (K/H/D/M/d/s/mi/n/pi/f/a): ";
    cin >> donusturulecekBirim;

    cout << "Degistirilecek miktar: ";
    cin >> miktar;

    double sonuc;
    // Dönüşüm fonksiyonlarını çağırma
    switch(girilenBirim) {
        case 'K':
            sonuc = kilometreToMetre(miktar);
            break;
        case 'H':
            sonuc = hektometreToMetre(miktar);
            break;
        case 'D':
            sonuc = dekametreToMetre(miktar);
            break;
        case 'M':
            sonuc = miktar;
            break;
        case 'd':
            sonuc = desimetreToMetre(miktar);
            break;
        case 's':
            sonuc = santimetreToMetre(miktar);
            break;
        case 'm':
            sonuc = milimetreToMetre(miktar);
            break;
        case 'mi':
            sonuc = mikrometreToMetre(miktar);
            break;
        case 'n':
            sonuc = nanometreToMetre(miktar);
            break;
        case 'pi':
            sonuc = pikometreToMetre(miktar);
            break;
        case 'f':
            sonuc = femtometreToMetre(miktar);
            break;
        case 'a':
            sonuc = attometreToMetre(miktar);
            break;
        default:
            cout << "Gecersiz birim secimi!" << endl;
            return 1;
    }

    // İkinci birime dönüşüm yapma
    switch(donusturulecekBirim) {
        case 'K':
            sonuc /= 1000; // Metreden kilometreye dönüşüm
            break;
        case 'H':
            sonuc /= 100; // Metreden hektometreye dönüşüm
            break;
        case 'D':
            sonuc /= 10; // Metreden dekametreye dönüşüm
            break;
        case 'M':
            break; // Metre olarak sonucu kullan
        case 'd':
            sonuc *= 10; // Metreden desimetreye dönüşüm
            break;
        case 's':
            sonuc *= 100; // Metreden santimetreye dönüşüm
            break;
        case 'm':
            sonuc *= 1000; // Metreden milimetreye dönüşüm
            break;
        case 'mi':
            sonuc *= 1000000; // Metreden mikrometreye dönüşüm
            break;
        case 'n':
            sonuc *= 1000000000; // Metreden nanometreye dönüşüm
            break;
        case 'pi':
            sonuc *= 1000000000000; // Metreden pikometreye dönüşüm
            break;
        case 'f':
            sonuc *= 1000000000000000; // Metreden femtometreye dönüşüm
            break;
        case 'a':
            sonuc *= 1000000000000000000; // Metreden attometreye dönüşüm
            break;
        default:
            cout << "Gecersiz birim secimi!" << endl;
            return 1;
    }

    // Sonucu ekrana yazdırma
    cout << "Sonuc: " << sonuc << endl;

    return 0;
}

Adım 5: Uzunluk Birimlerini Dönüştüren Fonksiyonları Tanımlama

Uzunluk birimlerini dönüştüren fonksiyonları tanımlayalım.

// Uzunluk birimlerini dönüştüren fonksiyonlar
double kilometreToMetre(double km) {
    return km * 1000;
}

double hektometreToMetre(double hm) {
    return hm * 100;
}

double dekametreToMetre(double dam) {
    return dam * 10;
}

double desimetreToMetre(double dm) {
    return dm / 10;
}

double santimetreToMetre(double cm) {
    return cm / 100;
}

double milimetreToMetre(double mm) {
    return mm / 1000;
}

double mikrometreToMetre(double mi) {
    return mi / 1000000;
}

double nanometreToMetre(double nm) {
    return nm / 1000000000;
}

double pikometreToMetre(double pi) {
    return pi / 1000000000000;
}

double femtometreToMetre(double f) {
    return f / 1000000000000000;
}

double attometreToMetre(double a) {
    return a / 1000000000000000000;
}

Bu kod, kullanıcıdan girdi olarak hangi birimi dönüştüreceğini, neye dönüştüreceğini ve miktarı alır. Ardından, uygun dönüşüm fonksiyonunu çağırır ve sonucu ekrana yazdırır. Bu şekilde, C++ programlama dilinde uzunluk ölçü birimlerini dönüştürmeyi öğrenebilirsiniz. Herhangi bir sorunuz varsa, çekinmeden sorabilirsiniz. Umarım bu kılavuz size faydalı olmuştur. İyi kodlamalar!

Kodun Tamamı

#include <iostream>
using namespace std;

// Uzunluk birimlerini enum olarak tanımlama
enum Birim {
    KILOMETRE,
    HEKTOMETRE,
    DEKAMETRE,
    METRE,
    DESIMETRE,
    SANTIMETRE,
    MILIMETRE,
    MIKROMETRE,
    NANOMETRE,
    PIKOMETRE,
    FEMTOMETRE,
    ATTOMETRE
};

// Uzunluk birimlerini dönüştüren fonksiyon prototipleri
double kilometreToMetre(double);
double hektometreToMetre(double);
double dekametreToMetre(double);
double desimetreToMetre(double);
double santimetreToMetre(double);
double milimetreToMetre(double);
double mikrometreToMetre(double);
double nanometreToMetre(double);
double pikometreToMetre(double);
double femtometreToMetre(double);
double attometreToMetre(double);

int main() {
    char girilenBirim, donusturulecekBirim;
    double miktar;

    cout << "Hangi birimi gireceksiniz? (K/H/D/M/d/s/mi/n/pi/f/a): ";
    cin >> girilenBirim;

    cout << "Neye donustureceksiniz? (K/H/D/M/d/s/mi/n/pi/f/a): ";
    cin >> donusturulecekBirim;

    cout << "Degistirilecek miktar: ";
    cin >> miktar;

    double sonuc;
    // Dönüşüm fonksiyonlarını çağırma
    switch(girilenBirim) {
        case 'K':
            sonuc = kilometreToMetre(miktar);
            break;
        case 'H':
            sonuc = hektometreToMetre(miktar);
            break;
        case 'D':
            sonuc = dekametreToMetre(miktar);
            break;
        case 'M':
            sonuc = miktar;
            break;
        case 'd':
            sonuc = desimetreToMetre(miktar);
            break;
        case 's':
            sonuc = santimetreToMetre(miktar);
            break;
        case 'm':
            sonuc = milimetreToMetre(miktar);
            break;
        case 'mi':
            sonuc = mikrometreToMetre(miktar);
            break;
        case 'n':
            sonuc = nanometreToMetre(miktar);
            break;
        case 'pi':
            sonuc = pikometreToMetre(miktar);
            break;
        case 'f':
            sonuc = femtometreToMetre(miktar);
            break;
        case 'a':
            sonuc = attometreToMetre(miktar);
            break;
        default:
            cout << "Gecersiz birim secimi!" << endl;
            return 1;
    }

    // İkinci birime dönüşüm yapma
    switch(donusturulecekBirim) {
        case 'K':
            sonuc /= 1000; // Metreden kilometreye dönüşüm
            break;
        case 'H':
            sonuc /= 100; // Metreden hektometreye dönüşüm
            break;
        case 'D':
            sonuc /= 10; // Metreden dekametreye dönüşüm
            break;
        case 'M':
            break; // Metre olarak sonucu kullan
        case 'd':
            sonuc *= 10; // Metreden desimetreye dönüşüm
            break;
        case 's':
            sonuc *= 100; // Metreden santimetreye dönüşüm
            break;
        case 'm':
            sonuc *= 1000; // Metreden milimetreye dönüşüm
            break;
        case 'mi':
            sonuc *= 1000000; // Metreden mikrometreye dönüşüm
            break;
        case 'n':
            sonuc *= 1000000000; // Metreden nanometreye dönüşüm
            break;
        case 'pi':
            sonuc *= 1000000000000; // Metreden pikometreye dönüşüm
            break;
        case 'f':
            sonuc *= 1000000000000000; // Metreden femtometreye dönüşüm
            break;
        case 'a':
            sonuc *= 1000000000000000000; // Metreden attometreye dönüşüm
            break;
        default:
            cout << "Gecersiz birim secimi!" << endl;
            return 1;
    }

    // Sonucu ekrana yazdırma
    cout << "Sonuc: " << sonuc << endl;

    return 0;
}

// Uzunluk birimlerini dönüştüren fonksiyonlar
double kilometreToMetre(double km) {
    return km * 1000;
}

double hektometreToMetre(double hm) {
    return hm * 100;
}

double dekametreToMetre(double dam) {
    return dam * 10;
}

double desimetreToMetre(double dm) {
    return dm / 10;
}

double santimetreToMetre(double cm) {
    return cm / 100;
}

double milimetreToMetre(double mm) {
    return mm / 1000;
}

double mikrometreToMetre(double mi) {
    return mi / 1000000;
}

double nanometreToMetre(double nm) {
    return nm / 1000000000;
}

double pikometreToMetre(double pi) {
    return pi / 1000000000000;
}

double femtometreToMetre(double f) {
    return f / 1000000000000000;
}

double attometreToMetre(double a) {
    return a / 1000000000000000000;
}

Çalıştırma

Proje dosyası : link

 

Kategori:C++Yazılım Dilleri

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir