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:
- Kilometre (km) ve Metre (m) arasındaki dönüşüm:
m = km * 1000
- Hektometre (hm) ve Metre (m) arasındaki dönüşüm:
m = hm * 100
- Dekametre (dam) ve Metre (m) arasındaki dönüşüm:
m = dam * 10
- Metre (m) ve Desimetre (dm) arasındaki dönüşüm:
dm = m / 10
- Metre (m) ve Santimetre (cm) arasındaki dönüşüm:
cm = m * 100
- Metre (m) ve Milimetre (mm) arasındaki dönüşüm:
mm = m * 1000
- Metre (m) ve Mikrometre (µm) arasındaki dönüşüm:
µm = m * 1000000
- Metre (m) ve Nanometre (nm) arasındaki dönüşüm:
nm = m * 1000000000
- Metre (m) ve Pikometre (pm) arasındaki dönüşüm:
pm = m * 1000000000000
- Metre (m) ve Femtometre (fm) arasındaki dönüşüm:
fm = m * 1000000000000000
- 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; }
İlk Yorumu Siz Yapın