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